Regular operations Sipser 1.1 (pages 44 – 47)
CS 311 Fall Building languages If L is a language, then its complement is L’ = {w | w ∉ L} Let A = {w | w is a string of 0 s and 1 s containing an odd number of 1s }. What is A' ? Let B = {w | w is a string of over {a,b} that starts and ends with the same symbol}. What is B' ? L L L’
CS 311 Fall Which complements are regular? A = {w | w is a string of 0 s and 1 s containing an odd number of 1s } What about A’ ? B = {w | w is a string over {a,b} that starts and ends with the same symbol} What about B’ ?
CS 311 Fall Our first theorem Theorem: The class of regular languages is closed under the complement operator How do we prove it?
CS 311 Fall Our first proof Theorem: The class of regular languages is closed under the complement operation Proof: Let A be a regular language. By definition, there exists a finite automaton M =(Q, Σ, δ, q 0, F) that recognizes A=L(M). Since N =(Q, Σ, δ, q 0, F’) is a finite automaton that recognizes L(N)=A’, A’ is a regular language.
CS 311 Fall Union and Intersection Let A and B be languages Define their union A ∪ B = { w | w ∈ A or w ∈ B} Define their intersection A∩B = { w | w ∈ A and w ∈ B}
CS 311 Fall Example: union A = {w | w is a string over {a,b} containing an odd number of a s } B = {w | w is a string over {a,b} that starts and ends with the same symbol} What is A ∪ B ? Is A ∪ B regular?
CS 311 Fall Can we build a recognizer for the union from previous machines?
CS 311 Fall Now do it in general… our second theorem Theorem: The class of regular languages is closed under the union operation
CS 311 Fall The proof Theorem: The class of regular languages is closed under the union operation Let A and B be regular languages. By definition, there exists finite automata M 1 =(Q 1, Σ, δ 1, q 1, F 1 ) and M 2 =(Q 2, Σ, δ 2, q 2, F 2 ) that recognize A=L(M 1 ) and B=L(M 2 ), respectively. What’s left? Build a finite automaton M that recognizes L(M) = A ∪ B.
CS 311 Fall What about intersection? Theorem: The class of regular languages is closed under the intersection operation