Skip to main content
Costas Busch - LSU 1
Properties of
Regular Languages
Costas Busch - LSU 2
1L 2L
21LLConcatenation:
*
1LStar:
21 LL Union:
Are regular
Languages
For regular languages and
we will prove that:
1L
21 LL 
Complement:
Intersection:
R
L1
Reversal:
Costas Busch - LSU 3
We say Regular languages are closed under
21LLConcatenation:
Star:
21 LL Union:
1L
21 LL 
Complement:
Intersection:
Reversal:
*
1L
R
L1
Costas Busch - LSU 4
a
b
b
a
NFA
Equivalent
NFA


a
b
b
a
A useful transformation: use one accept state
2 accept states
1 accept state
Costas Busch - LSU 5
NFA
Equivalent NFA
Single
accepting
state



In General
Costas Busch - LSU 6
NFA without accepting state
Add an accepting state
without transitions
Extreme case
Costas Busch - LSU 7
1LRegular language
  11 LML 
1M
Single accepting state
NFA 2M
2L
Single accepting state
  22 LML 
Regular language
NFA
Take two languages
Costas Busch - LSU 8
}{1 baL n

a
b
1M
 baL 2
ab
2M
0n
Example
Costas Busch - LSU 9
Union
NFA for
1M
2M
21 LL 


21 LLw  21 or LwLw 
Costas Busch - LSU 10
a
b
ab


}{1 baL n

}{2 baL 
}{}{21 babaLL n
NFA for
Example
Costas Busch - LSU 11
Concatenation
21LL
1M 2M

21LLw
NFA for
221121 and: LwLwwww 
change to
regular state
Costas Busch - LSU 12
NFA for
a
b ab
}{1 baL n

}{2 baL 
}{}}{{21 bbaababaLL nn


Example
Costas Busch - LSU 13
Star Operation
*
L
Lwwwww ik  :21 
LML )(

 
NFA for
*
Lw
or w
M
Costas Busch - LSU 14
**
1 }{ baL n

a
b
}{1 baL n



Example
NFA for
Costas Busch - LSU 15
Reverse
R
L
M
NFA for
M
1. Reverse all transitions
2. Make the initial state accept state
and the accept state initial state
LML )( R
LML )(
Costas Busch - LSU 16
}{1 baL n

a
b
1M
}{1
nR
baL 
a
b
1M
Example
Costas Busch - LSU 17
Complement
1. Take the DFA that accepts L
M
LML )(
M
LML )(
2. Make accept states regular
and vice-versa
Costas Busch - LSU 18
}{1 baL n

a
b
1M
ba,
ba,
}{*},{1 babaL n
 a
b
1M
ba,
ba,
Example
Costas Busch - LSU 19
NFAs cannot be used for complement
Make accept states regular
and vice-versa
{})( ML
M M
)(}{)( MLML  
**
},{)( baML 
NFA NFA
it is not the
complement
Costas Busch - LSU 20
Same example with DFAs
Make accept states regular
and vice-versa
{})( ML
M M
)(},{)( *
MLbaML 
**
},{)( baML 
DFA DFA
ba, ba,
it is the
complement
Costas Busch - LSU 21
Intersection
1L regular
2L regular
We show 21 LL 
regular
Costas Busch - LSU 22
DeMorgan’s Law: 2121 LLLL 
21 , LL regular, regular
21 , LL regular, regular
21 LL  regular
21 LL  regular
21 LL  regular
Costas Busch - LSU 23
Example
}{1 baL n

},{2 baabL 
regular
regular
}{21 abLL 
regular
Costas Busch - LSU 24
1Lfor for 2LDFA
1M
DFA
2M
Construct a new DFA that accepts
Machine Machine
M 21 LL 
M simulates in parallel and1M 2M
Another Proof for Intersection Closure
Costas Busch - LSU 25
States in M
ji pq ,
1M 2MState in State in
Costas Busch - LSU 26
1M 2M
1q 2qa
transition
1p 2pa
transition
DFA DFA
11, pq a
New transition
MDFA
22, pq
Costas Busch - LSU 27
0q
initial state
0p
initial state
New initial state
00, pq
1M 2MDFA DFA
MDFA
Costas Busch - LSU 28
iq
accept state
jp
accept states
New accept states
ji pq ,
kp
ki pq ,
1M 2MDFA DFA
MDFA
Both constituents must be accepting states
Costas Busch - LSU 29
Example:
}{1 baL n

a
b
1M
0n
}{2
m
abL 
b
b
2M
0q 1q 0p 1p
0m
2q 2p
a
a
ba, ba,
ba,
Costas Busch - LSU 30
00, pq
DFA for intersection
}{}{}{)( ababbaML mn

10, pqa
21, pq
b
ab 11, pq
20, pq
a
12, pq
22, pq
b
ba,
a
b
ba,
b
a
M
Costas Busch - LSU 31
Construction procedure for intersection
1. Build Initial State
2. For each new state and for each symbol
add transition to either an existing state
or create a new state and point to it
3. Repeat step 3 until no new states
are added
4. Designate accept states
Costas Busch - LSU 32
00, pq
Automaton for intersection
}{}{}{ ababbaL mn

initial state
Costas Busch - LSU 33
00, pq
Automaton for intersection
}{}{}{ ababbaL mn

10, pqa
add transition and new state
for symbol a 1M 2M
0q 0qa
0p 1pa
00 , pq a
M
10 , pq
Costas Busch - LSU 34
00, pq
Automaton for intersection
}{}{}{ ababbaL mn

10, pqa
21, pq
b
add transition and new state
for symbol b
1M 2M
0q 1qb 0p 2p
00 , pq b
M
21, pq
b
Costas Busch - LSU 35
Automaton for intersection
}{}{}{ ababbaL mn

00, pq 10, pqa
21, pq
b
ab 11, pq
20, pq
a
12, pq
22, pq
b
ba,
a
b
ba,
b
a
Repeat until no new states can be added
Costas Busch - LSU 36
Automaton for intersection
}{}{}{ ababbaL mn

add Accept state
00, pq 10, pqa
21, pq
b
ab 11, pq
20, pq
a
12, pq
22, pq
b
ba,
a
b
ba,
b
a
accept state for
accept state for
1q 1M
1p 2M
Costas Busch - LSU 37
simulates in parallel and1M 2M
accepts string w if and only if:
accepts string w1M
and accepts string w2M
)()()( 21 MLMLML 
Intersection DFA :M