Nous réduisons du problème de correspondance de la poste . Supposons que nous pouvons, en fait, décider de la langue .{ ⟨ G ⟩ | G a CFG et L ( G ) ambigus }
Étant donné : Construisez le CFG :
,
(où sont de nouveaux caractères ajoutés à l'alphabet, par exemple, ).α1, … , Αm, β1, … , ΒmG = ( V, Σ , R , S)V= { S, S1, S2}R = { S→ S1| S2, S1→ α1S1σ1| ⋯ | αmS1σm| α1σ1| ⋯ | αmσm, S2→ β1S2σ1| ⋯| βmS2σm| β1σ1| ⋯ | βmσm}σjeσje= i-
Si le langage est ambigu, il y a dérivation d'une chaîne de deux manières différentes. En supposant, wlog, que les dérivations commencent toutes les deux par la règle , la lecture des nouveaux caractères en arrière jusqu'à leur fin s'assure qu'il ne peut y avoir qu'une seule dérivation, donc ce n'est pas possible. On voit donc que la seule ambiguïté peut provenir d'un et d'un 'start'. Mais alors, en prenant la sous-chaîne de jusqu'au début des nouveaux caractères, nous avons une solution au PCP (puisque les chaînes d'indices utilisées après ces points correspondent).wS→ S1S1S2w
De même, s'il n'y a pas d'ambiguïté, le PCP ne peut pas être résolu, car une solution impliquerait une ambiguïté qui ne fait que suivre et , où sont des chaînes de correspondance de et (depuis la correspondance de ). S ⇒ S 2 ⇒ ∗ β ˜ σ α = β α β ˜ σS⇒ S1⇒∗α σ~S⇒ S2⇒∗βσ~α = βαβσ~
Par conséquent, nous avons réduit le PCP, et comme c'est indécidable, nous avons terminé.
(Faites-moi savoir si j'ai fait quelque chose de stupide!)