• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Properties of cfg
 

Properties of cfg

on

  • 649 views

 

Statistics

Views

Total Views
649
Views on SlideShare
649
Embed Views
0

Actions

Likes
0
Downloads
26
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Properties of cfg Properties of cfg Presentation Transcript

    • Properties ofContext-Free languages
    • Union Context-free languages are closed under: UnionL1 is context free L1 L2L2 is context free is context-free
    • Example Language Grammar n n L1 {a b } S1 aS1b | R L2 {ww } S2 aS2a | bS2b | Union n n R S S1 | S2L {a b } {ww }
    • In general: For context-free languages L1, L2 with context-free grammars G1, G2 and start variables S1, S2 It is assumed that variable sets of G1 and G2 are disjoint The grammar of the union L1 L2 has new start variable S and additional production S S1 | S2
    • Concatenation Context-free languages are closed under: ConcatenationL1 is context free L1L2L2 is context free is context-free
    • ExampleLanguage Grammar n nL1 {a b } S1 aS1b | RL2 {ww } S2 aS2a | bS2b | Concatenation n n R S S1S2L {a b }{ww }
    • In general: For context-free languages L1, L2 with context-free grammars G1, G2 and start variables S1, S2 The grammar of the concatenation L1L2 has new start variable S and additional production S S1S2
    • Star Operation Context-free languages are closed under: Star-operationL is context free * L is context-free
    • Example Language Grammar n nL {a b } S aSb | Star Operation n nL {a b } * S1 SS1 |
    • In general: For context-free language L with context-free grammar G and start variable S The grammar of the star operation L * has new start variable S1 and additional production S1 SS1 |
    • Negative Properties of Context-Free Languages
    • Intersection Context-free languages are not closed under: intersectionL1 is context free L1 L2L2 is context free not necessarily context-free
    • Example n n m n m mL1 {a b c } L2 {a b c } Context-free: Context-free: S AC S AB A aAb | A aA | C cC | B bBc | Intersection n n nL1 L2 {a b c } NOT context-free
    • Complement Context-free languages are not closed under: complementL is context free L not necessarily context-free
    • Example n n m n m mL1 {a b c } L2 {a b c }Context-free: Context-free:S AC S ABA aAb | A aA |C cC | B bBc | Complement n n n L1 L2 L1 L2 {a b c } NOT context-free
    • Context-free languages andRegular Languages
    • The intersection of a context-free language and a regular language is a context-free languageL1 context free L1 L2L2 regular context-free
    • Machine M1 Machine M2NPDA for L1 DFA for L2 context-free regular Construct a new NPDA machine M that accepts L1 L2M simulates in parallel M1 and M 2
    • NPDA M1 DFA M2 a, b c aq1 q2 p1 p2 transition transition NPDA M q1, p1 a, b c q2 , p2 transition
    • NPDA M1 DFA M2 q0 p0initial state initial state NPDA M q0 , p0 Initial state
    • Therefore: L ( M1 ) L( M 2 ) is context-free (since M is NPDA) L1 L2 is context-free
    • The Pumping Lemma for Context-Free Languages
    • Take an infinite context-free language Generates an infinite number of different stringsExample: S AB A aBb B Sb B b
    • S AB A aBb B Sb B bA derivation: Variables are repeated S AB aBbB abbB abbSb abbABb abbaBbBb abbabbBb abbabbbb
    • Derivation tree string abbabbbb S A B a B b S b b A B a B b b b
    • Derivation tree string abbabbbb S A B a B b S b b A B a B b b repeated b
    • B Sb ABb B aBbBb aBbbb S b A B a B b b b B b
    • Repeated Part B S b A B a B b b B  aBbbb
    • Another possible derivation B S b A B B  aBbbb a B b b S b A B a B b bB  aBbbb aaBbbbbbb
    • S A Ba B b S b b A B B  aBbbb a B b b S  abbaBbbb
    • S A B a B b S b b A B B  aBbbb a B b b S b A B a B b bS  abbaBbbb  abbaaBbbbbbb
    • S A B a B b S b b A B a B b b S b A B a B b b B b bS  abbaaBbbbbbb abbaabbbbbbb
    • S  abbaabbbbbbbTherefore, the string abbaabbbbbbbis also generated by the grammar
    • We know: B b B  aBbbb S  abbaBbbbWe also know this string is generated: S  abbaBbbb abbaabbbb
    • We know: B b B  aBbbb S  abbaBbbbTherefore, this string is also generated: S  abbaBbbb abbaaBbbbbbb abbaabbbbbbb
    • We know: B b B  aBbbb S  abbaBbbbTherefore, this string is also generated: S  abbaBbbb abba(a ) B(bbb)bbb 2 2 abba(a ) B(bbb) bbb 2 2 abba(a ) b(bbb) bbb
    • We know: B b B  aBbbb S  abbaBbbbTherefore, this string is also generated: S  abbaBbbb  i i abba(a ) B(bbb) bbb i i abba(a ) b(bbb) bbb
    • Therefore, knowing that abbabbbbis generated by grammar G,we also know that i i abba(a) b(bbb) bbb is generated by G
    • In general: We are given an infinite context-free grammar G Assume G has no unit-productions no -productions
    • Take a string w L (G )with length bigger thanm > (Number of productions) x (Largest right side of a production)Consequence: Some variable must be repeated in the derivation of w
    • u , v, x, y, z : strings of terminalsString w uvxyz S u z Last repeated variable A v y repeated A x
    • SPossiblederivations: u z AS uAz v yA vAy AA x x
    • We know: S uAz A vAy A xThis string is also generated: * S uAz uxz 0 0 uv xy z
    • We know: S uAz A vAy A xThis string is also generated: * * S uAz uvAyz uvxyz 1 1 The original w uv xy z
    • We know: S uAz A vAy A xThis string is also generated: * * * S uAz uvAyz uvvAyyz uvvxyyz 2 2 uv xy z
    • We know: S uAz A vAy A xThis string is also generated: * * S uAz uvAyz uvvAyyz * * uvvvAyyyz uvvvxyyyz 3 3 uv xy z
    • We know: S uAz A vAy A xThis string is also generated: S * uAz * uvAyz * uvvAyyz * * uvvvAyyyz *  * uvvvvAy  yyyz * * uvvvvxy  yyyz i i uv xy z
    • Therefore, any string of the form i i uv xy z i 0is generated by the grammar G
    • Therefore, knowing that uvxyz L(G) i i we also know that uv xy z L(G )
    • S u z A v y A xObservation: | vxy | mSince A is the last repeated variable
    • S u z A v y A xObservation: | vy | 1Since there are no unit or productions
    • The Pumping Lemma: For infinite context-free language L there exists an integer m such that for any string w L, | w| m we can write w uvxyz with lengths | vxy | m and | vy | 1 and it must be: i i uv xy z L, for all i 0
    • Applications ofThe Pumping Lemma
    • Non-context free languages n n n {a b c : n 0} Context-free languages n n {a b : n 0}
    • Theorem: The language n n n L {a b c : n 0} is not context freeProof: Use the Pumping Lemma for context-free languages
    • n n n L {a b c : n 0}Assume for contradiction that Lis context-freeSince L is context-free and infinitewe can apply the pumping lemma
    • n n n L {a b c : n 0}Pumping Lemma gives a magic number msuch that: Pick any string w L with length | w | m m m m We pick: w a b c
    • n n n L {a b c : n 0} m m m w a b cWe can write: w uvxyzwith lengths | vxy | m and | vy | 1
    • n n n L {a b c : n 0} m m m w a b c w uvxyz | vxy | m | vy | 1Pumping Lemma says: i i uv xy z L for all i 0
    • n n n L {a b c : n 0} m m m w a b c w uvxyz | vxy | m | vy | 1We examine all the possible locationsof string vxy in w
    • n n n L {a b c : n 0} m m m w a b c w uvxyz | vxy | m | vy | 1 mCase 1: vxy is within a m m m aaa...aaa bbb...bbb ccc...ccc u vxy z
    • n n n L {a b c : n 0} m m m w a b c w uvxyz | vxy | m | vy | 1Case 1: v and y consist from only a m m m aaa...aaa bbb...bbb ccc...ccc u vxy z
    • n n n L {a b c : n 0} m m m w a b c w uvxyz | vxy | m | vy | 1Case 1: Repeating v and y k 1 m k m m aaaaaa...aaaaaa bbb...bbb ccc...ccc u 2 2 z v xy
    • n n n L {a b c : n 0} m m m w a b c w uvxyz | vxy | m | vy | 1 2 2Case 1: From Pumping Lemma: uv xy z L k 1 m k m m aaaaaa...aaaaaa bbb...bbb ccc...ccc u 2 2 z v xy
    • n n n L {a b c : n 0} m m m w a b c w uvxyz | vxy | m | vy | 1 2 2Case 1: From Pumping Lemma: uv xy z L k 1 2 2 m k m m However: uv xy z a b c L Contradiction!!!
    • n n n L {a b c : n 0} m m m w a b c w uvxyz | vxy | m | vy | 1 mCase 2: vxy is within b m m m aaa...aaa bbb...bbb ccc...ccc u vxy z
    • n n n L {a b c : n 0} m m m w a b c w uvxyz | vxy | m | vy | 1Case 2: Similar analysis with case 1 m m m aaa...aaa bbb...bbb ccc...ccc u vxy z
    • n n n L {a b c : n 0} m m m w a b c w uvxyz | vxy | m | vy | 1 mCase 3: vxy is within c m m m aaa...aaa bbb...bbb ccc...ccc u vxy z
    • n n n L {a b c : n 0} m m m w a b c w uvxyz | vxy | m | vy | 1Case 3: Similar analysis with case 1 m m m aaa...aaa bbb...bbb ccc...ccc u vxy z
    • n n n L {a b c : n 0} m m m w a b c w uvxyz | vxy | m | vy | 1 m mCase 4: vxy overlaps a and b m m m aaa...aaa bbb...bbb ccc...ccc u vxy z
    • n n n L {a b c : n 0} m m m w a b c w uvxyz | vxy | m | vy | 1Case 4: Possibility 1: v contains only a y contains only b m m m aaa...aaa bbb...bbb ccc...ccc u vxy z
    • n n n L {a b c : n 0} m m m w a b c w uvxyz | vxy | m | vy | 1Case 4: Possibility 1: v contains only a k1 k2 1 y contains only b m k1 m k2 m aaa...aaaaaaa bbbbbbb...bbb ccc...ccc u 2 2 z v xy
    • n n n L {a b c : n 0} m m m w a b c w uvxyz | vxy | m | vy | 1 2 2Case 4: From Pumping Lemma: uv xy z L k1 k2 1 m k1 m k2 m aaa...aaaaaaa bbbbbbb...bbb ccc...ccc u 2 2 z v xy
    • n n n L {a b c : n 0} m m m w a b c w uvxyz | vxy | m | vy | 1 2 2Case 4: From Pumping Lemma: uv xy z L k1 k2 1 2 2 m k1 m k2 m However: uv xy z a b c L Contradiction!!!
    • n n n L {a b c : n 0} m m m w a b c w uvxyz | vxy | m | vy | 1Case 4: Possibility 2: v contains a and b y contains only b m m m aaa...aaa bbb...bbb ccc...ccc u vxy z
    • n n n L {a b c : n 0} m m m w a b c w uvxyz | vxy | m | vy | 1Case 4: Possibility 2: v contains a and b k1 k2 k 1 y contains only b m k1 k 2 m k maaa...aaaaabbaabb bbbbbbb...bbb ccc...cccu 2 v xy 2 z
    • n n n L {a b c : n 0} m m m w a b c w uvxyz | vxy | m | vy | 1 2 2Case 4: From Pumping Lemma: uv xy z L k1 k2 k 1 m k1 k 2 m k maaa...aaaaabbaabb bbbbbbb...bbb ccc...cccu 2 v xy 2 z
    • n n n L {a b c : n 0} m m m w a b c w uvxyz | vxy | m | vy | 1 2 2Case 4: From Pumping Lemma: uv xy z L However: k1 k2 k 1 2 2 m k1 k2 m k m uv xy z a b a b c L Contradiction!!!
    • n n n L {a b c : n 0} m m m w a b c w uvxyz | vxy | m | vy | 1Case 4: Possibility 3: v contains only a y contains a and b m m m aaa...aaa bbb...bbb ccc...ccc u vxy z
    • n n n L {a b c : n 0} m m m w a b c w uvxyz | vxy | m | vy | 1Case 4: Possibility 3: v contains only a y contains a and b Similar analysis with Possibility 2
    • n n n L {a b c : n 0} m m m w a b c w uvxyz | vxy | m | vy | 1 m mCase 5: vxy overlaps b and c m m m aaa...aaa bbb...bbb ccc...ccc u vxy z
    • n n n L {a b c : n 0} m m m w a b c w uvxyz | vxy | m | vy | 1Case 5: Similar analysis with case 4 m m m aaa...aaa bbb...bbb ccc...ccc u vxy z
    • There are no other cases to consider(since | vxy | m , string vxy cannot m m m overlap a , b and c at the same time)
    • In all cases we obtained a contradictionTherefore: The original assumption that n n n L {a b c : n 0} is context-free must be wrongConclusion: L is not context-free