Class 4
Class 4
1
Any NFA can be converted
to an equivalent NFA
2
Example
a
NFA
a b
a Equivalent NFA
a b
b
3
In General
NFA
Equivalent NFA
Single
final state
4
Extreme Case
5
Properties of
Regular Languages
6
For regular languages L1 and L2
we will prove that:
Union: L1 L2
Concatenation: L1L2
Star: L1 * Are regular
Languages
Reversal: R
L1
Complement: L1
Intersection: L1 L2
7
We say: Regular languages are closed under
Union: L1 L2
Concatenation: L1L2
Star: L1 *
Reversal: R
L1
Complement: L1
Intersection: L1 L2
8
Regular language L1 Regular language L2
LM1 L1 LM 2 L2
NFA M1 NFA M2
M2
a
L2 ba b
10
Union
NFA for L1 L2
M1
M2
11
Example
n
NFA for L1 L2 {a b} {ba}
n
L1 {a b}
a
b
L2 {ba}
b a
12
Concatenation
M1 M2
13
Example
n n
NFA for L1L2 {a b}{ba} {a bba}
n
L1 {a b}
a
L2 {ba}
b b a
14
Star Operation
NFA for L1 *
L1 *
M1
15
Example
n w w1w2 wk
NFA for L1* {a b} * wi L1
n
L1 {a b}
a
b
16
Reverse
R
NFA for L1
L1 M1 M1
M1
a
R n
L1 {ba } b
18
Complement
L1 M1 L1 M1
M1
n a a, b
L1 {a, b} * {a b}
b a, b
20
Intersection
DeMorgan’s Law: L1 L2 L1 L2
L1 , L2 regular
L1 , L2 regular
L1 L2 regular
L1 L2 regular
L1 L2 regular
21
Example
n
L1 {a b} regular
L1 L2 {ab}
L2 {ab, ba} regular regular
22
Regular Expressions
23
Regular Expressions
Regular expressions
describe regular languages
Example: (a b c) *
24
Recursive Definition
Primitive regular expressions: , ,
r1 r2
r1 r2
Are regular expressions
r1 *
r1
25
Examples
26
Languages of Regular Expressions
Example
L(a b c) * , a, bc, aa, abc, bca,...
27
Definition
L
L
La a
28
Definition (continued)
Lr1 Lr1
29
Example
Regular expression: a b a *
La b a * La b La *
La b La *
La Lb La *
a b a*
a, b , a, aa, aaa,...
a, aa, aaa,..., b, ba, baa,...
30
Example
Regular expression r a bb * a b
31
Example
Lr {a b
2n 2m
b : n, m 0}
32
Example
Regular expression r (0 1) * 00 (0 1) *
33
Example
34
Equivalent Regular Expressions
Definition:
35
Regular Expressions
and
Regular Languages
37
Theorem
Languages
Generated by
Regular Expressions
Regular
Languages
38
Theorem - Part 1
Languages
Generated by Regular
Languages
Regular Expressions
39
Theorem - Part 2
Languages
Generated by Regular
Languages
Regular Expressions
40
Proof - Part 1
41
Induction Basis
Primitive Regular Expressions: , ,
NFAs
L( M1 ) L()
regular
L( M 2 ) {} L( )
languages
a
L( M 3 ) {a} L(a )
42
Inductive Hypothesis
Assume
for regular expressions r1 and r2
that
L(r1 ) and L(r2 ) are regular languages
43
Inductive Step
We will prove:
Lr1 r2
Lr1 r2
Are regular
Languages
Lr1 *
Lr1
44
By definition of regular expressions:
Lr1 Lr1
45
By inductive hypothesis we know:
L(r1 ) and L(r2 ) are regular languages
We also know:
Regular languages are closed under:
Union Lr1 Lr2
Concatenation Lr1 Lr2
Star Lr1 *
46
Therefore:
Are regular
Lr1 r2 Lr1 Lr2
languages
47
And trivially:
48
Proof – Part 2
49
Since L is regular take the
NFA M that accepts it
L( M ) L
Example:
M
a c a c
a, b ab
51
b b
Another Example:
a
q0 q1 a, b q2
b
b b
a
q0 q1 a b q2
b
52
b b
Reducing the states:
a
q0 q1 a b q2
b
bb * a b
q0 bb * (a b) q2
53
Resulting Regular Expression:
bb * a b
q0 bb * (a b) q2
r (bb * a ) * bb * (a b)b *
L(r ) L( M ) L
54
In General
Removing states: g e
d c
qi q qj
a b
f
ae * d g ce * d ce * b
ce * d
qi f ae * b qj
ae * b
55
Reducing NFAs by equivalences – example
56
Reducing NFAs by equivalences – example
57
The final transition
graph: r1 r4
r3
q0 qf
r2