2015-10-21 3 views
1

L'intersection d'un context free language P avec un regular language Q, est dit être toujours context free, mais je ne comprends toujours pas pourquoi il est sans contexte mais pas régulier.si L = P ∩ Q où P est le langage sans contexte (CFL) et Q est Regular alors L est dans?

La langue générée par une telle intersection a des cordes qui sont acceptées à la fois par un PDA et un DFA .Depuis toutes les langues sont régulièrement contexte libre et elle est acceptée par un DFA, il ne devrait pas être un regular language?

Répondre

1

L'ensemble de toutes les chaînes à partir d'un alphabet est une langue régulière, et son intetsection avec toute autre langue L de cet alphabet est précisément L.

En d'autres termes, ce n'est pas seulement les chaînes acceptées. Les chaînes qui ne sont pas acceptées sont également pertinentes.

0

Les lemmes suivants sont bien connus.

Lemme 2.1 Si L est un langage algébrique sans e puis il y a la grammaire dans Chomsky

normal

forme qui génère L.

Lemme 2.2 Si L = ∅ et L est régulier alors l est l'union de la langue régulière A1, ..., An

chaque Ai est acceptée par un DFA avec exactement un fi état final. Nous démontrons maintenant notre principal théorème.

Théorème 2.3 Si L1 est un langage libre de contexte et L2 est une langue régulière puis L1 ∩L2 est

contexte

libre.

Preuve:

Nous le cas où e ∈/L1 et L2 = ∅. Tous les autres cas, nous laissons au lecteur.

ByLemma2.1wecanassumethereexistsaChomskynormalformgrammarG = (N, Σ, S, P)

pour L1. D'après le lemme 2.2 L2 = A1 ∪ ___ ∪An où chaque Ai où chaque Ai est reconnu par

un DFA

avec exactement un état fi nal.Notez que

  L1 ∩L2 = L1 ∩(A1 ∪___∪An) = U(L1 ∩Ai). 

             i=1 

Depuis CFL sont fermées par union (et cela peut être prouvé à l'aide CFG de, donc ce n'est pas un

triche)

nous avons besoin seulement montrer que l'intersection de L1 avec un langue régulière reconnue par un DFA

avec

un fi l'état est CFL. Soit M = (Q, Σ, δ, s, {f}) un DFA avec exactement un état final.

Nous construisons le CFG G0 = (N0, Σ, S0, P0) pour L1 ∩L (M).

  1. Les nonterminals N0 sont triplets [p, V, r] où V ∈ N et p, r ∈ Q.

  2. Pour chaque A → BC de production P, pour chaque p, q, r ∈ Q, nous avons la production

[p, A, r] → [p, B, q] [q, C, r]

à P0.

  1. Pour chaque production A → σ dans P, pour chaque (p, σ, q) ∈ Q × Σ × Q tel que δ (p, σ) = q nous

ont la production

en P0

  1. S0 = [s, s, f]

[p, A, q] → σ