Не можна визначити, чи розпізнає PDA набір усіх рядків над вхідним алфавітом.Σ∗
Додано. Не можна визначити, що як наслідок того, що "недійсні" обчислення TM можуть бути кодовані як рядки CFG. Це лема 8.7 введення в теорію автоматів Хопкрофта та Уллмана. Автори посилаються на цей результат на Хартманіс (1967), безтекстові мови та машинні обчислення Тюрінга.L(G)=Σ∗
Зручне кодування обчислень машини Тьюрінга полягає в наступному. Конфігурація TM M являє собою рядок форми x p y, де u v - вміст стрічки, а стан p вказується на місці, де знаходиться головка. Важливо зауважити, що обчислювальні кроки ТМ - це локальні зміни: u c p a v ⊢ u q c b v для інструкції ( p , a , q , b , LMMxpyuvpucpav⊢uqcbv де голова рухається ліворуч, а u c p a v ⊢ u c b q v для інструкції ( p , a , q , b , R ), де голова рухається праворуч.(p,a,q,b,L)u cpav⊢ucbqv( р , а , q, b , R )
Дійсне обчислення може бути кодоване як рядок де w 0 = q 0 x кодує початкову конфігурацію на рядок x , і ми маємо належні кроки w i ⊢ w i + 1 . Остання конфігурація в рядку повинна бути остаточною, тобто мати стан зупинки / завершення.ш0# шR1# ш2# шR3# …ш0= q0ххшi⊢ шi + 1
Тепер це вправа перевірити, що рядки, які не є допустимими обчисленнями, можуть бути згенеровані CFG (або прийняті PDA). Рядки, які не складаються з конфігураційних послідовностей, навіть є регулярними. Інакше хтось недетерміновано вгадує позицію, де не w i ⊢ w i + 1 . Ця частина рядка породжена граматикою, схожою на одну для { x # y R ∣ x , y ∈ { a , b } ∗ , x ≠ y } .ГМ шi⊢ шi + 1{ x # yR∣ x ,y∈ { a , b }∗, x ≠y}
Якщо TM не мають обслуговуються рядків, він не буде мати ніяких дійсних обчислень, і всі рядки генерується граматикою G M .МГМ