Lesson 2
Lesson 2
Lecture
#2
Theory Of Automata
1
Kleene Star Closure
2
Examples
If Σ = {x}
Then Σ* = {Λ, x, xx, xxx, xxxx, ….}
If Σ = {0,1}
Then Σ* = {Λ, 0, 1, 00, 01, 10, 11, ….}
If Σ = {aaB, c}
Then Σ* = {Λ, aaB, c, aaBaaB, aaBc,
caaB, cc, ….}
3
Note
4
Task
Q)
1) Let S={ab, bb} and T={ab, bb, bbbb}
Show that S* = T* [Hint S* T* and T*
S*]
2) Let S={ab, bb} and T={ab, bb, bbb}
Show that S* ≠ T* But S* T*
3) Let S={a, bb, bab, abaab} be a set of
strings. Are abbabaabab and
baabbbabbaabb in S*? Does any word
in S* have odd number of b’s?
5
PLUS Operation (+)
Plus Operation is same as Kleene Star
Closure except that it does not generate
Λ (null string), automatically.
Example:
If Σ = {0,1}
Then Σ+ = {0, 1, 00, 01, 10, 11, ….}
If Σ = {aab, c}
Then Σ+ = {aab, c, aabaab, aabc, caab,
cc, ….}
6
Remark
It is to be noted that Kleene Star can also
be operated on any string i.e. a* can be
considered to be all possible strings
defined over {a}, which shows that a*
generates
Λ, a, aa, aaa, …
It may also be noted that a+ can be
considered to be all possible non empty
strings defined over {a}, which shows that
a+ generates
a, aa, aaa, aaaa, …
7
Defining Languages Continued…
Recursive definition of languages
The following three steps are used in
recursive definition
1. Some basic words are specified in the
language.
2. Rules for constructing more words are
defined in the language.
3. No strings except those constructed in
above, are allowed to be in the language.
8
Example
Defining language of INTEGER
Step 1:
1 is in INTEGER.
Step 2:
If x is in INTEGER then x+1 and x-1
are also in INTEGER.
Step 3:
No strings except those constructed in
above, are allowed to be in INTEGER.
9
Example
Defining language of EVEN
Step 1:
2 is in EVEN.
Step 2:
If x is in EVEN then x+2 and x-2 are also
in EVEN.
Step 3:
No strings except those constructed in
above, are allowed to be in EVEN.
10
Example
Defining the language PALINDROME,
defined over Σ = {a,b}
Step 1:
a and b are in PALINDROME
Step 2:
if x is palindrome, then s(x)Rev(s) and xx will
also be palindrome, where s belongs to Σ*
Step 3:
No strings except those constructed in above,
are allowed to be in palindrome
11
Example
Defining the language {anbn },
n=1,2,3,… , of strings defined over
Σ={a,b}
Step 1:
ab is in {anbn}
Step 2:
if x is in {anbn}, then axb is in {anbn}
Step 3:
No strings except those constructed in
above, are allowed to be in {anbn}
12
Example
Defining the language L, of strings
ending in a , defined over Σ={a,b}
Step 1:
a is in L
Step 2:
if x is in L then s(x) is also in L, where s
belongs to Σ*
Step 3:
No strings except those constructed in
above, are allowed to be in L
13
Example
Defining the language L, of strings
beginning and ending in same letters
, defined over Σ={a, b}
Step 1:
a and b are in L
Step 2:
(a)s(a) and (b)s(b) are also in L, where s
belongs to Σ*
Step 3:
No strings except those constructed in
above, are allowed to be in L 14
Example
Defining the language L, of strings
containing aa or bb , defined over
Σ={a, b}
Step 1:
aa and bb are in L
Step 2:
s(aa)s and s(bb)s are also in L, where s
belongs to Σ*
Step 3:
No strings except those constructed in
above, are allowed to be in L 15
Example
Defining the language L, of strings
containing exactly aa, defined over
Σ={a, b}
Step 1:
aa is in L
Step 2:
s(aa)s is also in L, where s belongs to b*
Step 3:
No strings except those constructed in
above, are allowed to be in L
16
Summing Up
Kleene Star Closure, Plus operation,
recursive definition of languages,
INTEGER, EVEN, factorial, PALINDROME,
{anbn}, languages of strings (i) ending in
a, (ii) beginning and ending in same
letters, (iii) containing aa or bb
(iv)containing exactly aa,
17