160 likes | 218 Views
Explore the grand unification of regular languages, proofs of nonregularity, and closure properties under various operations. Understand the role of representations and leveraging closures under complementation and intersection for verifying the non-regularity. Delve into the pumping lemma, basic ideas, and necessary conditions to distinguish regular and non-regular languages. Discover how structural induction and parallel simulation concepts help in collapsing graphs and solving linear equations within this context.
E N D
Nonregularity Proofs L10PLemma
Regular Languages: Grand Unification (Parallel Simulation) (Rabin and Scott’s work) (Collapsing graphs; Structural Induction) (S. Kleene’s work) (Construction) (Solving linear equations) L10PLemma
Role of various representations for Regular Languages • Closure under complementation. (DFAs) • Closure under union, concatenation, and Kleene star. (NFA-ls, Regular expression.) • Consequence: Closure under intersection by De Morgan’s Laws. • Relationship to context-free languages. (Regular Grammars.) • Ease of specification. (Regular expression.) • Building tokenizers/lexical analyzers. (DFAs) L10PLemma
Consider pairs of strings: IfL were regular,then there exists a DFA M accepting L with the following property: L10PLemma
CLAIM: JUSTIFICATION: Otherwise, from the definition of DFA, which contradicts the earlier conclusion. In order to satisfy the machine M must have a unique state for every i. Thus, M must have infinite number of states, if L is regular. This violates the definition of DFA. So, L must be non-regular. L10PLemma
Using Closure Properties • Regular languages are closed under set-intersection. • Note that regularity is a property of a collection, and not a property of an individual string in the collection. L1=bit strings with even parity L2=bit strings with number of 1’s divisible by 3 L=bit strings with number of 1’s a multiple of 6 L10PLemma
If R is a regular language and C is context-free, then may not be regular. • Proof: • Show that • is not regular. • Proof: If L were regular, ought to be regular. However, is known to be non-regular. Hence, L cannot be regular. L10PLemma
DIGRESSION • If R is a regular language and C is context-free, then can be regular. • Proof: • L = {/\, ab, ba, aabb, abab, abba, baba, bbaa, …} • a*b* = {/\, a, b, aa, ab, bb,…, aabb,…} • C = {/\, ab, aabb, …} • intersect(a*b*, C) =intersect(L, a*b*) = C • union(a*b*, C) = a*b* ; union(L, C) = L L10PLemma
Prelude to Pumping Lemma • Is 46551 divisible by 46? • Is 46554 divisible by 46? • Is 46552 divisible by 46? Necessary vs sufficient condition L10PLemma
Pumping Lemma for Regular Languages • It is a necessary condition. • Every regular language satisfies it. • If a language violates it, it is not regular. • RL => PL not PL => not RL • It is not a sufficient condition. • Not every non-regular language violates it. • not RL =>? PL or not PL (no conclusion) L10PLemma
Basic Idea: b a q0 a q1 b b a q2 q3 a,b L10PLemma
Note, So, L10PLemma
Fundamental Observation • Given a “sufficiently” long string, the states of a DFA must repeat in an accepting computation. These cycles can then be used to predict (generate) infinitely many other strings in (of) the language. Pigeon-Hole Principle L10PLemma
Pumping Lemma (Theorem 7.3.3) • Let L be a regular language that is accepted by a DFA M with k states. Let z be any string in L with . Then z can be decomposed as uvw with L10PLemma
For all sufficiently long strings (z) These exists non-null prefix (uv) and substring (v) For all repetitions of the substring (v), we get strings in the language. L10PLemma
Proving non-regularity • If there exists an arbitrarily long string s L, and for each decomposition s = uvw, there exists an i such that , then L is non-regular. Negation of the necessary condition: L10PLemma