Вы показываете, что любая модель может симулировать другую, которой присвоен компьютер в модели A, показывает, что в модели B есть машина, которая выполняет ту же функцию. Обратите внимание, что это моделирование не обязательно должно быть вычислимо (но обычно так и есть).
Рассмотрим, например, автоматы с двумя стеками (2-PDA). В другом вопросе моделирование в обоих направлениях обрисовано в общих чертах. Если бы вы сделали это формально, вы бы взяли общую машину Тьюринга (кортеж) и явно сконструировали, какой будет соответствующий 2-КПК, и наоборот.
Формально такая симуляция может выглядеть так. Позволять
M=(Q,ΣI,ΣO,δ,q0,QF)
быть машиной Тьюринга (с одной лентой). Потом,
AM=(Q∪{q∗1,q∗2},ΣI,Σ′O,δ′,q∗1,QF)
с Σ′O=ΣO∪.{$} и δ′ определяется
(q∗1,a,hl,hr)→δ′(q∗1,ahl,hr) для всехa∈ΣI иhr,hl∈ΣO ,
(q∗1,ε,hl,hr)→δ′(q∗2,hl,hr) для всехhr,hl∈ΣO ,
(q∗2,ε,hl,hr)→δ′(q∗2,ε,hlhr) для всехhr,hl∈ΣO сhl≠$ ,
(q∗2,ε,$,hr)→δ′(q0,$,hr) для всехhr∈ΣO ,
(q,ε,hl,hr)→δ′(q′,ε,hla)⟺(q,hr)→δ(q′,a,L) для всехq∈Q иhl∈ΣO ,
(q,ε,$,hr)→δ′(q′,$,□a)⟺(q,hr)→δ(q′,a,L) для всехq∈Q ,
(q,ε,hl,hr)→δ′(q′,ahl,ε)⟺(q,hr)→δ(q′,a,R) для всехq∈Q,hl∈Σ′O ,
(q,ε,hl,$)→δ′(q,hl,□$) для всехq∈Q иhl∈Σ′O , и
(q,ε,hl,hr)→δ′(q′,hl,a)⟺(q,hr)→δ(q′,a,N) для всехq∈Q,hl∈Σ′O
является эквивалентом 2-КПК. Здесь мы предполагаем, что машина Тьюринга использует □∈ΣO качестве пустого символа, оба стека начинаются с маркера $∉ΣO (который никогда не удаляется) и (q,a,hl,hr)→δ′(q′,l1…li,r1…rj) означает, что AM потребляет вход a , переключает состояния изq кq′ и обновляет стеки следующим образом:
[ источник ]
Осталось показать, что AM входит в конечное состояние на x∈Σ∗I тогда и только тогда, когда это делает MЭто довольно ясно по построению; формально вы должны преобразовать принимаемые прогоны на M в принятие прогонов на AM и наоборот.