Reverse of a Regular Language
1
Theorem:
R
The reverse L of a regular language
is a regular language
L
Proof idea:
Construct NFA that accepts
R
L
:
invert the transitions of the NFA
that accepts L
2
Proof
Since L is regular,
there is NFA that accepts
L
Example:
b
L ab * ba
a
b
a
3
Invert Transitions
b
a
b
a
4
Make old initial state a final state
b
a
b
a
5
Add a new initial state
b
a
b
a
6
Resulting machine accepts
R
L
R
L
is regular
L ab * ba
b
L b * a ab
R
a
b
a
7
Grammars
8
Grammars
Grammars express languages
Example:
the English language
sentence noun _ phrase
noun _ phrase article
predicate verb
predicate
noun
9
article a
article the
noun boy
noun dog
verb runs
verb walks
10
A derivation of “the boy walks”:
sentence noun _ phrase
predicate
noun _ phrase
verb
article
verb
the noun
noun
verb
the boy verb
the boy walks
11
A derivation of “a dog runs”:
sentence noun _ phrase
predicate
noun _ phrase
verb
article
noun
verb
a noun
verb
a dog verb
a dog runs
12
Language of the grammar:
L = { “a boy runs”,
“a boy walks”,
“the boy runs”,
“the boy walks”,
“a dog runs”,
“a dog walks”,
“the dog runs”,
“the dog walks” }
13
Notation
noun boy
noun dog
Variable
or
Non-terminal
Production
rule
Terminal
14
Another Example
Grammar:
S aSb
S
Derivation of sentence
ab :
S aSb ab
S aSb
S
15
Grammar:
S aSb
S
Derivation of sentence
aabb :
S aSb aaSbb aabb
S aSb
S
16
Other derivations:
S aSb aaSbb aaaSbbb aaabbb
S aSb aaSbb aaaSbbb
aaaaSbbbb aaaabbbb
17
Language of the grammar
S aSb
S
L {a b : n 0}
n n
18
More Notation
Grammar
G V ,T , S , P
V:
Set of variables
T:
Set of terminal symbols
S : Start variable
P:
Set of Production rules
19
Example
Grammar
G:
S aSb
S
G V ,T , S , P
V {S}
T {a, b}
P {S aSb, S }
20
More Notation
Sentential Form:
A sentence that contains
variables and terminals
Example:
S aSb aaSbb aaaSbbb aaabbb
Sentential Forms
sentence
21
We write:
*
S aaabbb
Instead of:
S aSb aaSbb aaaSbbb aaabbb
22
In general we write:
If:
*
w1 wn
w1 w2 w3 wn
23
By default:
*
w w
24
Example
Grammar
S aSb
S
Derivations
*
S
*
S ab
*
S aabb
*
S aaabbb
25
Example
Grammar
S aSb
S
Derivations
S aaSbb
aaSbb aaaaaSbbbbb
26
Another Grammar Example
Grammar G : S Ab
A aAb
A
Derivations:
S Ab b
S Ab aAbb abb
S aAbb aaAbbb aabbb
27
More Derivations
S Ab aAbb aaAbbb aaaAbbbb
aaaaAbbbbb aaaabbbbb
S aaaabbbbb
S aaaaaabbbbbbb
S a b b
n n
28
Language of a Grammar
For a grammar G
with start variable
S :
L(G ) {w : S w}
String of terminals
29
Example
For grammar
S Ab
G:
A aAb
A
L(G ) {a b b : n 0}
n n
Since:
S a b b
n n
30
A Convenient Notation
A aAb
A
article a
article the
A aAb |
article a | the
31
Linear Grammars
32
Linear Grammars
Grammars with
at most one variable at the right side
of a production
Examples:
S aSb
S Ab
S
A aAb
A
33
A Non-Linear Grammar
Grammar
G:
S SS
S
S aSb
S bSa
L(G ) {w : na ( w) nb ( w)}
34
Another Linear Grammar
Grammar
G :
SA
A aB |
B Ab
L(G) {a b : n 0}
n n
35
Right-Linear Grammars
All productions have form:
A xB
or
A x
Example:
S abS
S a
36
Left-Linear Grammars
All productions have form:
A Bx
or
A x
Example:
S Aab
A Aab | B
Ba
37
Regular Grammars
38
Regular Grammars
A regular grammar is any
right-linear or left-linear grammar
Examples:
G1
G2
S abS
S Aab
S a
A Aab | B
Ba
39
Observation
Regular grammars generate regular languages
Examples:
G1
G2
S Aab
S abS
A Aab | B
S a
Ba
L(G1) (ab) * a
L(G2 ) aab(ab) *
40
Regular Grammars
Generate
Regular Languages
41
Theorem
Languages
Generated by
Regular Grammars
Regular
Languages
42
Theorem - Part 1
Languages
Generated by
Regular Grammars
Regular
Languages
Any regular grammar generates
a regular language
43
Theorem - Part 2
Languages
Generated by
Regular Grammars
Regular
Languages
Any regular language is generated
by a regular grammar
44
Proof – Part 1
Languages
Generated by
Regular Grammars
Regular
Languages
The language L(G ) generated by
any regular grammar G is regular
45
The case of Right-Linear Grammars
Let
G be a right-linear grammar
We will prove:
Proof idea:
L(G ) is regular
We will construct NFA
with L( M ) L(G )
M
46
Grammar
G is right-linear
Example:
S aA | B
A aa B
Bb B|a
47
Construct NFA M such that
every state is a grammar variable:
A
S
S aA | B
VF
special
final state
B
A aa B
Bb B|a
48
Add edges for each production:
a
A
S
VF
B
S aA
49
a
S
A
VF
B
S aA | B
50
A
a
a
S
a
VF
B
S aA | B
A aa B
51
A
a
a
S
S aA | B
A aa B
B bB
VF
a
B
b
52
A
a
a
S
S aA | B
A aa B
B bB | a
a
VF
a
B
b
53
A
a
a
S
a
VF
a
B
b
S aA aaaB aaabB aaaba
54
NFA
Grammar
M
a
G
S aA | B
a
B bB | a
A
a
S
A aa B
VF
a
B
b
L( M ) L(G )
aaab * a b * a
55
In General
A right-linear grammar
has variables:
G
V0 ,V1,V2 ,
and productions:
Vi a1a2 amV j
or
Vi a1a2 am
56
We construct the NFA
each variable
M such that:
Vi corresponds to a node:
V1
V3
V0
VF
V2
V4
special
final state57
For each production:
Vi a1a2 amV j
we add transitions and intermediate nodes
Vi
a1
a2
………
am V
j
58
For each production:
Vi a1a2 am
we add transitions and intermediate nodes
Vi
a1
a2
………
am
VF
59
Resulting NFA
M looks like this:
a9
a1
V0
a2
V1
a3
V3
a5
a4
a3
V2
It holds that:
a4
a5
a8
V4
L(G ) L( M )
a9
VF
60
The case of Left-Linear Grammars
Let
G be a left-linear grammar
We will prove:
L(G ) is regular
Proof idea:
We will construct a right-linear
R
grammar G with L(G ) L(G)
61
Since G is left-linear grammar
the productions look like:
A Ba1a2 ak
A a1a2 ak
62
Construct right-linear grammar
In
G:
G
A Ba1a2 ak
A vB
In
G :
A ak a2a1B
Av B
R
63
Construct right-linear grammar
In
G:
G
A a1a2 ak
Av
In
G :
A ak a2 a1
Av
R
64
It is easy to see that:
Since
L(G) L(G)
R
G is right-linear, we have:
L(G)
L(G)
Regular
Language
Regular
Language
R
L(G )
Regular
Language
65
Proof - Part 2
Languages
Generated by
Regular Grammars
Regular
Languages
Any regular language L is generated
by some regular grammar G
66
Any regular language L is generated
by some regular grammar G
Proof idea:
Let
M be the NFA with L L(M ).
Construct from M a regular grammar
such that L( M ) L(G )
G
67
Since L is regular
there is an NFA M such that
L L(M )
b
Example:
M
q0
a
q1
a
L ab * ab(b * ab) *
L L(M )
q2
b
q3
68
Convert
M to a right-linear grammar
b
M
q0
q0 aq1
a
q1
a
q2
b
q3
69
b
M
q0
q0 aq1
q1 bq1
q1 aq2
a
q1
a
q2
b
q3
70
b
M
q0 aq1
q1 bq1
q1 aq2
q0
a
q1
a
q2
b
q3
q2 bq3
71
L(G ) L( M ) L
b
G
q0 aq1
q1 bq1
q1 aq2
q2 bq3
M
q0
a
q1
a
q2
b
q3
q3 q1
q3
72
In General
a
For any transition:
q
Add production:
q ap
variable
terminal
p
variable
73
For any final state:
Add production:
qf
qf
74
Since
G is right-linear grammar
G is also a regular grammar
with
L(G ) L( M ) L
75
© Copyright 2026 Paperzz