0% found this document useful (0 votes)
386 views13 pages

Kleene S-Theorem PDF

Kleene's Theorem states that any regular language can be accepted by a finite automaton and the language accepted by a finite automaton is regular. The proof uses structural induction to show that finite automata can recognize basic regular languages and is closed under union, concatenation, and Kleene star operations. Specifically, it constructs finite automata to accept the union, concatenation, and Kleene closure of languages recognized by finite automata under the induction hypothesis. This proves any regular language can be recognized by a finite automaton.

Uploaded by

prime ggs
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
386 views13 pages

Kleene S-Theorem PDF

Kleene's Theorem states that any regular language can be accepted by a finite automaton and the language accepted by a finite automaton is regular. The proof uses structural induction to show that finite automata can recognize basic regular languages and is closed under union, concatenation, and Kleene star operations. Specifically, it constructs finite automata to accept the union, concatenation, and Kleene closure of languages recognized by finite automata under the induction hypothesis. This proves any regular language can be recognized by a finite automaton.

Uploaded by

prime ggs
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

Kleene’s Theorem

Prepared by
Prof. Trupti M. Kodinariya
Department of Computer Engineering
Atmiya Institute of Technology & Science - Rajkot
Gujarat
Statement
• Kleene’s Theorem (part 1)
– Any regular language can be accepted by a finite
automata
• Kleene’s Theorem (part 2)
– The language accepted by finite automata is
regular
Proof of Kleene’s theorem (part 1)
• For any regular language L *, following
three statements are equivalent
1. L can be recognized by an FA
2. L can be recognized by an NFA
3. L can be recognized by an NFA - 

• Hence, it is sufficient to show that every


regular language can be accepted by NFA - 
Proof of Kleene’s theorem (part 1)
• We prove this using structural induction (on
recursive definition of regular language) to
show that every regular language can be
accepted by NFA -  .
Proof of Kleene’s theorem (part 1)
Basic step:
• Show that three basic language , {} and {a}
where a, can be accepted by NFA - 
Proof

NFA-  for three basic language


Proof of Kleene’s theorem (part 1)
Induction Hypothesis
• Suppose that regular language L1 and L2
are recognized by NFA-s M1 and M2
respectively , where for both i=1 and i=2
Mi= <Qi, , qi, Ai, i>
• By renaming state if necessary assume that
Q1Q2 = 
Proof of Kleene’s theorem (part 1)
Statement to be proven in Induction step
• Construct NFA-s Mu, Mc and Mk
recognizing the languages L1L2, L1L2 and
L1* respectively
Induction step:
Construction of Mu=<Qu, , qu, Au, u> which accept
language L1  L2
• Let qu=new initial state
• Qu= Q1Q2 {qu}
• Au=A1 A2
• The transitions of Mu will include all those of M1 and M2 as well as
a - transitions from qu to q1 and q2.
• We define
u(qu, )= {q1, q2}
u(qu, a) =  for every a 
• For each q  Q1Q2 and a  {}
Induction step:
Induction step:
Construction of Mc=<Qc, , qc, Ac, c> which accept
language L1L2
• Let qc=q1
• Qc= Q1Q2
• Ac=A2
• The transitions of Mc will include all those of M1 and M2 as
well as a - transition from each accepting state of M1 to q2.
• For any qA1 and a  {}

• For any q  A1
c(q, a)= 1(q, a) for every a 
c(q, )= 1(q, ) {q2}
Induction step:
Induction step:
Construction of Mk=<Qk, , qk, Ak, k> which
accept language Lk
• Let Qk= Q1 {qk}
• Ak={qk}
• qk = new initial state
• The transitions of Mk will include all those of M1 as well as a
- transition from qk to q1 and each accepting state of M1 to qk.
k(qk, )= {q1}
k(qk, a) = for every a 
• For any q  Q1 and a  {}
k(q, a)= 1(q, a) unless q A1 and a = 
• For any q  A1
k(q, )= 1(q, ) {qk}
Induction step:

You might also like