6.2. PROPIEDADES DE CLAUSURA 111Input a M ′✻hControl<strong>de</strong> M ′❄Buffer✻Control<strong>de</strong> M✛❄Stack<strong>de</strong>M y M ′Figure 6.4: Construcción <strong>de</strong> un AA que acepte h −1 (L)Por lo tanto si M acepta h(w), esto es,(q 0 , h(w), Z 0 ) ⊢ M∗(p, ε, β)para p ∈ F y β ∈ Γ ∗ , se concluye que([q 0 , ε] , w, Z 0 ) ⊢ M ′ ∗([p, ε] , ε, β)es <strong>de</strong>cir, M ′ acepta w. Por lo tanto L(M ′ ) ⊇ h −1 (L(M)).Al revés, suponga que M ′ acepta w = a 1 a 2 . . . a N . Como regla (3) sólo pue<strong>de</strong> aplicarse con el buffer(segundo componente <strong>de</strong> Q ′ ) vacío, la secuencia <strong>de</strong> movidas <strong>de</strong> M ′ que conducen a aceptar w, pue<strong>de</strong> escribirsecomo:([q 0 , ε] , a 1 a 2 . . . a N , Z 0 )⊢∗M ′([p 1 , ε] , a 1 a 2 . . . a N , α 1 )⊢M ′ ([p 1, h(a 1 )] , a 2 . . . a N , α 1 )⊢∗M ′([p 2 , ε] , a 2 . . . a N , α 2 )⊢M ′ ([p 2, h(a 2 )] , a 3 . . . a N , α 2 ).⊢∗M ′([p N−1 , ε] , a N , α N )⊢M ′ ([p N−1, h(a N )] , ε, α N )⊢∗M ′([p N , ε] , ε, α N+1 )En que p N ∈ F . Las transiciones <strong>de</strong> estados [p i , ε] a [p i , h(a i )] son por regla (3); las <strong>de</strong>más, por reglas(1) y (2). Por lo tanto (q 0 , ε, Z 0 ) ⊢ M∗(p1 , ε, α 1 ) y, para todo i,(p i , h(a i ), α i ) ⊢ M∗(pi+1 , ε, α i+1 )lo que indica que(q 0 , h(a 1 a 2 . . . a N ), Z 0 ) ⊢ M∗(pN , ε, α N+1 )es <strong>de</strong>cir, h(a 1 a 2 . . . a N ) ∈ L(M). Luego, L(M ′ ) ⊆ h −1 (L(M)) y por lo tanto se concluye que L(M ′ ) =h −1 (L(M)).
112 CHAPTER 6. PROPIEDADES DE LOS LENGUAJES LIBRES DE CONTEXTOHay varias propieda<strong>de</strong>s <strong>de</strong> clausura <strong>de</strong> los lenguajes regulares que los lenguajes libres <strong>de</strong> contexto noposeen. Notable es el caso <strong>de</strong> la intersección y <strong>de</strong> la complementación.Teorema 31 Los lenguajes libres <strong>de</strong> contexto no son cerrados bajo intersección.Demostración : Ya se mostró que L 1 = {a i b i c i /i ≥ 1} no es un lenguaje libre <strong>de</strong> contexto. Se muestra quelos siguientes lenguajes sí son libres <strong>de</strong> contexto.L 2 = {a i b i c j /i ≥ 1 y j ≥ 1}L 3 = {a i b j c j /i ≥ 1 y j ≥ 1}Por ejemplo, las siguientes gramáticas los generanS 2 → AB S 3 → CDA → aAb|ab C → aC|aB → cB|c D → bDc|bcSin embargo L 1 = L 2 ∩ L 3 y entonces, si fueran cerrados bajo intersección, L 1 <strong>de</strong>biera ser libre <strong>de</strong>contexto. Se concluye que los lenguajes libres <strong>de</strong> contexto no son cerrados bajo intersección.Corolario 2 Los lenguajes libres <strong>de</strong> contexto no son cerrados bajo complementación.Demostración : Ya que son cerrados bajo unión, si fueran cerrados bajo complementación serían, por la ley<strong>de</strong> De Morgan, (L 1 ∩ L 2 = L 1 ∪ L 2 ), cerrados bajo intersección.Teorema 32 Si L es un lenguaje libre <strong>de</strong> contexto y R es un conjunto regular, entonces L ∩ R es libre <strong>de</strong>contexto.Demostración : Sea L = L(M) para un AA, M = (Q M , Σ, Γ, δ M , q 0 , Z 0 , F M ) y sea R = L(A) para un AFD,A = (Q A , Σ, δ A , p 0 , F A ). Se construye un AA M ′ para L ∩ R ejecutando M y A en paralelo. M ′ simulamovidas <strong>de</strong> M en input ε sin cambiar el estado <strong>de</strong> A. Cuando M hace una movida en símbolo a, M ′ simulaesa movida y también simula los cambios <strong>de</strong> estado <strong>de</strong> A en input a. M ′ acepta si y sólo si tanto A comoM aceptan. Formalmente seaM ′ = (Q A × Q M , Σ, Γ, δ, [p 0 , q 0 ] , Z 0 , F A × F M )con δ <strong>de</strong>finida por δ([p, q] , a, X) ⊇ {([p ′ , q ′ ] , γ)} ssi δ A (p, a) = p ′ y δ M (q, a, X) ⊇ {(q ′ , γ)}. Si a = ε, entoncesp ′ = p.Graficamente, la máquina se comporta como sigueUna simple inducción en i muestra quesi y sólo si([p 0 , q 0 ] , w, Z 0 ) ⊢ M ′ i([p, q] , ε, γ)(q 0 , w, Z 0 ) ⊢ Mi(q, ε, γ) y δ(p0 , w) = pLa base, i = 0, es trivial pues p = p 0 y q = q 0 , γ = Z 0 y w = ε. Para la inducción, asuma que es verdadpara i − 1, y sea([p 0 , q 0 ] , xa, Z 0 ) M ⊢ i−1 ′ ([p ′ , q ′ ] , a, β) M ⊢ ′([p, q] , ε, γ)✷✷✷