I've started reading Lang's Algebra and Bergman's very helpful companion, which also contains some interesting exercises on its own. One of the first exercises proposed by Bergman (I.1.2) is related to semigroups. In the first items, Bergman asks us to prove that, given sets $A$, $B$, and $\{c\}$, pairwise disjoint, and a function $f: A \times A \to B$, it's possible to construct a semigroup $(S_f, \cdot)$ such that the domain is $S = A \cup B \cup \{c\}$ and the product operation is defined as $xy = f(x, y)$ if $x, y \in A$ and $xy = c$ otherwise. Anyway, this is not difficult to show, and in the next item he also asks us to show that, given two functions $f, g$ like in the above, then any isomorphism from $S_f$ to $S_g$ must fix $A$, $B$, and $\{c\}$, so that if $|A| = n$ and $|B|=m$, there are at most $n!m!$ semigroup structures of the above type in each isomorphism class. This is also not terribly difficult. What is making me scratch my head is item (c):
Taking $\mathrm{card}(A)=\mathrm{card}(B)=n$, and using the estimate $n! \leq n^n$, obtain a lower bound on the number of isomorphism classes of semigroups of $2n+1$ elements.
I'm not sure how to proceed. I thought of, given a semigroup $G$, partitioning $G$ into $A, B, \{c\}$ like in the above and then trying to find some kind of correspondence between an isomorphism $f$ from $G$ to $G'$, in the sense that any such isomorphism would extend to an isomorphism of $S_f$ to $S'_f$, but couldn't get very far. Any tips or hints (not complete solutions!) about how to proceed with this?
Since you want a lower bound for the number of isomorphism classes, you don't have to consider a given semigroup; rather, you have to produce a lot of nonisomorphic subgroups. Hint: Choose disjoint sets $A,B$ with $|A|=|B|=m=n$ and choose an element $c\notin A\cup B.$ For each function $f:A\times A\to B$ let $G_f$ be the corresponding semigroup of order $2n+1.$ Now you have a collection of $n^{n^2}$ semigroups, but many of them are isomorphic. Use your upper bound for the size of an isomorphism class to get a lower bound for the number of isomorphism classes.