SlideShare una empresa de Scribd logo
1 de 84
Properties
     of
Context-Free
 languages
Union

             Context-free languages
             are closed under:   Union


L1   is context free
                                 L1   L2
L2   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 | S2
L {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:      Concatenation



L1   is context free
                                    L1L2
L2   is context free            is context-free
Example
Language                         Grammar

     n n
L1 {a b }                   S1       aS1b |

           R
L2 {ww }               S2        aS2a | bS2b |

               Concatenation

    n n           R              S     S1S2
L {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-operation




L is context free         *
                         L is context-free
Example

 Language               Grammar

     n n
L {a b }               S    aSb |


        Star Operation

     n n
L {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:  intersection

L1   is context free
                                 L1    L2
L2   is context free           not necessarily
                               context-free
Example
       n n m                       n m m
L1 {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 n
L1   L2 {a b c } NOT context-free
Complement


     Context-free languages
     are not closed under:  complement



L is context free      L   not necessarily
                           context-free
Example
      n n m                          n m m
L1 {a b c }                 L2 {a b c }
Context-free:                 Context-free:
S    AC                       S      AB
A    aAb |                    A      aA |
C    cC |                     B      bBc |
                 Complement
                                  n n n
    L1      L2    L1   L2 {a b c }
            NOT context-free
Context-free
    languages
       and
Regular Languages
The intersection of
           a context-free language and
           a regular language
 is a context-free language



L1   context free
                             L1   L2
L2   regular               context-free
Machine   M1            Machine     M2
NPDA for   L1          DFA for      L2
 context-free             regular


    Construct a new NPDA machine   M
    that accepts L1 L2


M simulates in parallel M1 and M 2
NPDA    M1                     DFA       M2
      a, b   c                            a
q1                q2           p1                  p2
     transition                     transition



                   NPDA    M

             q1, p1 a, b   c
                                q2 , p2
                   transition
NPDA      M1                    DFA    M2

     q0                               p0
initial 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 strings



Example:        S     AB
                A     aBb
                B     Sb
                B     b
S    AB
                 A    aBb
                 B    Sb
                 B    b

A 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        b



B          aBbbb               aaBbbbbbb
S

    A                           B

a   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               b




S                  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
        b

S              abbaaBbbbbbb                            abbaabbbbbbb
S         abbaabbbbbbb

Therefore, the string


           abbaabbbbbbb

is also generated by the grammar
We know:       B      b
               B          aBbbb
               S          abbaBbbb
We also know this string is generated:


           S             abbaBbbb
                   abbaabbbb
We know:       B      b
               B         aBbbb
               S         abbaBbbb
Therefore, this string is also generated:


           S         abbaBbbb
                   abbaaBbbbbbb
                   abbaabbbbbbb
We know:       B   b
               B          aBbbb
           S              abbaBbbb
Therefore, 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               abbaBbbb
Therefore, this string is also generated:
           S           abbaBbbb
                
                        i       i
                abba(a ) B(bbb) bbb
                        i       i
                abba(a ) b(bbb) bbb
Therefore, knowing that

               abbabbbb

is 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 than


m   > (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 terminals
String   w uvxyz             S


                 u                        z
   Last repeated variable    A

                 v                        y
                     repeated A


                             x
S
Possible
derivations:   u       z
                   A
S    uAz
               v       y
A   vAy            A

A    x
                   x
We know:

   S    uAz          A    vAy       A   x

This string is also generated:

                          *
               S    uAz       uxz


                     0    0
                   uv xy z
We know:

   S    uAz             A    vAy            A   x

This string is also generated:

                    *           *
         S    uAz       uvAyz       uvxyz

                                    1   1
           The original     w uv xy z
We know:

      S    uAz              A    vAy           A   x

This string is also generated:

                *           *             *
  S       uAz       uvAyz       uvvAyyz       uvvxyyz


                            2    2
                       uv xy z
We know:

   S       uAz         A    vAy           A   x

This string is also generated:
                           *              *
       S    uAz    uvAyz        uvvAyyz
       *               *
           uvvvAyyyz       uvvvxyyyz
                       3    3
                  uv xy z
We know:

   S    uAz          A       vAy   A   x
This 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 0

is 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


                     x
Observation:   | vxy |   m
Since   A is the last repeated variable
S


            u                z
                     A

            v                y
                     A


                     x
Observation:    | vy |   1
Since 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
     of
The 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 free




Proof:   Use the Pumping Lemma
         for context-free languages
n n n
           L {a b c : n 0}

Assume for contradiction that   L
is context-free




Since L is context-free and infinite
we can apply the pumping lemma
n n n
             L {a b c : n 0}
Pumping Lemma gives a magic number   m
such 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 c


We can write:    w uvxyz



with 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 | 1




Pumping 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 | 1




We examine all the possible locations
of 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

                              m
Case 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 | 1

Case 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 | 1

Case 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   2
Case 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    2
Case 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

                              m
Case 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 | 1

Case 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

                              m
Case 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 | 1

Case 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             m
Case 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 | 1

Case 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 | 1

Case 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   2
Case 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   2
Case 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 | 1

Case 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 | 1

Case 4: Possibility 2: v contains a and b
 k1 k2 k 1          y contains only b
     m     k1 k 2    m k            m
aaa...aaaaabbaabb bbbbbbb...bbb ccc...ccc
u             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       2
Case 4: From Pumping Lemma: uv xy z            L
 k1 k2 k 1
     m     k1 k 2    m k           m
aaa...aaaaabbaabb bbbbbbb...bbb ccc...ccc
u            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       2
Case 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 | 1

Case 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 | 1

Case 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             m
Case 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 | 1

Case 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 contradiction


Therefore: The original assumption that
                    n n n
              L {a b c : n 0}
              is context-free must be wrong



Conclusion:   L is not context-free

Más contenido relacionado

La actualidad más candente

Push down automata
Push down automataPush down automata
Push down automata
Somya Bagai
 

La actualidad más candente (20)

Three Address code
Three Address code Three Address code
Three Address code
 
1.10. pumping lemma for regular sets
1.10. pumping lemma for regular sets1.10. pumping lemma for regular sets
1.10. pumping lemma for regular sets
 
Intermediate code generation in Compiler Design
Intermediate code generation in Compiler DesignIntermediate code generation in Compiler Design
Intermediate code generation in Compiler Design
 
POST’s CORRESPONDENCE PROBLEM
POST’s CORRESPONDENCE PROBLEMPOST’s CORRESPONDENCE PROBLEM
POST’s CORRESPONDENCE PROBLEM
 
Push down automata
Push down automataPush down automata
Push down automata
 
Push Down Automata (PDA) | TOC (Theory of Computation) | NPDA | DPDA
Push Down Automata (PDA) | TOC  (Theory of Computation) | NPDA | DPDAPush Down Automata (PDA) | TOC  (Theory of Computation) | NPDA | DPDA
Push Down Automata (PDA) | TOC (Theory of Computation) | NPDA | DPDA
 
Alphabets , strings, languages and grammars
Alphabets , strings, languages  and grammarsAlphabets , strings, languages  and grammars
Alphabets , strings, languages and grammars
 
Assembly Language Programming By Ytha Yu, Charles Marut Chap 6 (Flow Control ...
Assembly Language Programming By Ytha Yu, Charles Marut Chap 6 (Flow Control ...Assembly Language Programming By Ytha Yu, Charles Marut Chap 6 (Flow Control ...
Assembly Language Programming By Ytha Yu, Charles Marut Chap 6 (Flow Control ...
 
Simplification of cfg ppt
Simplification of cfg pptSimplification of cfg ppt
Simplification of cfg ppt
 
Pumping lemma for regular set h1
Pumping lemma for regular set h1Pumping lemma for regular set h1
Pumping lemma for regular set h1
 
Pumping lemma
Pumping lemmaPumping lemma
Pumping lemma
 
Regular expression with DFA
Regular expression with DFARegular expression with DFA
Regular expression with DFA
 
Turing Machine
Turing MachineTuring Machine
Turing Machine
 
Assignment on alp
Assignment on alpAssignment on alp
Assignment on alp
 
Chomsky Normal Form
Chomsky Normal FormChomsky Normal Form
Chomsky Normal Form
 
Finite automata
Finite automataFinite automata
Finite automata
 
Regular Expression to Finite Automata
Regular Expression to Finite AutomataRegular Expression to Finite Automata
Regular Expression to Finite Automata
 
TOC 7 | CFG in Chomsky Normal Form
TOC 7 | CFG in Chomsky Normal FormTOC 7 | CFG in Chomsky Normal Form
TOC 7 | CFG in Chomsky Normal Form
 
Compiler Design(NANTHU NOTES)
Compiler Design(NANTHU NOTES)Compiler Design(NANTHU NOTES)
Compiler Design(NANTHU NOTES)
 
Turing machines
Turing machinesTuring machines
Turing machines
 

Más de lavishka_anuj

Más de lavishka_anuj (10)

Simplifiaction of grammar
Simplifiaction of grammarSimplifiaction of grammar
Simplifiaction of grammar
 
One ques
One quesOne ques
One ques
 
Non regular languages
Non regular languagesNon regular languages
Non regular languages
 
Moore and mealy machines
Moore and mealy machinesMoore and mealy machines
Moore and mealy machines
 
Grammar
GrammarGrammar
Grammar
 
Flat
FlatFlat
Flat
 
Finite automata intro
Finite automata introFinite automata intro
Finite automata intro
 
Finite automata
Finite automataFinite automata
Finite automata
 
Pushdown automata
Pushdown automataPushdown automata
Pushdown automata
 
Turing machines
Turing machinesTuring machines
Turing machines
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Último (20)

Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 

Properties of cfg

  • 1. Properties of Context-Free languages
  • 2. Union Context-free languages are closed under: Union L1 is context free L1 L2 L2 is context free is context-free
  • 3. Example Language Grammar n n L1 {a b } S1 aS1b | R L2 {ww } S2 aS2a | bS2b | Union n n R S S1 | S2 L {a b } {ww }
  • 4. 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
  • 5. Concatenation Context-free languages are closed under: Concatenation L1 is context free L1L2 L2 is context free is context-free
  • 6. Example Language Grammar n n L1 {a b } S1 aS1b | R L2 {ww } S2 aS2a | bS2b | Concatenation n n R S S1S2 L {a b }{ww }
  • 7. 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
  • 8. Star Operation Context-free languages are closed under: Star-operation L is context free * L is context-free
  • 9. Example Language Grammar n n L {a b } S aSb | Star Operation n n L {a b } * S1 SS1 |
  • 10. 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 |
  • 11. Negative Properties of Context-Free Languages
  • 12. Intersection Context-free languages are not closed under: intersection L1 is context free L1 L2 L2 is context free not necessarily context-free
  • 13. Example n n m n m m L1 {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 n L1 L2 {a b c } NOT context-free
  • 14. Complement Context-free languages are not closed under: complement L is context free L not necessarily context-free
  • 15. Example n n m n m m L1 {a b c } L2 {a b c } Context-free: Context-free: S AC S AB A aAb | A aA | C cC | B bBc | Complement n n n L1 L2 L1 L2 {a b c } NOT context-free
  • 16. Context-free languages and Regular Languages
  • 17. The intersection of a context-free language and a regular language is a context-free language L1 context free L1 L2 L2 regular context-free
  • 18. Machine M1 Machine M2 NPDA for L1 DFA for L2 context-free regular Construct a new NPDA machine M that accepts L1 L2 M simulates in parallel M1 and M 2
  • 19. NPDA M1 DFA M2 a, b c a q1 q2 p1 p2 transition transition NPDA M q1, p1 a, b c q2 , p2 transition
  • 20. NPDA M1 DFA M2 q0 p0 initial state initial state NPDA M q0 , p0 Initial state
  • 21. Therefore: L ( M1 ) L( M 2 ) is context-free (since M is NPDA) L1 L2 is context-free
  • 22. The Pumping Lemma for Context-Free Languages
  • 23. Take an infinite context-free language Generates an infinite number of different strings Example: S AB A aBb B Sb B b
  • 24. S AB A aBb B Sb B b A derivation: Variables are repeated S AB aBbB abbB abbSb abbABb abbaBbBb abbabbBb abbabbbb
  • 25. Derivation tree string abbabbbb S A B a B b S b b A B a B b b b
  • 26. Derivation tree string abbabbbb S A B a B b S b b A B a B b b repeated b
  • 27. B Sb ABb B aBbBb aBbbb S b A B a B b b b B b
  • 28. Repeated Part B S b A B a B b b B  aBbbb
  • 29. Another possible derivation B S b A B B  aBbbb a B b b S b A B a B b b B  aBbbb aaBbbbbbb
  • 30. S A B a B b S b b A B B  aBbbb a B b b S  abbaBbbb
  • 31. S A B a B b S b b A B B  aBbbb a B b b S b A B a B b b S  abbaBbbb  abbaaBbbbbbb
  • 32. 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 b S  abbaaBbbbbbb abbaabbbbbbb
  • 33. S  abbaabbbbbbb Therefore, the string abbaabbbbbbb is also generated by the grammar
  • 34. We know: B b B  aBbbb S  abbaBbbb We also know this string is generated: S  abbaBbbb abbaabbbb
  • 35. We know: B b B  aBbbb S  abbaBbbb Therefore, this string is also generated: S  abbaBbbb abbaaBbbbbbb abbaabbbbbbb
  • 36. We know: B b B  aBbbb S  abbaBbbb Therefore, 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
  • 37. We know: B b B  aBbbb S  abbaBbbb Therefore, this string is also generated: S  abbaBbbb  i i abba(a ) B(bbb) bbb i i abba(a ) b(bbb) bbb
  • 38. Therefore, knowing that abbabbbb is generated by grammar G, we also know that i i abba(a) b(bbb) bbb is generated by G
  • 39. In general: We are given an infinite context-free grammar G Assume G has no unit-productions no -productions
  • 40. Take a string w L (G ) with length bigger than m > (Number of productions) x (Largest right side of a production) Consequence: Some variable must be repeated in the derivation of w
  • 41. u , v, x, y, z : strings of terminals String w uvxyz S u z Last repeated variable A v y repeated A x
  • 42. S Possible derivations: u z A S uAz v y A vAy A A x x
  • 43. We know: S uAz A vAy A x This string is also generated: * S uAz uxz 0 0 uv xy z
  • 44. We know: S uAz A vAy A x This string is also generated: * * S uAz uvAyz uvxyz 1 1 The original w uv xy z
  • 45. We know: S uAz A vAy A x This string is also generated: * * * S uAz uvAyz uvvAyyz uvvxyyz 2 2 uv xy z
  • 46. We know: S uAz A vAy A x This string is also generated: * * S uAz uvAyz uvvAyyz * * uvvvAyyyz uvvvxyyyz 3 3 uv xy z
  • 47. We know: S uAz A vAy A x This string is also generated: S * uAz * uvAyz * uvvAyyz * * uvvvAyyyz *  * uvvvvAy  yyyz * * uvvvvxy  yyyz i i uv xy z
  • 48. Therefore, any string of the form i i uv xy z i 0 is generated by the grammar G
  • 49. Therefore, knowing that uvxyz L(G) i i we also know that uv xy z L(G )
  • 50. S u z A v y A x Observation: | vxy | m Since A is the last repeated variable
  • 51. S u z A v y A x Observation: | vy | 1 Since there are no unit or productions
  • 52. 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
  • 53. Applications of The Pumping Lemma
  • 54. Non-context free languages n n n {a b c : n 0} Context-free languages n n {a b : n 0}
  • 55. Theorem: The language n n n L {a b c : n 0} is not context free Proof: Use the Pumping Lemma for context-free languages
  • 56. n n n L {a b c : n 0} Assume for contradiction that L is context-free Since L is context-free and infinite we can apply the pumping lemma
  • 57. n n n L {a b c : n 0} Pumping Lemma gives a magic number m such that: Pick any string w L with length | w | m m m m We pick: w a b c
  • 58. n n n L {a b c : n 0} m m m w a b c We can write: w uvxyz with lengths | vxy | m and | vy | 1
  • 59. n n n L {a b c : n 0} m m m w a b c w uvxyz | vxy | m | vy | 1 Pumping Lemma says: i i uv xy z L for all i 0
  • 60. n n n L {a b c : n 0} m m m w a b c w uvxyz | vxy | m | vy | 1 We examine all the possible locations of string vxy in w
  • 61. n n n L {a b c : n 0} m m m w a b c w uvxyz | vxy | m | vy | 1 m Case 1: vxy is within a m m m aaa...aaa bbb...bbb ccc...ccc u vxy z
  • 62. n n n L {a b c : n 0} m m m w a b c w uvxyz | vxy | m | vy | 1 Case 1: v and y consist from only a m m m aaa...aaa bbb...bbb ccc...ccc u vxy z
  • 63. n n n L {a b c : n 0} m m m w a b c w uvxyz | vxy | m | vy | 1 Case 1: Repeating v and y k 1 m k m m aaaaaa...aaaaaa bbb...bbb ccc...ccc u 2 2 z v xy
  • 64. n n n L {a b c : n 0} m m m w a b c w uvxyz | vxy | m | vy | 1 2 2 Case 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
  • 65. n n n L {a b c : n 0} m m m w a b c w uvxyz | vxy | m | vy | 1 2 2 Case 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!!!
  • 66. n n n L {a b c : n 0} m m m w a b c w uvxyz | vxy | m | vy | 1 m Case 2: vxy is within b m m m aaa...aaa bbb...bbb ccc...ccc u vxy z
  • 67. n n n L {a b c : n 0} m m m w a b c w uvxyz | vxy | m | vy | 1 Case 2: Similar analysis with case 1 m m m aaa...aaa bbb...bbb ccc...ccc u vxy z
  • 68. n n n L {a b c : n 0} m m m w a b c w uvxyz | vxy | m | vy | 1 m Case 3: vxy is within c m m m aaa...aaa bbb...bbb ccc...ccc u vxy z
  • 69. n n n L {a b c : n 0} m m m w a b c w uvxyz | vxy | m | vy | 1 Case 3: Similar analysis with case 1 m m m aaa...aaa bbb...bbb ccc...ccc u vxy z
  • 70. n n n L {a b c : n 0} m m m w a b c w uvxyz | vxy | m | vy | 1 m m Case 4: vxy overlaps a and b m m m aaa...aaa bbb...bbb ccc...ccc u vxy z
  • 71. n n n L {a b c : n 0} m m m w a b c w uvxyz | vxy | m | vy | 1 Case 4: Possibility 1: v contains only a y contains only b m m m aaa...aaa bbb...bbb ccc...ccc u vxy z
  • 72. n n n L {a b c : n 0} m m m w a b c w uvxyz | vxy | m | vy | 1 Case 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
  • 73. n n n L {a b c : n 0} m m m w a b c w uvxyz | vxy | m | vy | 1 2 2 Case 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
  • 74. n n n L {a b c : n 0} m m m w a b c w uvxyz | vxy | m | vy | 1 2 2 Case 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!!!
  • 75. n n n L {a b c : n 0} m m m w a b c w uvxyz | vxy | m | vy | 1 Case 4: Possibility 2: v contains a and b y contains only b m m m aaa...aaa bbb...bbb ccc...ccc u vxy z
  • 76. n n n L {a b c : n 0} m m m w a b c w uvxyz | vxy | m | vy | 1 Case 4: Possibility 2: v contains a and b k1 k2 k 1 y contains only b m k1 k 2 m k m aaa...aaaaabbaabb bbbbbbb...bbb ccc...ccc u 2 v xy 2 z
  • 77. n n n L {a b c : n 0} m m m w a b c w uvxyz | vxy | m | vy | 1 2 2 Case 4: From Pumping Lemma: uv xy z L k1 k2 k 1 m k1 k 2 m k m aaa...aaaaabbaabb bbbbbbb...bbb ccc...ccc u 2 v xy 2 z
  • 78. n n n L {a b c : n 0} m m m w a b c w uvxyz | vxy | m | vy | 1 2 2 Case 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!!!
  • 79. n n n L {a b c : n 0} m m m w a b c w uvxyz | vxy | m | vy | 1 Case 4: Possibility 3: v contains only a y contains a and b m m m aaa...aaa bbb...bbb ccc...ccc u vxy z
  • 80. n n n L {a b c : n 0} m m m w a b c w uvxyz | vxy | m | vy | 1 Case 4: Possibility 3: v contains only a y contains a and b Similar analysis with Possibility 2
  • 81. n n n L {a b c : n 0} m m m w a b c w uvxyz | vxy | m | vy | 1 m m Case 5: vxy overlaps b and c m m m aaa...aaa bbb...bbb ccc...ccc u vxy z
  • 82. n n n L {a b c : n 0} m m m w a b c w uvxyz | vxy | m | vy | 1 Case 5: Similar analysis with case 4 m m m aaa...aaa bbb...bbb ccc...ccc u vxy z
  • 83. 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)
  • 84. In all cases we obtained a contradiction Therefore: The original assumption that n n n L {a b c : n 0} is context-free must be wrong Conclusion: L is not context-free