Se dice que la intersección de un lenguaje libre de contexto L con un lenguaje regular M siempre está libre de contexto. Entendí la prueba de construcción de productos cruzados, pero todavía no entiendo por qué es libre de contexto pero no regular.
El lenguaje generado por tal intersección tiene cadenas que son aceptadas tanto por un PDA como por un DFA. Dado que es aceptado por un DFA, ¿no debería ser un lenguaje normal? Además, si la intersección es regular, también implica sin contexto, ya que todos los lenguajes regulares también están libres de contexto.
¿Alguien puede explicarme por qué el lenguaje obtenido por tal intersección no es regular?
Respuestas:
Si tiene contexto, entonces hay un PDA P que lo acepta. Si M es regular, entonces hay un DFA F que lo acepta. El lenguaje intersección consiste en las palabras que son reconocidos por P y F .L P M F P F
Cualquier palabra que se encuentra en la intersección es aceptada por , pero no todas las palabras que son aceptados por F se encuentran en la intersección: sólo aquellos que también son aceptados por P .F F P
La prueba de producto cruzado consiste en construir un autómata que contiene la mecánica de P y F , y que acepta solo palabras para las cuales ambas partes aceptan. El autómata multiproducto es un PDA (y, por lo tanto, el lenguaje reconocido no tiene contexto), intuitivamente, porque el producto cruzado con un DFA de estado n consiste en tomar n copias de P y agregar ( q , a , [ q ] ) flechas entre estados coincidentes en P donde el DFA tiene unP⊗F P F n n P (q,a,[q]) P a flechas El resultado no es un autómata finito en general (ni siquiera uno no determinista) porque la parte basa en la pila y esta dependencia no desaparece en P ⊗ F en general.P P⊗F
Un ejemplo trivial es que es regular, y si L no tiene contexto pero no es regular, entonces L ∩ A ∗ = L no tiene contexto pero no es regular.A∗ L L∩A∗=L
fuente