Equivalence of Left Linear, Right Linear and Regular...

52
Equivalence of Left Linear, Right Linear and Regular Languages Dr. Neminath Hubballi Indian Institute of Technology Indore January 29, 2018 Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 1/8

Transcript of Equivalence of Left Linear, Right Linear and Regular...

Equivalence of Left Linear, Right Linear and RegularLanguages

Dr. Neminath Hubballi

Indian Institute of Technology Indore

January 29, 2018

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 1 / 8

Overview

1 Reverse of a Regular Language

2 Left Linear Grammar to Right Linear Grammar

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 2 / 8

Converting L into LR

Theorem

If L is a regular language then LR is also regular

Proof:

Let L be a regular language⇒ ∃ an nfa such that L = L(M)M=(Q,Σ, δ, q0,F ) (M has a single final state)Construct a new machie M

′=(Q

′,Σ

′, δ

′, qf ,F

′) (with q0 ∈ Q)

Q′

= QΣ

′= Σ

F′

= {q0}Add transitions as followsFor every transition δ(qi , t) = qj in M (where t ∈ Σ

⋃λ)

Add a transition δ′(qj , t) = qi

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 3 / 8

Converting L into LR

Theorem

If L is a regular language then LR is also regular

Proof: Let L be a regular language

⇒ ∃ an nfa such that L = L(M)M=(Q,Σ, δ, q0,F ) (M has a single final state)Construct a new machie M

′=(Q

′,Σ

′, δ

′, qf ,F

′) (with q0 ∈ Q)

Q′

= QΣ

′= Σ

F′

= {q0}Add transitions as followsFor every transition δ(qi , t) = qj in M (where t ∈ Σ

⋃λ)

Add a transition δ′(qj , t) = qi

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 3 / 8

Converting L into LR

Theorem

If L is a regular language then LR is also regular

Proof: Let L be a regular language⇒ ∃ an nfa such that L = L(M)

M=(Q,Σ, δ, q0,F ) (M has a single final state)Construct a new machie M

′=(Q

′,Σ

′, δ

′, qf ,F

′) (with q0 ∈ Q)

Q′

= QΣ

′= Σ

F′

= {q0}Add transitions as followsFor every transition δ(qi , t) = qj in M (where t ∈ Σ

⋃λ)

Add a transition δ′(qj , t) = qi

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 3 / 8

Converting L into LR

Theorem

If L is a regular language then LR is also regular

Proof: Let L be a regular language⇒ ∃ an nfa such that L = L(M)M=(Q,Σ, δ, q0,F ) (M has a single final state)

Construct a new machie M′

=(Q′,Σ

′, δ

′, qf ,F

′) (with q0 ∈ Q)

Q′

= QΣ

′= Σ

F′

= {q0}Add transitions as followsFor every transition δ(qi , t) = qj in M (where t ∈ Σ

⋃λ)

Add a transition δ′(qj , t) = qi

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 3 / 8

Converting L into LR

Theorem

If L is a regular language then LR is also regular

Proof: Let L be a regular language⇒ ∃ an nfa such that L = L(M)M=(Q,Σ, δ, q0,F ) (M has a single final state)Construct a new machie M

′=(Q

′,Σ

′, δ

′, qf ,F

′) (with q0 ∈ Q)

Q′

= QΣ

′= Σ

F′

= {q0}Add transitions as followsFor every transition δ(qi , t) = qj in M (where t ∈ Σ

⋃λ)

Add a transition δ′(qj , t) = qi

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 3 / 8

Converting L into LR

Theorem

If L is a regular language then LR is also regular

Proof: Let L be a regular language⇒ ∃ an nfa such that L = L(M)M=(Q,Σ, δ, q0,F ) (M has a single final state)Construct a new machie M

′=(Q

′,Σ

′, δ

′, qf ,F

′) (with q0 ∈ Q)

Q′

= Q

Σ′

= ΣF

′= {q0}

Add transitions as followsFor every transition δ(qi , t) = qj in M (where t ∈ Σ

⋃λ)

Add a transition δ′(qj , t) = qi

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 3 / 8

Converting L into LR

Theorem

If L is a regular language then LR is also regular

Proof: Let L be a regular language⇒ ∃ an nfa such that L = L(M)M=(Q,Σ, δ, q0,F ) (M has a single final state)Construct a new machie M

′=(Q

′,Σ

′, δ

′, qf ,F

′) (with q0 ∈ Q)

Q′

= QΣ

′= Σ

F′

= {q0}Add transitions as followsFor every transition δ(qi , t) = qj in M (where t ∈ Σ

⋃λ)

Add a transition δ′(qj , t) = qi

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 3 / 8

Converting L into LR

Theorem

If L is a regular language then LR is also regular

Proof: Let L be a regular language⇒ ∃ an nfa such that L = L(M)M=(Q,Σ, δ, q0,F ) (M has a single final state)Construct a new machie M

′=(Q

′,Σ

′, δ

′, qf ,F

′) (with q0 ∈ Q)

Q′

= QΣ

′= Σ

F′

= {q0}

Add transitions as followsFor every transition δ(qi , t) = qj in M (where t ∈ Σ

⋃λ)

Add a transition δ′(qj , t) = qi

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 3 / 8

Converting L into LR

Theorem

If L is a regular language then LR is also regular

Proof: Let L be a regular language⇒ ∃ an nfa such that L = L(M)M=(Q,Σ, δ, q0,F ) (M has a single final state)Construct a new machie M

′=(Q

′,Σ

′, δ

′, qf ,F

′) (with q0 ∈ Q)

Q′

= QΣ

′= Σ

F′

= {q0}Add transitions as follows

For every transition δ(qi , t) = qj in M (where t ∈ Σ⋃λ)

Add a transition δ′(qj , t) = qi

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 3 / 8

Converting L into LR

Theorem

If L is a regular language then LR is also regular

Proof: Let L be a regular language⇒ ∃ an nfa such that L = L(M)M=(Q,Σ, δ, q0,F ) (M has a single final state)Construct a new machie M

′=(Q

′,Σ

′, δ

′, qf ,F

′) (with q0 ∈ Q)

Q′

= QΣ

′= Σ

F′

= {q0}Add transitions as followsFor every transition δ(qi , t) = qj in M (where t ∈ Σ

⋃λ)

Add a transition δ′(qj , t) = qi

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 3 / 8

Converting L into LR

Theorem

If L is a regular language then LR is also regular

Proof: Let L be a regular language⇒ ∃ an nfa such that L = L(M)M=(Q,Σ, δ, q0,F ) (M has a single final state)Construct a new machie M

′=(Q

′,Σ

′, δ

′, qf ,F

′) (with q0 ∈ Q)

Q′

= QΣ

′= Σ

F′

= {q0}Add transitions as followsFor every transition δ(qi , t) = qj in M (where t ∈ Σ

⋃λ)

Add a transition δ′(qj , t) = qi

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 3 / 8

Converting L into LR

Correctness Claim: Let w = t1t2, · · · , tn ∈ L(M)

⇒ δ∗(q0,w) = qf

⇒ δ∗(q0, t1t2, · · · , tn) = qf

⇒ δ∗(δ(q0, t1), t2, · · · , tn) = qf

⇒ δ∗(qa, t2, · · · , tn) = qf

⇒ δ∗(δ(qa, t2), t3, · · · , tn) = qf

. . . ⇒ δ(qx , tn) = qf

wR = tn, tn−1, · · · , t1To show⇒ δ

′∗(qf ,wR) = q0

⇒ δ′∗(qf , tntn−1, · · · , t1) = q0

⇒ δ′∗(δ

′(qf , tn), tn−1, · · · , t1)

⇒ δ′∗(qx , tn−1, · · · , t1) (∵ δ(qx , tn) = qf ∈ M ⇒ δ

′(qf , tn) = qx ∈ M

′)

.... ⇒ δ(qa, t1) = q0 ∈ F′

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 4 / 8

Converting L into LR

Correctness Claim: Let w = t1t2, · · · , tn ∈ L(M)⇒ δ∗(q0,w) = qf

⇒ δ∗(q0, t1t2, · · · , tn) = qf

⇒ δ∗(δ(q0, t1), t2, · · · , tn) = qf

⇒ δ∗(qa, t2, · · · , tn) = qf

⇒ δ∗(δ(qa, t2), t3, · · · , tn) = qf

. . . ⇒ δ(qx , tn) = qf

wR = tn, tn−1, · · · , t1To show⇒ δ

′∗(qf ,wR) = q0

⇒ δ′∗(qf , tntn−1, · · · , t1) = q0

⇒ δ′∗(δ

′(qf , tn), tn−1, · · · , t1)

⇒ δ′∗(qx , tn−1, · · · , t1) (∵ δ(qx , tn) = qf ∈ M ⇒ δ

′(qf , tn) = qx ∈ M

′)

.... ⇒ δ(qa, t1) = q0 ∈ F′

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 4 / 8

Converting L into LR

Correctness Claim: Let w = t1t2, · · · , tn ∈ L(M)⇒ δ∗(q0,w) = qf

⇒ δ∗(q0, t1t2, · · · , tn) = qf

⇒ δ∗(δ(q0, t1), t2, · · · , tn) = qf

⇒ δ∗(qa, t2, · · · , tn) = qf

⇒ δ∗(δ(qa, t2), t3, · · · , tn) = qf

. . . ⇒ δ(qx , tn) = qf

wR = tn, tn−1, · · · , t1To show⇒ δ

′∗(qf ,wR) = q0

⇒ δ′∗(qf , tntn−1, · · · , t1) = q0

⇒ δ′∗(δ

′(qf , tn), tn−1, · · · , t1)

⇒ δ′∗(qx , tn−1, · · · , t1) (∵ δ(qx , tn) = qf ∈ M ⇒ δ

′(qf , tn) = qx ∈ M

′)

.... ⇒ δ(qa, t1) = q0 ∈ F′

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 4 / 8

Converting L into LR

Correctness Claim: Let w = t1t2, · · · , tn ∈ L(M)⇒ δ∗(q0,w) = qf

⇒ δ∗(q0, t1t2, · · · , tn) = qf

⇒ δ∗(δ(q0, t1), t2, · · · , tn) = qf

⇒ δ∗(qa, t2, · · · , tn) = qf

⇒ δ∗(δ(qa, t2), t3, · · · , tn) = qf

. . . ⇒ δ(qx , tn) = qf

wR = tn, tn−1, · · · , t1To show⇒ δ

′∗(qf ,wR) = q0

⇒ δ′∗(qf , tntn−1, · · · , t1) = q0

⇒ δ′∗(δ

′(qf , tn), tn−1, · · · , t1)

⇒ δ′∗(qx , tn−1, · · · , t1) (∵ δ(qx , tn) = qf ∈ M ⇒ δ

′(qf , tn) = qx ∈ M

′)

.... ⇒ δ(qa, t1) = q0 ∈ F′

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 4 / 8

Converting L into LR

Correctness Claim: Let w = t1t2, · · · , tn ∈ L(M)⇒ δ∗(q0,w) = qf

⇒ δ∗(q0, t1t2, · · · , tn) = qf

⇒ δ∗(δ(q0, t1), t2, · · · , tn) = qf

⇒ δ∗(qa, t2, · · · , tn) = qf

⇒ δ∗(δ(qa, t2), t3, · · · , tn) = qf

. . . ⇒ δ(qx , tn) = qf

wR = tn, tn−1, · · · , t1To show⇒ δ

′∗(qf ,wR) = q0

⇒ δ′∗(qf , tntn−1, · · · , t1) = q0

⇒ δ′∗(δ

′(qf , tn), tn−1, · · · , t1)

⇒ δ′∗(qx , tn−1, · · · , t1) (∵ δ(qx , tn) = qf ∈ M ⇒ δ

′(qf , tn) = qx ∈ M

′)

.... ⇒ δ(qa, t1) = q0 ∈ F′

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 4 / 8

Converting L into LR

Correctness Claim: Let w = t1t2, · · · , tn ∈ L(M)⇒ δ∗(q0,w) = qf

⇒ δ∗(q0, t1t2, · · · , tn) = qf

⇒ δ∗(δ(q0, t1), t2, · · · , tn) = qf

⇒ δ∗(qa, t2, · · · , tn) = qf

⇒ δ∗(δ(qa, t2), t3, · · · , tn) = qf

. . . ⇒ δ(qx , tn) = qf

wR = tn, tn−1, · · · , t1To show⇒ δ

′∗(qf ,wR) = q0

⇒ δ′∗(qf , tntn−1, · · · , t1) = q0

⇒ δ′∗(δ

′(qf , tn), tn−1, · · · , t1)

⇒ δ′∗(qx , tn−1, · · · , t1) (∵ δ(qx , tn) = qf ∈ M ⇒ δ

′(qf , tn) = qx ∈ M

′)

.... ⇒ δ(qa, t1) = q0 ∈ F′

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 4 / 8

Converting L into LR

Correctness Claim: Let w = t1t2, · · · , tn ∈ L(M)⇒ δ∗(q0,w) = qf

⇒ δ∗(q0, t1t2, · · · , tn) = qf

⇒ δ∗(δ(q0, t1), t2, · · · , tn) = qf

⇒ δ∗(qa, t2, · · · , tn) = qf

⇒ δ∗(δ(qa, t2), t3, · · · , tn) = qf

. . . ⇒ δ(qx , tn) = qf

wR = tn, tn−1, · · · , t1To show⇒ δ

′∗(qf ,wR) = q0

⇒ δ′∗(qf , tntn−1, · · · , t1) = q0

⇒ δ′∗(δ

′(qf , tn), tn−1, · · · , t1)

⇒ δ′∗(qx , tn−1, · · · , t1) (∵ δ(qx , tn) = qf ∈ M ⇒ δ

′(qf , tn) = qx ∈ M

′)

.... ⇒ δ(qa, t1) = q0 ∈ F′

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 4 / 8

Converting L into LR

Correctness Claim: Let w = t1t2, · · · , tn ∈ L(M)⇒ δ∗(q0,w) = qf

⇒ δ∗(q0, t1t2, · · · , tn) = qf

⇒ δ∗(δ(q0, t1), t2, · · · , tn) = qf

⇒ δ∗(qa, t2, · · · , tn) = qf

⇒ δ∗(δ(qa, t2), t3, · · · , tn) = qf

. . . ⇒ δ(qx , tn) = qf

wR = tn, tn−1, · · · , t1

To show⇒ δ

′∗(qf ,wR) = q0

⇒ δ′∗(qf , tntn−1, · · · , t1) = q0

⇒ δ′∗(δ

′(qf , tn), tn−1, · · · , t1)

⇒ δ′∗(qx , tn−1, · · · , t1) (∵ δ(qx , tn) = qf ∈ M ⇒ δ

′(qf , tn) = qx ∈ M

′)

.... ⇒ δ(qa, t1) = q0 ∈ F′

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 4 / 8

Converting L into LR

Correctness Claim: Let w = t1t2, · · · , tn ∈ L(M)⇒ δ∗(q0,w) = qf

⇒ δ∗(q0, t1t2, · · · , tn) = qf

⇒ δ∗(δ(q0, t1), t2, · · · , tn) = qf

⇒ δ∗(qa, t2, · · · , tn) = qf

⇒ δ∗(δ(qa, t2), t3, · · · , tn) = qf

. . . ⇒ δ(qx , tn) = qf

wR = tn, tn−1, · · · , t1To show⇒ δ

′∗(qf ,wR) = q0

⇒ δ′∗(qf , tntn−1, · · · , t1) = q0

⇒ δ′∗(δ

′(qf , tn), tn−1, · · · , t1)

⇒ δ′∗(qx , tn−1, · · · , t1) (∵ δ(qx , tn) = qf ∈ M ⇒ δ

′(qf , tn) = qx ∈ M

′)

.... ⇒ δ(qa, t1) = q0 ∈ F′

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 4 / 8

Converting L into LR

Correctness Claim: Let w = t1t2, · · · , tn ∈ L(M)⇒ δ∗(q0,w) = qf

⇒ δ∗(q0, t1t2, · · · , tn) = qf

⇒ δ∗(δ(q0, t1), t2, · · · , tn) = qf

⇒ δ∗(qa, t2, · · · , tn) = qf

⇒ δ∗(δ(qa, t2), t3, · · · , tn) = qf

. . . ⇒ δ(qx , tn) = qf

wR = tn, tn−1, · · · , t1To show⇒ δ

′∗(qf ,wR) = q0

⇒ δ′∗(qf , tntn−1, · · · , t1) = q0

⇒ δ′∗(δ

′(qf , tn), tn−1, · · · , t1)

⇒ δ′∗(qx , tn−1, · · · , t1) (∵ δ(qx , tn) = qf ∈ M ⇒ δ

′(qf , tn) = qx ∈ M

′)

.... ⇒ δ(qa, t1) = q0 ∈ F′

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 4 / 8

Converting L into LR

Correctness Claim: Let w = t1t2, · · · , tn ∈ L(M)⇒ δ∗(q0,w) = qf

⇒ δ∗(q0, t1t2, · · · , tn) = qf

⇒ δ∗(δ(q0, t1), t2, · · · , tn) = qf

⇒ δ∗(qa, t2, · · · , tn) = qf

⇒ δ∗(δ(qa, t2), t3, · · · , tn) = qf

. . . ⇒ δ(qx , tn) = qf

wR = tn, tn−1, · · · , t1To show⇒ δ

′∗(qf ,wR) = q0

⇒ δ′∗(qf , tntn−1, · · · , t1) = q0

⇒ δ′∗(δ

′(qf , tn), tn−1, · · · , t1)

⇒ δ′∗(qx , tn−1, · · · , t1) (∵ δ(qx , tn) = qf ∈ M ⇒ δ

′(qf , tn) = qx ∈ M

′)

.... ⇒ δ(qa, t1) = q0 ∈ F′

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 4 / 8

Converting L into LR

Correctness Claim: Let w = t1t2, · · · , tn ∈ L(M)⇒ δ∗(q0,w) = qf

⇒ δ∗(q0, t1t2, · · · , tn) = qf

⇒ δ∗(δ(q0, t1), t2, · · · , tn) = qf

⇒ δ∗(qa, t2, · · · , tn) = qf

⇒ δ∗(δ(qa, t2), t3, · · · , tn) = qf

. . . ⇒ δ(qx , tn) = qf

wR = tn, tn−1, · · · , t1To show⇒ δ

′∗(qf ,wR) = q0

⇒ δ′∗(qf , tntn−1, · · · , t1) = q0

⇒ δ′∗(δ

′(qf , tn), tn−1, · · · , t1)

⇒ δ′∗(qx , tn−1, · · · , t1) (∵ δ(qx , tn) = qf ∈ M ⇒ δ

′(qf , tn) = qx ∈ M

′)

.... ⇒ δ(qa, t1) = q0 ∈ F′

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 4 / 8

Converting L into LR

Correctness Claim: Let w = t1t2, · · · , tn ∈ L(M)⇒ δ∗(q0,w) = qf

⇒ δ∗(q0, t1t2, · · · , tn) = qf

⇒ δ∗(δ(q0, t1), t2, · · · , tn) = qf

⇒ δ∗(qa, t2, · · · , tn) = qf

⇒ δ∗(δ(qa, t2), t3, · · · , tn) = qf

. . . ⇒ δ(qx , tn) = qf

wR = tn, tn−1, · · · , t1To show⇒ δ

′∗(qf ,wR) = q0

⇒ δ′∗(qf , tntn−1, · · · , t1) = q0

⇒ δ′∗(δ

′(qf , tn), tn−1, · · · , t1)

⇒ δ′∗(qx , tn−1, · · · , t1) (∵ δ(qx , tn) = qf ∈ M ⇒ δ

′(qf , tn) = qx ∈ M

′)

.... ⇒ δ(qa, t1) = q0 ∈ F′

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 4 / 8

Converting L into LR

Correctness Claim: Let w = t1t2, · · · , tn ∈ L(M)⇒ δ∗(q0,w) = qf

⇒ δ∗(q0, t1t2, · · · , tn) = qf

⇒ δ∗(δ(q0, t1), t2, · · · , tn) = qf

⇒ δ∗(qa, t2, · · · , tn) = qf

⇒ δ∗(δ(qa, t2), t3, · · · , tn) = qf

. . . ⇒ δ(qx , tn) = qf

wR = tn, tn−1, · · · , t1To show⇒ δ

′∗(qf ,wR) = q0

⇒ δ′∗(qf , tntn−1, · · · , t1) = q0

⇒ δ′∗(δ

′(qf , tn), tn−1, · · · , t1)

⇒ δ′∗(qx , tn−1, · · · , t1) (∵ δ(qx , tn) = qf ∈ M ⇒ δ

′(qf , tn) = qx ∈ M

′)

.... ⇒ δ(qa, t1) = q0 ∈ F′

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 4 / 8

Converting Left Linear Grammar to Right Linear Grammar

Theorem

If L is a regular language, then there exist an equivalent Left LinearGrammar G

′such that L = L(G

′)

Proof: Let L be a regular language⇒ ∃ and nfa M=(Q,Σ, δ, q0,F ) such that L=L(M)Construct a new machine M

′for LR

Generate a Right Linear Grammar G for LR

Generate a Left Linear Grammar G′

by rewriting production rules

1 For every production X− > xY (where x ∈ T ∗)Add a production in G

′X− > YxR

2 For every production X− > x (where x ∈ T ∗)Add a production in G

′X− > xR

Correctness: L=L(M)=L(M′)R=L(G )R=L(G

′)

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 5 / 8

Converting Left Linear Grammar to Right Linear Grammar

Theorem

If L is a regular language, then there exist an equivalent Left LinearGrammar G

′such that L = L(G

′)

Proof: Let L be a regular language

⇒ ∃ and nfa M=(Q,Σ, δ, q0,F ) such that L=L(M)Construct a new machine M

′for LR

Generate a Right Linear Grammar G for LR

Generate a Left Linear Grammar G′

by rewriting production rules

1 For every production X− > xY (where x ∈ T ∗)Add a production in G

′X− > YxR

2 For every production X− > x (where x ∈ T ∗)Add a production in G

′X− > xR

Correctness: L=L(M)=L(M′)R=L(G )R=L(G

′)

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 5 / 8

Converting Left Linear Grammar to Right Linear Grammar

Theorem

If L is a regular language, then there exist an equivalent Left LinearGrammar G

′such that L = L(G

′)

Proof: Let L be a regular language⇒ ∃ and nfa M=(Q,Σ, δ, q0,F ) such that L=L(M)

Construct a new machine M′

for LR

Generate a Right Linear Grammar G for LR

Generate a Left Linear Grammar G′

by rewriting production rules

1 For every production X− > xY (where x ∈ T ∗)Add a production in G

′X− > YxR

2 For every production X− > x (where x ∈ T ∗)Add a production in G

′X− > xR

Correctness: L=L(M)=L(M′)R=L(G )R=L(G

′)

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 5 / 8

Converting Left Linear Grammar to Right Linear Grammar

Theorem

If L is a regular language, then there exist an equivalent Left LinearGrammar G

′such that L = L(G

′)

Proof: Let L be a regular language⇒ ∃ and nfa M=(Q,Σ, δ, q0,F ) such that L=L(M)Construct a new machine M

′for LR

Generate a Right Linear Grammar G for LR

Generate a Left Linear Grammar G′

by rewriting production rules

1 For every production X− > xY (where x ∈ T ∗)Add a production in G

′X− > YxR

2 For every production X− > x (where x ∈ T ∗)Add a production in G

′X− > xR

Correctness: L=L(M)=L(M′)R=L(G )R=L(G

′)

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 5 / 8

Converting Left Linear Grammar to Right Linear Grammar

Theorem

If L is a regular language, then there exist an equivalent Left LinearGrammar G

′such that L = L(G

′)

Proof: Let L be a regular language⇒ ∃ and nfa M=(Q,Σ, δ, q0,F ) such that L=L(M)Construct a new machine M

′for LR

Generate a Right Linear Grammar G for LR

Generate a Left Linear Grammar G′

by rewriting production rules

1 For every production X− > xY (where x ∈ T ∗)Add a production in G

′X− > YxR

2 For every production X− > x (where x ∈ T ∗)Add a production in G

′X− > xR

Correctness: L=L(M)=L(M′)R=L(G )R=L(G

′)

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 5 / 8

Converting Left Linear Grammar to Right Linear Grammar

Theorem

If L is a regular language, then there exist an equivalent Left LinearGrammar G

′such that L = L(G

′)

Proof: Let L be a regular language⇒ ∃ and nfa M=(Q,Σ, δ, q0,F ) such that L=L(M)Construct a new machine M

′for LR

Generate a Right Linear Grammar G for LR

Generate a Left Linear Grammar G′

by rewriting production rules

1 For every production X− > xY (where x ∈ T ∗)Add a production in G

′X− > YxR

2 For every production X− > x (where x ∈ T ∗)Add a production in G

′X− > xR

Correctness: L=L(M)=L(M′)R=L(G )R=L(G

′)

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 5 / 8

Converting Left Linear Grammar to Right Linear Grammar

Theorem

If L is a regular language, then there exist an equivalent Left LinearGrammar G

′such that L = L(G

′)

Proof: Let L be a regular language⇒ ∃ and nfa M=(Q,Σ, δ, q0,F ) such that L=L(M)Construct a new machine M

′for LR

Generate a Right Linear Grammar G for LR

Generate a Left Linear Grammar G′

by rewriting production rules

1 For every production X− > xY (where x ∈ T ∗)

Add a production in G′

X− > YxR

2 For every production X− > x (where x ∈ T ∗)Add a production in G

′X− > xR

Correctness: L=L(M)=L(M′)R=L(G )R=L(G

′)

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 5 / 8

Converting Left Linear Grammar to Right Linear Grammar

Theorem

If L is a regular language, then there exist an equivalent Left LinearGrammar G

′such that L = L(G

′)

Proof: Let L be a regular language⇒ ∃ and nfa M=(Q,Σ, δ, q0,F ) such that L=L(M)Construct a new machine M

′for LR

Generate a Right Linear Grammar G for LR

Generate a Left Linear Grammar G′

by rewriting production rules

1 For every production X− > xY (where x ∈ T ∗)Add a production in G

′X− > YxR

2 For every production X− > x (where x ∈ T ∗)Add a production in G

′X− > xR

Correctness: L=L(M)=L(M′)R=L(G )R=L(G

′)

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 5 / 8

Converting Left Linear Grammar to Right Linear Grammar

Theorem

If L is a regular language, then there exist an equivalent Left LinearGrammar G

′such that L = L(G

′)

Proof: Let L be a regular language⇒ ∃ and nfa M=(Q,Σ, δ, q0,F ) such that L=L(M)Construct a new machine M

′for LR

Generate a Right Linear Grammar G for LR

Generate a Left Linear Grammar G′

by rewriting production rules

1 For every production X− > xY (where x ∈ T ∗)Add a production in G

′X− > YxR

2 For every production X− > x (where x ∈ T ∗)

Add a production in G′

X− > xR

Correctness: L=L(M)=L(M′)R=L(G )R=L(G

′)

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 5 / 8

Converting Left Linear Grammar to Right Linear Grammar

Theorem

If L is a regular language, then there exist an equivalent Left LinearGrammar G

′such that L = L(G

′)

Proof: Let L be a regular language⇒ ∃ and nfa M=(Q,Σ, δ, q0,F ) such that L=L(M)Construct a new machine M

′for LR

Generate a Right Linear Grammar G for LR

Generate a Left Linear Grammar G′

by rewriting production rules

1 For every production X− > xY (where x ∈ T ∗)Add a production in G

′X− > YxR

2 For every production X− > x (where x ∈ T ∗)Add a production in G

′X− > xR

Correctness: L=L(M)=L(M′)R=L(G )R=L(G

′)

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 5 / 8

Converting Left Linear Grammar to Right Linear Grammar

Theorem

If L is a regular language, then there exist an equivalent Left LinearGrammar G

′such that L = L(G

′)

Proof: Let L be a regular language⇒ ∃ and nfa M=(Q,Σ, δ, q0,F ) such that L=L(M)Construct a new machine M

′for LR

Generate a Right Linear Grammar G for LR

Generate a Left Linear Grammar G′

by rewriting production rules

1 For every production X− > xY (where x ∈ T ∗)Add a production in G

′X− > YxR

2 For every production X− > x (where x ∈ T ∗)Add a production in G

′X− > xR

Correctness: L=L(M)=L(M′)R=L(G )R=L(G

′)

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 5 / 8

Converting Left Linear Grammar to Right Linear Grammar

Theorem

If L is a language defined by a Left Linear Grammar G (i.e., L=L(G)),then L is a regular language

Proof: Take it as exercise !

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 6 / 8

Converting Right Linear Grammar to Left Linear Grammar

Theorem

If G is a Right Linear Grammar, then there is a Left Linear Grammar G′′

such that L(G ) = L(G′′

)

Proof: Conversion outline (Not a rigorous proof! )

1 From G, construct M

2 From M construct M′

for LR

3 Generate G′

a Right Linear Grammar for LR

4 Generate G′′

a Left Linear Grammar for LRR

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 7 / 8

Converting Right Linear Grammar to Left Linear Grammar

Theorem

If G is a Right Linear Grammar, then there is a Left Linear Grammar G′′

such that L(G ) = L(G′′

)

Proof: Conversion outline (Not a rigorous proof! )

1 From G, construct M

2 From M construct M′

for LR

3 Generate G′

a Right Linear Grammar for LR

4 Generate G′′

a Left Linear Grammar for LRR

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 7 / 8

Converting Right Linear Grammar to Left Linear Grammar

Theorem

If G is a Right Linear Grammar, then there is a Left Linear Grammar G′′

such that L(G ) = L(G′′

)

Proof: Conversion outline (Not a rigorous proof! )

1 From G, construct M

2 From M construct M′

for LR

3 Generate G′

a Right Linear Grammar for LR

4 Generate G′′

a Left Linear Grammar for LRR

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 7 / 8

Converting Right Linear Grammar to Left Linear Grammar

Theorem

If G is a Right Linear Grammar, then there is a Left Linear Grammar G′′

such that L(G ) = L(G′′

)

Proof: Conversion outline (Not a rigorous proof! )

1 From G, construct M

2 From M construct M′

for LR

3 Generate G′

a Right Linear Grammar for LR

4 Generate G′′

a Left Linear Grammar for LRR

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 7 / 8

Converting Right Linear Grammar to Left Linear Grammar

Theorem

If G is a Right Linear Grammar, then there is a Left Linear Grammar G′′

such that L(G ) = L(G′′

)

Proof: Conversion outline (Not a rigorous proof! )

1 From G, construct M

2 From M construct M′

for LR

3 Generate G′

a Right Linear Grammar for LR

4 Generate G′′

a Left Linear Grammar for LRR

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 7 / 8

Converting Right Linear Grammar to Left Linear Grammar

Theorem

If G is a Right Linear Grammar, then there is a Left Linear Grammar G′′

such that L(G ) = L(G′′

)

Proof: Conversion outline (Not a rigorous proof! )

1 From G, construct M

2 From M construct M′

for LR

3 Generate G′

a Right Linear Grammar for LR

4 Generate G′′

a Left Linear Grammar for LRR

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 7 / 8

Converting Right Linear Grammar to Left Linear Grammar

Theorem

If G is a Left Linear Grammar, then there is a Right Linear Grammar G′′

such that L(G ) = L(G′′

)

Proof: Conversion outline (Not a rigorous proof! )

1 From G, generate G′

for LR

2 From G′

construct M for LR

3 Construct M′

from M for LRR

4 Generate G′′

a Right Linear Grammar for LRR

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 8 / 8

Converting Right Linear Grammar to Left Linear Grammar

Theorem

If G is a Left Linear Grammar, then there is a Right Linear Grammar G′′

such that L(G ) = L(G′′

)

Proof: Conversion outline (Not a rigorous proof! )

1 From G, generate G′

for LR

2 From G′

construct M for LR

3 Construct M′

from M for LRR

4 Generate G′′

a Right Linear Grammar for LRR

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 8 / 8

Converting Right Linear Grammar to Left Linear Grammar

Theorem

If G is a Left Linear Grammar, then there is a Right Linear Grammar G′′

such that L(G ) = L(G′′

)

Proof: Conversion outline (Not a rigorous proof! )

1 From G, generate G′

for LR

2 From G′

construct M for LR

3 Construct M′

from M for LRR

4 Generate G′′

a Right Linear Grammar for LRR

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 8 / 8

Converting Right Linear Grammar to Left Linear Grammar

Theorem

If G is a Left Linear Grammar, then there is a Right Linear Grammar G′′

such that L(G ) = L(G′′

)

Proof: Conversion outline (Not a rigorous proof! )

1 From G, generate G′

for LR

2 From G′

construct M for LR

3 Construct M′

from M for LRR

4 Generate G′′

a Right Linear Grammar for LRR

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 8 / 8

Converting Right Linear Grammar to Left Linear Grammar

Theorem

If G is a Left Linear Grammar, then there is a Right Linear Grammar G′′

such that L(G ) = L(G′′

)

Proof: Conversion outline (Not a rigorous proof! )

1 From G, generate G′

for LR

2 From G′

construct M for LR

3 Construct M′

from M for LRR

4 Generate G′′

a Right Linear Grammar for LRR

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 8 / 8

Converting Right Linear Grammar to Left Linear Grammar

Theorem

If G is a Left Linear Grammar, then there is a Right Linear Grammar G′′

such that L(G ) = L(G′′

)

Proof: Conversion outline (Not a rigorous proof! )

1 From G, generate G′

for LR

2 From G′

construct M for LR

3 Construct M′

from M for LRR

4 Generate G′′

a Right Linear Grammar for LRR

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 8 / 8

Converting Right Linear Grammar to Left Linear Grammar

Theorem

If G is a Left Linear Grammar, then there is a Right Linear Grammar G′′

such that L(G ) = L(G′′

)

Proof: Conversion outline (Not a rigorous proof! )

1 From G, generate G′

for LR

2 From G′

construct M for LR

3 Construct M′

from M for LRR

4 Generate G′′

a Right Linear Grammar for LRR

Dr. Neminath Hubballi (IIT Indore) Kleene Theorem January 29, 2018 8 / 8