Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Difference between L* and Σ*

Can someone please explain the exact difference between Σ* and L* , where L is a language and Σ is alphabet of the language L ?

Thanks

like image 563
JAN Avatar asked May 10 '26 19:05

JAN


1 Answers

Σ is a set of characters.

L is a set of strings.

It ultimately depends on how L is defined. If L = {w | w in Σ} then all of L's words (strings) are single characters from Σ, and L* ≡ Σ*. However, if L is defined differently (example below) L* ≠ Σ*.

Preliminary note: you may have also seen ε represent empty strings, rather than λ. The symbols are interchangeable.

q.f. http://en.wikipedia.org/wiki/Kleene_star

If V is a set of strings then V* is defined as the smallest superset of
V that contains λ (the empty string) and is closed under the string
concatenation operation.

If V is a set of symbols or characters then V* is the set of all strings
over symbols in V, including the empty string.

...

Example of Kleene star applied to set of strings:
    {"ab", "c"}* = {λ, "ab", "c", "abab", "abc", "cab", "cc", "ababab",
                    "ababc", "abcab", "abcc", "cabab", "cabc", "ccab",
                    "ccc", ...}.

Notice that "aa" and "bb" appear nowhere in the produced strings.

Σ* is less restrictive:

Example of Kleene star applied to set of characters:
    {'a', 'b', 'c'}* = {λ, "a", "b", "c", "aa", "ab", "ac", "ba", "bb",
                       "bc", "ca", "cb", "cc", ...}. 
like image 132
Wayland Smith Avatar answered May 15 '26 03:05

Wayland Smith



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!