W jaki sposób nieterminalne

14

Myślałem o tych pytaniach:

Czy istnieje typowany rachunek lambda, który jest spójny i kompletny Turinga?

/cs/65003/if-%CE%BB-xxx-has-a-type-then-is-the-type-system-inconsistent

i już teraz istnieją trudne odpowiedzi na powiązane pytania w nietypowym otoczeniu! Mówiąc dokładniej, jestem ciekawy, czy możemy odzyskać kompletność Turinga po rozwiązaniu umowy w następujący sposób:

Pytanie: Biorąc pod uwagę (czysty) λ term z nie słabej głowicy postaci normalnej, nie jest zawsze istnieć operator paradoksalny tak, że Y t Y t ( λ x . x ) = ttYt

Yt (λx.x)=t

Wszystkie równości są brane modulo βη .

Właściwie podejrzewam, że ta wersja pytania jest fałszywa , więc można rozluźnić pytanie w kombinatorach pętlowych , w których kombinator pętli jest zdefiniowany jako taki, że dla każdego f Y f = f ( Y f ) gdzie Y ponownie musi być kombinatorem pętli. Oczywiście wystarczy to, aby jak zwykle zdefiniować funkcje rekurencyjne.Yf

Y f=f (Y f)
Y

Mówiąc bardziej ogólnie, jestem zainteresowany znalezieniem „naturalnych” sposobów przejścia od nie kończącego się do kombinatora pętli, nawet jeśli powyższe równanie nie jest spełnione.t

Jestem również zainteresowany słabszych wersji powyższej kwestii, np może być brane za wniosek t t 1 t 2 ... t n z każdego t í w postaci normalnej (choć nie jestem pewien, że naprawdę pomaga).ttt1 t2tnti


Jak dotąd: naturalne podejście polega na przyjmowaniu i „pieprzowym” stosowaniu f , nptf

Ω:=(λx.x x)(λx.x x)

staje się zwykłym

YΩ:=λf.(λx.f (x x)) (λx.f (x x))

Chodzi o to, aby zmniejszyć wierzchołek do zastosowania lambda λ x . t i zastąp go λ x . f t , ale następny krok jest niejasny (i jestem sceptyczny, że może to prowadzić do czegokolwiek).tλx.tλx.f t

Nie jestem pewien, czy rozumiem wystarczająco dużo drzew Böhm, aby zobaczyć, czy mają coś do powiedzenia, ale bardzo w to wątpię, ponieważ drzewo Böhm jest po prostu , które nie przypomina niczego dla Y Ω : nieskończone drzewo abstrakcje.ΩYΩ


Edycja : Mój przyjaciel zauważył, że to naiwne podejście nie działa z terminem:

(λx.x x x)(λx.x x x)
Naiwne podejście dałoby Ale toniejest kombinator punktowy! Można to naprawić, zastępując drugą aplikację f przez
(λx.f (x x x))(λx.f (x x x))
f , ale potem f Nie podam oryginalnego terminu. Nie jest jednak jasne, czy ten termin jest kontrprzykładem w stosunku do pierwotnego pytania (i na pewno nie jest kontrprzykładem do bardziej ogólnego).λyz.f yfI
cody
źródło
Uważam, że należy wzmocnić wymóg, aby t nie miało normalnej formy głowy, aby wykluczyć również słabe formy normalnej głowy. Jeśli t jest w stanie wytworzyć lambda, to ponieważ w pozycji głowy zawsze masz kombinator punktu stałego (zaczynając od f = id), lambda powinna być przez niego wytworzona, co nie jest możliwe.
Andrea Asperti,
@AndreaAsperti oczywiście masz rację. Poprawię pytanie.
cody

Odpowiedzi:

7

To bardzo miłe pytanie ma kilka aspektów, więc odpowiednio ułożę tę odpowiedź.

1. Odpowiedź na pytanie w ramce brzmi „ nie” . Termin sugerowany przez twojego przyjaciela jest rzeczywiście kontrprzykładem.Ω3=(λx.xxx)(λx.xxx)

W komentarzach zauważono wcześniej, że istnieją kontrprzykłady, takie jak „ogre” , dopóki pytanie nie ogranicza się do terminów bez słabej postaci normalnej głowy. Takie warunki są znane jako warunki zerowe . Są to warunki, które nigdy nie sprowadzają się do lambda, pod żadnym warunkiem.K=YK

Do dowolnego kombinatora punktów stałych (FPC) , Y I jest tak zwanymterminemwyciszenia(AKA „root-active”): każde jego zmniejszenie redukuje się do redeksu.YYI

nie jest niemy; ani nie jest Ω 3 - co przejawia się poprzez sprawdzenie jego zestawu reduktorów, którym jest { Ω 3 ( λ x . x x x ) ( λ x . x x x ) KΩ3

{Ω3(λx.xxx)(λx.xxx)kkN}

Zamiast podawać dokładny argument, dlaczego jest wyciszony dla wszystkich sztukYI (w rzeczywistości dla dowolnego kombinatora pętli) - co może być pracochłonne, ale mam nadzieję, że wystarczająco jasne - zajmę się oczywistym uogólnieniem twojego pytania, ograniczając się również do słów niemych.Y

Warunki wyciszenia są podklasą terminów zerowych, które są podklasą terminów nierozwiązywalnych. Razem są to prawdopodobnie najpopularniejsze wybory dla pojęcia „bez znaczenia” lub „nieokreślony” w rachunku lambda, odpowiadające odpowiednio trywialnym drzewom Berarducciego, Levy-Longo i B \ ". Siatka pojęć bezsensownych terminów została szczegółowo przeanalizowana przez Paulę Severi i Fer-Jana de Vriesa. [1] Nieme terminy stanowią dolny element tej sieci, tj. najbardziej restrykcyjne pojęcie „nieokreślonego”.

2. Niech będzie niemym terminem, a YMY być pętli syntezatora z taką właściwość, że .YI=M

Najpierw twierdzą, że dla świeżego zmiennej , Y oo faktycznie wygląda trochę jak Y MzYzYM opisałeś, uzyskiwany przez „pokropienie around” jakiegoś REDUCT z M .zM

Według Church-Rosser, i M mają wspólną redukcję, M . Wziąć standardową redukcję R : Y I s M " . Każdy podterm M odpowiada unikatowemu podtermowi Y I Y z [ z : = I ] w ramach tej redukcji. Dla dowolnego terminu C [ N ] = M , RYIMMR:YIsMMYIYz[z:=I]C[N]=MR współczynniki jako [ z : = I ] . , gdzie środkowa noga jest słabą redukcją głowy (a ostatnia noga jest wewnętrzna). N jest „strzeżony” przez z, jeśli ta druga odnoga zawiera pewne redeksy I P , a I jest potomkiem podstawieniaYIC[N0]whC[N1]iC[N]NzIPI[z:=I]

Oczywiście, musi strzecniektórychsubtermów M , bo w przeciwnym razie byłoby to również nieme. Z drugiej strony, należy uważać, aby nie strzec tych subtermów, które są potrzebne do nieterminacji, ponieważ w przeciwnym razie nie byłby w stanie rozwinąć nieskończonego drzewa B-omowego kombinatora pętli.YM

Wystarczy zatem znaleźć wyciszony termin, w którym każdy termin, każdy redukcja, jest potrzebny do nienormalizacji, w tym sensie, że umieszczenie zmiennej przed tym terminem daje termin normalizujący.

Rozważmy , gdzie W = λ w . w I w w . To jest jak Ω , ale przy każdej iteracji sprawdzamy, czy wystąpienie W w pozycji argumentu nie jest „blokowane” przez zmienną head, poprzez podawanie jej tożsamości. Umieszczenie z przed dowolnym podtermem ostatecznie da normalną formę kształtu z P 1P k , gdzie każde P i oznacza albo I , WΨ=WWW=λw.wIwwΩWzzP1PkPiIW lub „ -sprinkling” owych. Więc ΨzΨ jest kontrprzykładem na pytanie uogólnione.

TWIERDZENIE. Nie ma takiego kombinatora pętli , że YY .YI=Ψ

DOWÓD. Zbiór wszystkich reduktorów to { W W , W I W W , I I I I W W , I I I W W , I I W W , I W W } . Aby być zamiennym za pomocą Ψ , Y muszę zredukować do jednego z nich. Argument jest identyczny we wszystkich przypadkach; dla konkretności załóżmy, że Y I IΨ{WW,WIWW,IIIIWW,IIIWW,IIWW,IWW}ΨYI .YIIIWW

Każda standardowa redukcja może być uwzględniona jako Y I w P N 4 , P w Q N 3 , Q w N 1 N 2 , a zatem  Y I w N 1 N 2 N 3 N 4 N 1I , N 2W , N 4YIsIIWW

YIwPN4,PwQN3,QwN1N2,thus YIwN1N2N3N4N1I,N2I,N3W,N4W

Odwołajmy się do redukcji jako R 0 oraz do redukcji rozpoczynających się od N i jakoYIwN1N2N3N4R0Ni .Ri

Te redukcje można znieść ponad podstawienie aby uzyskać R z 0 : Y z z k ( M 1 M 2 M 3 M 4 ) N iM i [ z : = I ] tak, że R 0 to kompozycja Y I R z 0 [ z : = I ] I[z:=I]

R0z:Yzzk(M1M2M3M4)NiMi[z:=I]
R0 .YIR0z[z:=I]Ik(N1N4)wkN1N4

Ri:NiN{I,W}

Riz:MiNizRi:NiRiz[z:=I]Niz[z:=I]IN

RiINiz[z:=I]NNiz

NizzNzNN{I,W}Niz

zk1(λx.zk2(x))zk1(λw.zk2(zk3(zk5(zk7(w)zk8(λx.zk9(x)))zk6(w))zk4(w)))

M1M2M3M4N1zN2zN3zN4zNizzIi=1,2Wi=3,4

N1zN2zN3zN4z should yet reduce to yield the infinite fpc Bohm tree z(z(z())). So there must exist a "sprinkle" zkj in one of the Niz which comes infinitely often to the head of the term, yet does not block further reductions of it.

And now we are done. By inspecting each Niz, for i4, and each possible value of kj, for j2+7i12, we find that no such sprinkling exists.

For example, if we modify the last W in IIWW as Wz=λw.z(wIww), then we get the normalizing reduction

IIWWzIWWzWWzWzIWzWzz(IIII)WzWzzIWzWz

(Notice that Ω admits such a sprinkling precisely because a certain subterm of it can be "guarded" without affecting non-normalization. The variable comes in head position, but enough redexes remain below.)

3. The "sprinkling transformation" has other uses. For example, by placing z in front of every redex in M, we obtain a term N=λz.Mz which is a normal form, yet satisfies the equation NI=M. This was used by Statman in [2], for example.

4. Alternatively, if you relax the requirement that YI=M, you can find various (weak) fpcs Y which simulate the reduction of M, while outputting a chain of zs along the way. I am not sure this would answer your general question, but there are certainly a number of (computable) transformations MYM which output looping combinators for every mute M, in such a way that the reduction graph of YM is structurally similar to that of M. For example, one can write

YMz={z(YP[x:=Q]z)M(λx.P)QYNzM is not a redex and MwhN

[1] Severi P., de Vries FJ. (2011) Decomposing the Lattice of Meaningless Sets in the Infinitary Lambda Calculus. In: Beklemishev L.D., de Queiroz R. (eds) Logic, Language, Information and Computation. WoLLIC 2011. Lecture Notes in Computer Science, vol 6642.

[2] Richard Statman. There is no hyperrecurrent S,K combinator. Research Report 91–133, Department of Mathematics, Carnegie Mellon University, Pittsburgh, PA, 1991.

Andrew Polonsky
źródło
This answer is great, and I will likely accept it. However, I'm not sure what the actual theorems you are describing, other than "there is no looping combinator Y such that Y I=Ω3". I think stating the theorems separately will make the arguments much easier to follow.
cody
Good point. I just updated the answer.
Andrew Polonsky