Closure Properties of Regular Languages
description
Transcript of Closure Properties of Regular Languages
1
Closure Properties of Regular Languages
L1 and L2 are regular.
How about L1L2, L1L2 , L1L2 , L1, L1* ?
2
Theorem 1
If L1 and L2 are regular, then so are L1L2, L1L2 , L1L2 ,
L1, L1*.
(The family of regular languages is closed under intersection, union, concatenation, complement, and star-closure.)
3
Proof
• L1 = L(r1) L2 = L(r2)
L(r1 + r2) = L(r1)L(r2)
L(r1 . r2) = L(r1)L(r2)
L(r1*) = (L(r1))*
4
Proof
• M = (Q, , , q0, F) accepts L1.
M = (Q, , , q0, Q – F) accepts L1.
5
Proof
• M1 = (Q, , 1, q0, F1) accepts L1.
M2 = (P, , 2, p0, F2) accepts L2.
q0 qf
a1 an
p0 pf
a1 an
2(pj, a) = pl
1(qi, a) = qk
1((qi, pj), a) = (qk, pl)
6
Proof
• Example:
L1 = {abn | n 0}
L2 = {anb | n 0}
L1L2 = {ab}
7
Theorem 2
The family of regular languages is closed under reversal:
If L is regular, then so is LR.
8
Proof
?
9
Homomorphism
Suppose and are alphabets.
h: *
is called a homomorphism
10
Homomorphism
Extended definition:
w = a1a2 ... an
h(w) = h(a1)h(a2) ... h(an)
11
Homomorphism
If L is a language on , then its homomorphic image is defined as:
h(L) = {h(w): w L}
12
Example
= {a, b}
= {a, b, c}
h(a) = ab h(b) = bbc
h(aba) = abbbcab
L = {aa, aba} h(L) = {abab, abbbcab}
13
Homomorphism
If L is the language on of a regular expression r,
then the regular expression for h(L) is obtained by
applying the homomorphism to each symbol of r.
14
Example
= {a, b}
= {b, c, d}
h(a) = dbcc h(b) = bdc
r = (a + b*)(aa)* L = L(r)
h(r) = (dbcc + (bdc)*)(dbccdbcc)*
15
Theorem 3
The family of regular languages is closed under homomorphism:
If L is regular, then so is h(L).
16
Proof
Let L(r) = L for some regular expression r.
Prove: h(L(r)) = L(h(r)).
17
Homework
• Exercises: 2, 4, 6, 8, 9, 11, 18, 22 of Section 4.1 - Linz’s book.
• Presentation: Section 4.3 - Linz’s book (pigeonhole principle & pumping lemma and examples).
18
Right Quotient
Let L1 and L2 be languages on the same alphabet.
Then the right quotient of L1 with L2 is defined as:
L1/L2 = {x | xy L1 and y L2}
19
Example
L1 = {anbm | n 1, m 0}{ba}
L2 = {bm | m 1}
L1/L2 = ?
20
Example
L1 = {anbm | n 1, m 0}{ba}
L2 = {bm | m 1}
L1/L2 = {anbm | n 1, m 0}
21
Example
q0 q1 q2
b
b
b
a
q3
a
a, b
a
q4
q5
a, b
a
L1 = {anbm | n 1, m 0}{ba}
22
Example
q0 q1 q2
b
b
b
a
q3
a
a, b
a
q4
q5
a, b
a
L1 = {anbm | n 1, m 0}{ba}
L2 = {bm | m 1}
*(q0, x) = qi
*(qi, y) F and y L2
23
Example
q0 q1 q2
b
b
b
a
q3
a
a, b
a
q4
q5
a, b
a
L1 = {anbm | n 1, m 0}{ba}
L2 = {bm | m 1}
*(q0, x) = qi
*(qi, y) F and y L2
24
Theorem
The family of regular languages is closed under right quotient:
If L1 and L2 are regular, then so is L1/L2.
25
Proof
• M = (Q, , , q0, F) accepts L1.
M^ = (P, , , q0, F^) accepts L1/L2.
If y L2 and *(qi, y) F add qi to F^
26
Proof
• M = (Q, , , q0, F) accepts L1.
M^ = (P, , , q0, F^) accepts L1/L2.
If y L2 and *(qi, y) F add qi to F^
Mi = (P, , , qi, F) and L(Mi) L2 .
27
Example
L1 = L(a*baa*)
L2 = L(ab*)
L1/L2 = ?
28
Example
q0 q1 q2
a
a
b
b
b
a, b
q3
a
L1 = L(a*baa*)
L(M0) L2 =
L(M1) L2 = {a}
L(M2) L2 = {a}
L(M3) L2 =
L1 = L(ab*)
29
Example
q0 q1 q2
a
a
b
b
b
a, b
q3
a
L1 = L(a*baa*)
L(M0) L2 =
L(M1) L2 = {a}
L(M2) L2 = {a}
L(M3) L2 =
L1 = L(ab*)
30
Questions about RLs
1. Given a regular language L on and any w *, is there an algorithm to determine whether or not w L?.
31
Questions about RLs
1. Given a regular language L on and any w *, is there an algorithm to determine whether or not w L?.
Yes.
32
Questions about RLs
1. Is there an algorithm to determine whether or nota regular language is empty, finite, or infinite?.
33
Questions about RLs
1. Is there an algorithm to determine whether or nota regular language is empty, finite, or infinite?.
Yes.
34
Questions about RLs
1. Given two regular languages L1 and L2, is there an algorithm to determine whether or not L1 = L2?.
35
Questions about RLs
1. Given two regular languages L1 and L2, is there an algorithm to determine whether or not L1 = L2?.
Yes.
36
Homework
• Exercises: 1, 2, 3, 5, 9 of Section 4.2 - Linz’s book.
• Exercises: 3, 4, 5, 6, 8, 10, 12 of Section 4.3 - Linz’s book.