Belki bir çaprazlama argümanı kullanarak ile bir MPA tarafından tanınamayan bir DPSACE (n) dilinde bir dil oluşturabilirsiniz ( muhtemelen fikir Ben'in cevabındaki dile benzer, ama ben buna girmedim):k=1
alfabesi üzerinden bir geçiş listesi kullanarak bir MPA kodladığınızı varsayın :Σ={0,1}
s,a,p→s′,p′,L|R;...#
burada geçerli durumdur, geçerli semboldür, çakıl durumudur, yeni durumdur, yeni çakıl durumudur, hareket yönüdür, bir bitiş noktasıdır).a p s ′ p ′ L | R #saps′p′L|R#
Bir Turing makinesi girişi bir geçerli bir açıklaması olup olmadığını kontrol edebilir ve giriş üzerinde simüle için kullanarak adım hücreleri, girdiyi bu şekilde esnetiyor:MxMPAxx4|x|6|x|+log|x|
MPA description # MPA tape # curr_state # counter #
Nerede:
- MPA açıklaması orijinal giriş dizgisidir (uzunluğu );x|x|
- MPA bandı MPA bandı temsilidir: her hücre için kafa bayrağı, çakıl bayrağı ve (sabit) bant içeriğini (uzunluğu ) olan 3 bit kullanabiliriz ;3|x|
- curr_state, MPA'nın geçerli durumunu depolar (length );log|x|
- sayaç, her simülasyon adımından sonra güncellenen simülasyon adımı sayacıdır ( uzunluğu vardır ).2|x|
Eğer içinde durur TM sonra adım ters verir (bu durdurma değilse çıkışları 0).MPAx4|x|MM
Yeterince büyük , simülasyon adımları tam bir konfigürasyon açıklamasının uzunluğundan daha büyük olan ; bu şekilde adımlarında , sonsuza kadar döneceğinden eminiz.4 | x | 2 | x | + 2 | x | günlüğü | x | M P A x M P A x 4 | x |x>x04|x|2|x|+2|x|log|x|MPAxMPAx4|x|
Bir olduğunu varsayalım aynı dil karar arasında her zaman durur, sonra ve bir "daha büyük" inşa edebilirsiniz ile aynı dili karar (sadece dum durumları ekleyin). LMPAyLM P A y ′ y ′ > x 0MMPAy′y′>x0
Yapım , bu bir çelişki.MPAy′(y′)=1−M(y′)=1−MPAy′(y′)