Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Closure Properties of Regular Languages: Complement and Union, Slides of Theory of Automata

The closure properties of regular languages, specifically focusing on complement and union. It provides theorems and proofs for these properties, as well as examples and notes for clarification. Regular languages are a type of language recognized by finite automata, and these closure properties are useful for understanding and working with them.

Typology: Slides

2012/2013

Uploaded on 04/29/2013

shamir_69
shamir_69 🇮🇳

5

(4)

66 documents

1 / 45

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Chapter Three:
Closure Properties
for
Regular Languages
Docsity.com
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d

Partial preview of the text

Download Closure Properties of Regular Languages: Complement and Union and more Slides Theory of Automata in PDF only on Docsity!

Chapter Three:

Closure Properties

for

Regular Languages

Once we have defined some languages formally, we can consider combinations and modifications of those languages: unions, intersections, complements, and so on. Such combinations and modifications raise important questions. For example, is the intersection of two regular languages also regular—capable of being recognized directly by some DFA?

Language Complement

  • For any language L over an alphabet Σ, the

complement of L is

  • Example:
  • Given a DFA for any language, it is easy to

construct a DFA for its complement

L = { x ∈ Σ *^ | x ∉ L }

L = 0 x | x ∈ { } 0 , 1

= strings that start with 0

L = 1 x | x ∈ { } 0 , 1

∪{}ε = strings that donÕt start with 0

Example

q 0

0^ q^1

1

0,

q 2 0,

q 0

0^ q^1

1

0,

q 2 0,

L = 1 x | x ∈ (^) { } 0 , 1

∪{}ε

L = 0 x | x ∈ (^) { } 0 , 1

Theorem 3.

  • Let L be any regular language
  • By definition there must be some DFA M = ( Q , Σ, δ, q 0 , F ) with L ( M ) = L
  • Define a new DFA M' = ( Q , Σ, δ, q 0 , Q-F )
  • This has the same transition function δ as M , but for any string x ∈ Σ* it accepts x if and only if M rejects x
  • Thus L ( M' ) is the complement of L
  • Because there is a DFA for it, we conclude that the complement of L is regular

The complement of any regular language is a regular language.

Closure Properties

  • A shorter way of saying that theorem: the

regular languages are closed under

complement

  • The complement operation cannot take us

out of the class of regular languages

  • Closure properties are useful shortcuts: they

let you conclude a language is regular without

actually constructing a DFA for it

Language Intersection

  • L 1 ∩ L 2 = { x | xL 1 and xL 2 }
  • Example:
    • L 1 = {0 x | x ∈ {0,1}*} = strings that start with 0
    • L 2 = { x 0 | x ∈ {0,1}*} = strings that end with 0
    • L 1 ∩ L 2 = { x ∈ {0,1}* | x starts and ends with 0}
  • Usually we will consider intersections of

languages with the same alphabet, but it

works either way

  • Given two DFAs, it is possible to construct a

DFA for the intersection of the two languages

  • We'll make a DFA that keeps track of the pair

of states ( q i , r j ) the two original DFAs are in

  • Initially, they are both in their start states:

q 0 ,r 0

0

1

r 0 r 1

1

0

1

0

q 0

0^ q^1

1

0,

q 2 0, {0 x | x ∈ {0,1}} { x 0 | x ∈ {0,1}}

r 0 r 1

1

0

1

0

q 0

0^ q^1

1

0,

q 2 0, {0 x | x ∈ {0,1}} { x 0 | x ∈ {0,1}}

  • Eventually state-pairs repeat; then we're

almost done:

q 0 ,r 0

0

1

q 1 ,r 1

q 2 ,r 0

1

0 0

1

q 1 ,r 0

q 2 ,r (^1 )

1

0

1

r 0 r 1

1

0

1

0

q 0

0^ q^1

1

0,

q 2 0, {0 x | x ∈ {0,1}} { x 0 | x ∈ {0,1}}

  • For intersection, both original DFAs must

accept:

q 0 ,r 0

0

1

q 1 ,r 1

q 2 ,r 0

1

0 0

1

q 1 ,r 0

q 2 ,r (^1 )

1

0

1

Theorem 3.

  • Let L 1 and L 2 be any regular languages
  • By definition there must be DFAs for them:
    • M 1 = ( Q , Σ, δ 1 , q 0 , F 1 ) with L ( M 1 ) = L 1
    • M 2 = ( R , Σ, δ 2 , r 0 , F 2 ) with L ( M 2 ) = L 2
  • Define a new DFA M 3 = ( Q × R , Σ, δ, ( q 0 , r 0 ), F 1 × F 2 )
  • For δ, define it so that for all qQ , rR, and a ∈ Σ, we have δ(( q , r ), a ) = (δ 1 ( q,a ), δ 2 ( r,a ))
  • M 3 accepts if and only if both M 1 and M 2 accept
  • So L ( M 3 ) = L 1 ∩ L 2 , so that intersection is regular

If L 1 and L 2 are any regular languages, L 1 ∩ L 2 is also a regular language.

Notes

  • Formal construction assumed that the

alphabets were the same

  • It can easily be modified for differing alphabets
  • The alphabet for the new DFA would be Σ 1 ∩ Σ 2
  • Formal construction generated all pairs
  • When we did it by hand, we generated only those pairs actually reachable from the start pair
  • Makes no difference for the language accepted

Language Union

  • L 1 ∪ L 2 = { x | xL 1 or xL 2 (or both)}
  • Example:
    • L 1 = {0 x | x ∈ {0,1}*} = strings that start with 0
    • L 2 = { x 0 | x ∈ {0,1}*} = strings that end with 0
    • L 1 ∪ L 2 = { x ∈ {0,1}* | x starts with 0 or ends with 0 (or both)}
  • Usually we will consider unions of languages with the same alphabet, but it works either way

If L 1 and L 2 are any regular languages, L 1 ∪ L 2 is also a regular language.

Theorem 3.

  • Proof 1: using DeMorgan's laws
    • Because the regular languages are closed for intersection and complement, we know they must also be closed for union:

L 1 ∪ L 2 = L 1 ∩ L 2