Set Theory – Why is the Kleene Star of a Null Set an Empty String?

elementary-set-theoryformal-languages

The articles and textbooks mention that,

$\emptyset^\star = \{\epsilon\}$

The star operation puts together any number of strings from the
language to get a string in the result. If the language is empty, the
star operation can put together 0 strings, giving only the empty
string.

(Taken from page 65 of the above mentioned textbook.)

Now the logic behind this somewhat escapes me. How come a null set when taken zero times can give you an empty string?

To begin with, a null set has only zero strings. But a set with an empty string
has one string with zero length.

Could somebody please explain this with real life examples?

Best Answer

By definition, the strings in $X^*$ (for any language $X$, whether $X = \emptyset$ or not) are those constructed by taking some finite number (possibly $0$) of strings from $X$ and concatenating them.

If you take $0$ strings and concatenate them, you get $\epsilon$. Note that this has nothing to do with whether $X=\emptyset$ or not. The empty string $\epsilon$ is always in $X^*$ regardless of what $X$ is.

When $X = \emptyset$, there are no other strings in $X^*$, because you cannot take more than $0$ strings from $\emptyset$. So the only string in $\emptyset^*$ is $\epsilon$: thus $\emptyset^* = \{\epsilon\}$.

Now let $X$ be some nonempty language, say $X = \{a\}$. Then $X^* = \{\epsilon, a, aa, aaa, aaaa, \ldots\}$. Notice that $\epsilon$ is still in $X^*$, but now there are other strings because I can concatenate one or more $a$'s together. The $\epsilon$ is what I get by concatenating zero $a$'s.

Related Question