Regular Expressions: Fall 2005 Costas Busch - RPI 1
Regular Expressions: Fall 2005 Costas Busch - RPI 1
Example: (a b c) *
r1 r2
r1 r2
Are regular expressions
r1 *
r1
Fall 2005 Costas Busch - RPI 3
Examples
Example
L (a b c) * , a, bc, aa, abc, bca,...
L
L
L a a
Fall 2005 Costas Busch - RPI 6
Definition (continued)
L r1 r2 L r1 L r2
L r1 r2 L r1 L r2
L r1 * L r1 *
L r1 L r1
Fall 2005 Costas Busch - RPI 7
Example
Regular expression: a b a *
L a b a * L a b L a *
L a b L a *
L a L b L a *
a b a *
a, b , a, aa, aaa,...
a, aa, aaa,..., b, ba, baa,...
Fall 2005 Costas Busch - RPI 8
Example
Regular expression r a b * a bb
Regular expression r aa * bb * b
L r {a b
2n 2m
b : n, m 0}
Regular expression r (0 1) * 00 (0 1) *
Definition:
r1 (1 01) * (0 )
r2 (1* 011*) * (0 ) 1* (0 )
r1 and r2
L(r1 ) L(r2 ) L
are equivalent
regular expr.
Fall 2005 Costas Busch - RPI 14
Regular Expressions
and
Regular Languages
Languages
Generated by
Regular Expressions
Regular
Languages
Languages
Generated by Regular
Languages
Regular Expressions
Languages
Generated by Regular
Languages
Regular Expressions
Languages
Generated by Regular
Languages
Regular Expressions
regular
L( M 2 ) {} L( )
languages
a
L( M 3 ) {a} L(a )
Suppose
that for regular expressions r1 and r2 ,
L(r1 ) and L(r2 ) are regular languages
L r1 r2
Are regular
Languages
L r1 *
L r1
Fall 2005 Costas Busch - RPI 21
By definition of regular expressions:
L r1 r2 L r1 L r2
L r1 r2 L r1 L r2
L r1 * L r1 *
L r1 L r1
Fall 2005 Costas Busch - RPI 22
By inductive hypothesis we know:
L(r1 ) and L(r2 ) are regular languages
We also know:
Regular languages are closed under:
Union L r1 L r2
Concatenation L r1 L r2
Star L r1 *
Fall 2005 Costas Busch - RPI 23
Therefore:
L r1 r2 L r1 L r2
Are regular
L r1 r2 L r1 L r2
languages
L r1 * L r1 *
Languages
Generated by Regular
Languages
Regular Expressions
L( M ) L
Example: Corresponding
M Generalized transition graph
a c a c
a, b ab
Fall 2005 Costas Busch - RPI 27
b b
Another Example:
a
q0 q1 a, b q2
b
Transition labels b b
are regular a
expressions q0 q1 a b q2
b
Fall 2005 Costas Busch - RPI 28
b b
Reducing the states:
a
q0 q1 a b q2
b
Transition labels
are regular bb * a b
expressions
q0 bb * (a b) q2
Fall 2005 Costas Busch - RPI 29
Resulting Regular Expression:
bb * a b
q0 bb * (a b) q2
r (bb * a ) * bb * (a b)b *
L(r ) L( M ) L
Fall 2005 Costas Busch - RPI 30
In General
Removing a state: e
d c
qi q qj
a b
ae * d ce * b
ce * d
qi qj
ae * b
Fall 2005 Costas Busch - RPI 31
By repeating the process until
two states are left, the resulting graph is
Initial graph Resulting graph
r1 r4
r3
q0 qf
r2
Regular Languages
DFAs
Regular
NFAs
Expressions