Ci sono molti aspetti di questa bella domanda, quindi strutturerò questa risposta di conseguenza.
1. La risposta alla domanda in scatola è no . Il termine suggerito dal tuo amico è davvero un controesempio.Ω3=(λx.xxx)(λx.xxx)
Nei commenti si era notato in precedenza che si hanno controesempi come "l'orco" , fino a quando la domanda non si limita a termini senza forma normale testa debole. Tali termini sono noti comezero termini. Questi sono termini che non si riducono mai a un lambda, sotto qualsiasi sostituzione.K∞=YK
Per qualsiasi combinatore a punto fisso (fpc) , YY è un termine cosiddettomuto(AKA "radice attiva"): ogni sua riduzione si riduce ulteriormente ad un redex.YI
non è muto; né è Ω 3 - come si manifesta ispezionando la sua serie di riduttori, che è
{ Ω 3 ( λ x . x x x ) ⋯ ( λ x . x x x ) ⏟ k ∣ kK∞Ω3 −
{Ω3(λx.xxx)⋯(λx.xxx)k∣k∈N}
Piuttosto che dare un argomento preciso sul perché sia muto per tutti gli fpcs Y (in effetti, per qualsiasi combinatore di loop)YIY che può essere laborioso ma si spera abbastanza chiaro - tratterò l'ovvia generalizzazione della tua domanda, limitando anche i termini muti.−−
I termini muti sono una sottoclasse di zero termini che sono una sottoclasse di termini irrisolvibili. Insieme, queste sono forse le scelte più popolari per il concetto di "insignificante" o "indefinito" nel calcolo lambda, corrispondente rispettivamente ai banali alberi Berarducci, Levy-Longo e B \ "ohm. La grata delle nozioni di termini insignificanti è stato analizzato in dettaglio da Paula Severi e Fer-Jan de Vries. [1] I termini muti costituiscono l'elemento inferiore in questo reticolo, ovvero la nozione più restrittiva di "indefinito".
2. Sia un termine muto e Y sia un combinatore in loop con la proprietà che Y IMY .YI=M
Per prima cosa sosteniamo che, per una nuova variabile , Y z in realtà assomiglia molto alla Y M che hai descritto, ottenuta "spruzzando z intorno" a una riduzione dizYzYMz .M
Di Church-Rosser, e M hanno una reduct comune, M ′ . Prendi una riduzione standard R : Y I ↠ s M ′ . Ogni subterma di M ′ corrisponde a un sottoterma unico di Y I ≡ Y z [ z : = I ] in questa riduzione. Per ogni sottoterma C [ N ] = M ′ , i fattori R come Y I N 0 ]YIMM′R:YI↠sM′M′YI≡Yz[z:=I]C[N]=M′R , dove la gamba media è una riduzione della testa debole (e la gamba finale è interna). N è "sorvegliato" da una z se questa seconda tappa contrae del redex I P , con I un discendente della sostituzione [ z : =YI↠C[N0]↠whC[N1]↠iC[N]NzIPI .[z:=I]
Ovviamente, deve proteggerne alcuniY sotterfugi di , altrimenti sarebbe anche muto. D'altra parte, bisogna fare attenzione a non proteggere quei sottoterme necessari per la non terminazione, altrimenti non potrebbe sviluppare l'infinito albero B \ "ohm di un combinatore in loop.M
È quindi sufficiente trovare un termine muto in cui ogni sotterfugio, di ogni redazione, è necessario per la non normalizzazione, nel senso che mettere una variabile davanti a quel sotterfugio produce un termine normalizzante.
Considera , dove W = λ w . w I w w . Questo è come Ω , ma ad ogni iterazione, controlliamo che l'occorrenza di W nella posizione dell'argomento non sia "bloccata" da una variabile head, fornendo un'identità. Mettere una z davanti a qualsiasi sottrazione alla fine produrrà una forma normale di forma z P 1 ⋯ P k , dove ogni P i è I , W o una " zΨ=WWW=λw.wIwwΩWzzP1⋯PkPiIWz prinkling" di questi. Quindi Ψ è un controesempio alla domanda generalizzata.
TEOREMA. Non esiste un combinatore di loop tale che Y I = Ψ .YYI=Ψ
PROVA. L'insieme di tutte le riduzioni di è { W W , W I W W , I I I I W W , I I I W W , I I W W , I W W } . Per essere convertibile con Ψ , Y devo ridurre a uno di questi. L'argomento è identico in tutti i casi; per concretezza, supponiamo che Y I ↠ I I W WΨ{WW,WIWW,IIIIWW,IIIWW,IIWW,IWW}ΨYIYI↠IIWW .
Qualsiasi riduzione norma YI↠sIIWW può essere considerata come
YI↠wPN4,P↠wQN3,Q↠wN1N2,thus YI↠wN1N2N3N4N1↠I,N2↠I,N3↠W,N4↠W
Facciamo riferimento alla riduzione come R 0 e alle riduzioni a partire da N i come R iYI↠wN1N2N3N4R0NiRi .
Queste riduzioni possono essere aumentate sulla sostituzione per produrre
R z 0 : Y z ↠[z:=I]
modo cheR0è la composizioneYI R z 0 [ z : = I ] ↠
Rz0:Yz↠zk(M1M2M3M4)Ni≡Mi[z:=I]
R0 .
YI↠Rz0[z:=I]Ik(N1⋯N4)↠kwN1⋯N4
Allo stesso modo, possiamo sollevare ogni come
R z i : M iRi:Ni↠N∈{I,W}
Rzi:Mi↠NziRi:Ni↠Rzi[z:=I]Nzi[z:=I]↠IN
La seconda tappa di questa fattorizzazione di consiste precisamente nel contrarre quei I -redex che sono creati dalla sostituzione N z i [ z : = I ] . (In particolare, poiché N è una forma normale, così è N z i .)RiINzi[z:=I]NNzi
è quello che abbiamo chiamato un " z -sprinkling di N ", ottenuta ponendo un numero qualsiasi di z s circa qualsiasi numero di sottotermini di N . Poiché N ∈ { I , W } , la forma di N z i sarà una delleNzizNzNN∈{I,W}Nzi
zk1(λx.zk2(x))zk1(λw.zk2(zk3(zk5(zk7(w)zk8(λx.zk9(x)))zk6(w))zk4(w)))
Quindi , con N z i una z- dispersione di I per i = 1 , 2 e di W per i = 3 , 4M1M2M3M4↠Nz1Nz2Nz3Nz4NzizIi=1,2Wi=3,4 .
Allo stesso tempo, il termine dovrebbe comunque ridursi per produrre l'infinito fpc Bohm tree z ( z ( z ( ⋯ ) ) ) . Quindi deve esistere una "spolverata" z k j in una delle N z i che arriva all'infinito spesso alla testa del termine, ma non ne blocca ulteriori riduzioni.Nz1Nz2Nz3Nz4z(z(z(⋯)))zkjNzi
E ora abbiamo finito. Ispezionando ogni , per i ≤ 4 , e ogni possibile valore di k j , per j ≤ 2 + 7 ⌊ i - 1Nzii≤4kjj≤2+7⌊i−12⌋ , troviamo che non esiste tale spruzzatura.
WIIWWWz=λw.z(wIww)
IIWWz→IWWz→WWz→WzIWzWz→z(IIII)WzWz↠zIWzWz
Ω ammette una tale spolveratura proprio perché un certo subterma può essere "custodito" senza influire sulla non normalizzazione. La variabile si trova in posizione di testa, ma rimangono abbastanza redex sotto.)
zMN=λz.MzNI=M . Questo è stato usato da Statman in [2], per esempio.
YI=MYMzM↦YMMYMM
Y⌈M⌉z={z(Y⌈P[x:=Q]⌉z)Y⌈N⌉zM≡(λx.P)QM is not a redex and M→whN
[1] Severi P., de Vries FJ. (2011) Decomposizione della grata di insiemi insignificanti nel calcolo lambda infinito. In: Beklemishev LD, de Queiroz R. (a cura di) Logica, lingua, informazione e calcolo. WoLLIC 2011. Appunti delle lezioni in Informatica, vol 6642.
[2] Richard Statman. Non esiste un combinatore S, K iperrecorrente. Rapporto di ricerca 91–133, Dipartimento di Matematica, Carnegie Mellon University, Pittsburgh, Pennsylvania, 1991.