closure properties of regular languages

36
1 Closure Properties of Regular Languages L 1 and L 2 are regular. How about L 1 L 2 , L 1 L 2 , L 1 L 2 , L 1 , L 1 * ?

Upload: miller

Post on 19-Jan-2016

50 views

Category:

Documents


0 download

DESCRIPTION

Closure Properties of Regular Languages. L 1 and L 2 are regular. How about L 1 L 2 , L 1 L 2 , L 1 L 2 , L 1 , L 1 * ?. Theorem 1. If L 1 and L 2 are regular, then so are L 1 L 2 , L 1 L 2 , L 1 L 2 , L 1 , L 1 * . - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Closure Properties of  Regular Languages

1

Closure Properties of Regular Languages

L1 and L2 are regular.

How about L1L2, L1L2 , L1L2 , L1, L1* ?

Page 2: Closure Properties of  Regular Languages

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.)

Page 3: Closure Properties of  Regular Languages

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))*

Page 4: Closure Properties of  Regular Languages

4

Proof

• M = (Q, , , q0, F) accepts L1.

M = (Q, , , q0, Q – F) accepts L1.

Page 5: Closure Properties of  Regular Languages

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)

Page 6: Closure Properties of  Regular Languages

6

Proof

• Example:

L1 = {abn | n 0}

L2 = {anb | n 0}

L1L2 = {ab}

Page 7: Closure Properties of  Regular Languages

7

Theorem 2

The family of regular languages is closed under reversal:

If L is regular, then so is LR.

Page 8: Closure Properties of  Regular Languages

8

Proof

?

Page 9: Closure Properties of  Regular Languages

9

Homomorphism

Suppose and are alphabets.

h: *

is called a homomorphism

Page 10: Closure Properties of  Regular Languages

10

Homomorphism

Extended definition:

w = a1a2 ... an

h(w) = h(a1)h(a2) ... h(an)

Page 11: Closure Properties of  Regular Languages

11

Homomorphism

If L is a language on , then its homomorphic image is defined as:

h(L) = {h(w): w L}

Page 12: Closure Properties of  Regular Languages

12

Example

= {a, b}

= {a, b, c}

h(a) = ab h(b) = bbc

h(aba) = abbbcab

L = {aa, aba} h(L) = {abab, abbbcab}

Page 13: Closure Properties of  Regular Languages

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.

Page 14: Closure Properties of  Regular Languages

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)*

Page 15: Closure Properties of  Regular Languages

15

Theorem 3

The family of regular languages is closed under homomorphism:

If L is regular, then so is h(L).

Page 16: Closure Properties of  Regular Languages

16

Proof

Let L(r) = L for some regular expression r.

Prove: h(L(r)) = L(h(r)).

Page 17: Closure Properties of  Regular Languages

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).

Page 18: Closure Properties of  Regular Languages

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}

Page 19: Closure Properties of  Regular Languages

19

Example

L1 = {anbm | n 1, m 0}{ba}

L2 = {bm | m 1}

L1/L2 = ?

Page 20: Closure Properties of  Regular Languages

20

Example

L1 = {anbm | n 1, m 0}{ba}

L2 = {bm | m 1}

L1/L2 = {anbm | n 1, m 0}

Page 21: Closure Properties of  Regular Languages

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}

Page 22: Closure Properties of  Regular Languages

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

Page 23: Closure Properties of  Regular Languages

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

Page 24: Closure Properties of  Regular Languages

24

Theorem

The family of regular languages is closed under right quotient:

If L1 and L2 are regular, then so is L1/L2.

Page 25: Closure Properties of  Regular Languages

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^

Page 26: Closure Properties of  Regular Languages

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 .

Page 27: Closure Properties of  Regular Languages

27

Example

L1 = L(a*baa*)

L2 = L(ab*)

L1/L2 = ?

Page 28: Closure Properties of  Regular Languages

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*)

Page 29: Closure Properties of  Regular Languages

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*)

Page 30: Closure Properties of  Regular Languages

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?.

Page 31: Closure Properties of  Regular Languages

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.

Page 32: Closure Properties of  Regular Languages

32

Questions about RLs

1. Is there an algorithm to determine whether or nota regular language is empty, finite, or infinite?.

Page 33: Closure Properties of  Regular Languages

33

Questions about RLs

1. Is there an algorithm to determine whether or nota regular language is empty, finite, or infinite?.

Yes.

Page 34: Closure Properties of  Regular Languages

34

Questions about RLs

1. Given two regular languages L1 and L2, is there an algorithm to determine whether or not L1 = L2?.

Page 35: Closure Properties of  Regular Languages

35

Questions about RLs

1. Given two regular languages L1 and L2, is there an algorithm to determine whether or not L1 = L2?.

Yes.

Page 36: Closure Properties of  Regular Languages

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.