I'm taking an intro to computability course right now and I'm having some trouble with a couple examples that the professor doesn't seem too clear on.

We're learning about languages and doing some Kleene star examples. For instance, we were asked:

True or false, L+ = L or L+L+ (L+ being positive closure). We determined this was true, because if it's L1 then it equals L, and if its L2 or greater then it can be made from the L+L+ (ie. L2 would be L1L1).

True or false, L*=L* L*. We determined this was true with similar reasoning.

We were also told that any L0 is just the empty string.

Now the one that I'm having trouble with:

0* (empty set) = lambda (empty string).

We were told this is true, and I understand that it would be true for 0 0, but what about 01, 02, 03, ...

If it's only true for one case then the statement can't be true in general. I asked the professor after class and she didn't have any explanation for it. Would appreciate any help wrapping my head around this.

  • $\begingroup$ Welcome to Computer Science! Note that you can use LaTeX here to typeset mathematics in a more readable way. See here for a short introduction. $\endgroup$ – Raphael Sep 15 '17 at 19:46
  • $\begingroup$ Note that $\varepsilon \neq \{\varepsilon\}$ -- different types! $\endgroup$ – Raphael Sep 15 '17 at 19:47