I am trying to prove that the product of cardinality of two languages A and B (|A|*|B|) is not always equal to cardinality of concatenated languages A and B (|AB|).
I'm thinking that I can do something like:
The cardinality of {∅}, |{∅}| = 1.
Let A be language with cardinality (# of strings) of 5.
|{∅}|*|A| = 5.
However, |A{∅}| != 5 as concatenating with something that doesn't exist results in still results in ∅. Therefore, |A{∅}|=0.
Is this a correct approach or am I doing something wrong here?
Eric has explained where your reasoning originally went wrong. To see how it can happen that $|AB| \neq |A|\times|B|$, you need to consider the possibility that given a string $x = ab$ with $a \in A$ and $b \in B$ different values of $a$ and $b$ may give the same $x$. E.g., if your alphabet comprises the single letter $\alpha$ and $A = B =\{\alpha, \alpha\alpha\}$, then $|A| = |B| = 2$, but $|AB| = |\{\alpha\alpha, \alpha\alpha\alpha, \alpha\alpha\alpha\alpha\}| = 3$ (and not $4$, because there are two ways of writing $\alpha\alpha\alpha$ as $ab$ with $a \in A$ and $b \in B$).