0% found this document useful (0 votes)
64 views

Theory of Automata and Formal Languages

This document discusses Kleene star closure, plus operations, and recursive definitions of languages. Kleene star closure of an alphabet Σ generates all possible strings over Σ including the null string. Plus operation is similar but does not include the null string. Languages are recursively defined with basic words, rules to generate new words, and specifying that only generated words are included. Several examples of recursively defined languages are given such as INTEGER, EVEN, factorial, and PALINDROME.

Uploaded by

M N Rao
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
64 views

Theory of Automata and Formal Languages

This document discusses Kleene star closure, plus operations, and recursive definitions of languages. Kleene star closure of an alphabet Σ generates all possible strings over Σ including the null string. Plus operation is similar but does not include the null string. Languages are recursively defined with basic words, rules to generate new words, and specifying that only generated words are included. Several examples of recursively defined languages are given such as INTEGER, EVEN, factorial, and PALINDROME.

Uploaded by

M N Rao
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 18

Theory of Automata and Formal

Languages
Lecture 02
Review of Last Lecture
Introduction to the course title, Formal and In-formal
languages, Alphabets, Strings, Null string, Words, Valid
and In-valid alphabets, length of a string, Reverse of a
string, Defining languages, Descriptive definition of
languages, EQUAL, EVEN-EVEN, INTEGER, EVEN, { an
bn}, { an bn an }, factorial, FACTORIAL,
DOUBLEFACTORIAL, SQUARE, DOUBLESQUARE, PRIME,
PALINDROME.
Kleene Star Closure
• Given Σ, then the Kleene Star Closure of the alphabet Σ, denoted
by Σ*, is the collection of all strings defined over Σ, including Λ.
• It is to be noted that Kleene Star Closure can be defined over any
set of strings.
Examples

If Σ = {x} If Σ = {0,1} If Σ = {aaB, c}


* *
• Then Σ = {Λ, • Then Σ = {Λ, • Then Σ* = {Λ,
x, xx, xxx, 0, 1, 00, 01, aaB, c,
xxxx, ….} 10, 11, ….} aaBaaB,
aaBc, caaB,
cc, ….}
Note
Languages generated by
Kleene Star Closure of set
of strings, are infinite
languages. (By infinite
language, it is supposed
that the language contains
infinite many words, each
of finite length).
• Plus Operation is same as Kleene Star Closure
except that it does not generate Λ (null string),
automatically.
Example:
PLUS • If Σ = {0,1}
Operation (+) Then Σ+ = {0, 1, 00, 01, 10, 11, ….}
• If Σ = {aab, c}
Then Σ+ = {aab, c, aabaab, aabc, caab, cc, ….}
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, …
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.
• Defining language of INTEGER
Step 1:
1 is in INTEGER.
Step 2:
If x is in INTEGER then x+1 and x-1
Example are also in INTEGER.
Step 3:
No strings except those
constructed in above, are allowed
to be in INTEGER.
• Defining language of EVEN
Step 1:
2 is in EVEN.
Step 2:
If x is in EVEN then x+2 and x-2
Example are also in EVEN.
Step 3:
No strings except those
constructed in above, are allowed
to be in EVEN.
• Defining the language
factorial
Step 1:
As 0!=1, so 1 is in factorial.
Step 2:
Example n!=n*(n-1)! is in factorial.
Step 3:
No strings except those
constructed in above, are
allowed to be in factorial.
• 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
Example will also be palindrome, where s
belongs to Σ*
Step 3:
No strings except those
constructed in above, are allowed to be
in palindrome
• Defining the language {anbn },
n=1,2,3,… , of strings defined over
Σ={a,b}
Step 1:
ab is in {anbn}
Step 2:
Example 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}
• Defining the language L, of strings
ending in a , defined over Σ={a,b}
Step 1:
a is in L
Step 2:
Example 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
• 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:
Example (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
• Defining the language L, of strings
containing aa or bb , defined over
Σ={a, b}
Step 1:
aa and bb are in L
Step 2:
Example 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
• Defining the language L, of strings
containing exactly aa, defined over
Σ={a, b}
Step 1:
aa is in L
Step 2:
Example 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
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,

Summary

You might also like