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 ) = 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.
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.
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).
Jak dotąd: naturalne podejście polega na przyjmowaniu i „pieprzowym” stosowaniu f , np
staje się zwykłym
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).
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.
Edycja : Mój przyjaciel zauważył, że to naiwne podejście nie działa z terminem:
Odpowiedzi:
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.Y YI
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 −
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 YM Y 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 Mz Yz YM opisałeś, uzyskiwany przez „pokropienie around” jakiegoś REDUCT z M .z M
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 ′ , RYI M M′ R:YI↠sM′ M′ YI≡Yz[z:=I] C[N]=M′ R 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 podstawieniaYI↠C[N0]↠whC[N1]↠iC[N] N z IP I [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.Y M
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 1 ⋯ P k , gdzie każde P i oznacza albo I , WΨ=WW W=λw.wIww Ω W z zP1⋯Pk Pi I W 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 .YI↠IIWW
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 1 ↠ I , N 2 ↠ W , N 4YI↠sIIWW
Odwołajmy się do redukcji jako R 0 oraz do redukcji rozpoczynających się od N i jakoYI↠wN1N2N3N4 R0 Ni .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 i ≡ M i [ z : = I ] tak, że R 0 to kompozycja Y I R z 0 [ z : = I ] ↠ I[z:=I]
And now we are done. By inspecting eachNzi , for i≤4 , and each possible value of kj , for j≤2+7⌊i−12⌋ , we find that no such sprinkling exists.
For example, if we modify the lastW in IIWW as Wz=λw.z(wIww) , then we get the normalizing reduction
(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 placingz 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 thatYI=M , you can find various (weak) fpcs Y which simulate the reduction of M , while outputting a chain of z s along the way. I am not sure this would answer your general question, but there are certainly a number of (computable) transformations M↦YM 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
[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.
źródło