วิธีไม่สิ้นสุด


14

ฉันกำลังคิดถึงคำถามเหล่านี้:

แคลคูลัสแลมบ์ดาที่พิมพ์ออกมามีความสอดคล้องและทัวริงสมบูรณ์หรือไม่

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

และมีอยู่แล้วบางอย่างยากที่จะตอบคำถามที่เกี่ยวข้องกันในuntypedการตั้งค่า! โดยเฉพาะอย่างยิ่งฉันอยากรู้ว่าเราสามารถกู้ทัวริงสมบูรณ์จากการไม่เลิกด้วยวิธีต่อไปนี้:

คำถาม:ให้ (บริสุทธิ์) λ -term tโดยไม่มีรูปแบบปกติที่อ่อนแอ, มีcombinator แบบกำหนดจุดคงที่Y tอยู่เสมอเช่นที่ Y t ( λ x . x ) = tYt

Yt (λx.x)=t

Equalities ทั้งหมดจะถูกนำโมดูโลβη η

จริง ๆ แล้วฉันสงสัยว่าคำถามรุ่นนี้จะเป็นเท็จดังนั้นเราจึงสามารถผ่อนคลายคำถามนี้กับcombinators แบบวนซ้ำที่ซึ่ง combingator แบบวนลูปYถูกกำหนดให้เป็นคำที่ใช้สำหรับทุกf

Y f=f (Y f)
โดยที่Yจำเป็นต้องมีอีกครั้งเพื่อเป็น combinator แบบวนซ้ำ ซึ่งเพียงพอสำหรับการกำหนดฟังก์ชั่นวนซ้ำตามปกติ

โดยทั่วไปฉันสนใจที่จะหาวิธี "ธรรมชาติ" ที่จะเปลี่ยนจากสิ้นสุดtไปยัง combinator แบบวนซ้ำแม้ว่าสมการข้างต้นจะไม่เป็นที่พอใจ

ฉันสนใจยังอยู่ในรุ่นที่ปรับตัวลดลงของคำถามข้างต้นเช่นอาจจะนำไปเป็นโปรแกรมที่ทีที1 ที2 ... T nกับแต่ละทีผมในรูปแบบปกติ ( แต่ผมไม่แน่ใจว่ามันจะช่วยให้)ttt1 t2tnเสื้อผม


ป่านฉะนี้: วิธีธรรมชาติคือการใช้และ "พริกไทย" ของfตลอดเช่นเสื้อ

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

กลายเป็นปกติ

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

มีแนวคิดที่จะลดหัวของจะเป็นโปรแกรมแลมบ์ดาλ x เสื้อ'และแทนที่ด้วยλ x f t แต่ขั้นตอนต่อไปไม่ชัดเจน (และฉันสงสัยว่าสิ่งนี้จะนำไปสู่อะไรก็ได้)เสื้อλx.เสื้อ'λx.f t

ผมไม่แน่ใจว่าผมเข้าใจเพียงพอเกี่ยวกับต้นไม้Böhmเพื่อดูว่าพวกเขามีอะไรจะพูด แต่ผมขอสงสัยมันตั้งแต่ 's ต้นไม้Böhmเป็นเพียงซึ่งมีลักษณะอะไรที่เหมือนกับหนึ่งสำหรับY Ω : ต้นไม้ที่ไม่มีที่สิ้นสุดของ นามธรรมΩYΩ


แก้ไข : เพื่อนของฉันตั้งข้อสังเกตว่าวิธีการไร้เดียงสานี้ไม่ทำงานกับคำว่า: แนวทางไร้เดียงสาจะให้ ( λ x . f ( x x x ) ) ( λ x . f ( x x x ) ) แต่นี่ไม่ใช่ combinator จุดคงที่! สิ่งนี้สามารถแก้ไขได้โดยแทนที่แอปพลิเคชันที่สองของfโดย

(λx.x x x)(λx.x x x)
(λx.f (x x x))(λx.f (x x x))
fแต่แล้ว f ฉันไม่ได้ให้คำดั้งเดิม ไม่ชัดเจนว่าคำนี้เป็นตัวอย่างที่ตรงกันข้ามกับคำถามเดิมหรือไม่λyz.f yfI

ฉันเชื่อว่าความต้องการที่ไม่มีรูปแบบปกติหัวควรมีความเข้มแข็งที่จะยกเว้นรูปแบบปกติหัวอ่อนแอ ถ้า t สามารถสร้างแลมบ์ดาได้เนื่องจากในตำแหน่งหัวคุณมักจะมี combpoint ที่มี fixpoint (เริ่มต้นด้วย f = id) แลมบ์ดานั้นควรจะสร้างขึ้นโดยที่ไม่สามารถทำได้
Andrea Asperti

@AndreaAsperti คุณถูกต้องแน่นอน ฉันจะแก้ไขคำถาม
ดี้

คำตอบ:


7

มีหลายแง่มุมสำหรับคำถามที่ดีมากดังนั้นฉันจะจัดโครงสร้างคำตอบนี้

1. คำตอบของคำถามชนิดบรรจุกล่องเป็นไม่มี คำที่เพื่อนของคุณแนะนำนั้นเป็นตัวอย่างที่แท้จริงΩ3=(λx.xxx)(λx.xxx)

ก่อนหน้านี้พบว่าในความคิดเห็นที่มีตัวอย่างเช่น "ogre" จนกระทั่งคำถามถูก จำกัด โดยไม่มีเงื่อนไขแบบหัวปกติอ่อนแอ ข้อตกลงดังกล่าวเป็นที่รู้จักกันเป็นแง่ศูนย์ เหล่านี้เป็นคำที่ไม่เคยลดลงไปแลมบ์ดาภายใต้การทดแทนใด ๆK=YK

สำหรับ combinator จุดคงที่ใด ๆ (fpc) , Y ฉันเป็นคำที่เรียกว่าใบ้ (AKA "root-active"): ลดความมันทุกครั้งYYI

ไม่ได้เป็นใบ้ ไม่ใช่ Ω 3 -KΩ3 ตามที่ประจักษ์โดยการตรวจสอบชุดของ reducts ซึ่งเป็น

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

แทนที่จะให้โต้แย้งได้อย่างแม่นยำว่าทำไมเป็นใบ้สำหรับ FPCs ทั้งหมดY (ที่จริงสำหรับ Combinator ใด ๆ บ่วง) -ซึ่งอาจจะลำบากพอยังหวังที่ชัดเจน-ฉันจะรักษาทั่วไปที่เห็นได้ชัดของคำถามของคุณ จำกัด กับข้อตกลงการปิดเสียงได้เป็นอย่างดีYIY

เงื่อนไขการปิดเสียงเป็นคลาสย่อยของคำศูนย์ซึ่งเป็นคลาสย่อยของคำที่ไม่สามารถแก้ไขได้ สิ่งเหล่านี้อาจเป็นทางเลือกยอดนิยมสำหรับแนวคิด "ไร้ความหมาย" หรือ "ไม่ได้กำหนด" ในแลมบ์ดาแคลคูลัสซึ่งสอดคล้องกับ Berarducci เล็ก ๆ น้อย ๆ Levy-Longo และ B \ "โอห์มต้นไม้ตามลำดับ ได้รับการวิเคราะห์ในรายละเอียดโดย Paula Severi และ Fer-Jan de Vries [1] เงื่อนไขการปิดเสียงประกอบด้วยองค์ประกอบด้านล่างในตาข่ายนี้คือความคิดที่ จำกัด มากที่สุดของ "undefined"

2. Let เป็นคำใบ้และYเป็น Combinator บ่วงกับอสังหาริมทรัพย์ว่าY ฉัน= MMYYI=M

ครั้งแรกที่เรายืนยันว่าสำหรับตัวแปรสด , Y Zจริงดูเหมือนมากเช่นที่Y Mคุณอธิบายได้โดยการ "โปรยZรอบ" reduct บางMzYzYMzM

โดย Church-Rosser, และMมีการลดซ้ำทั่วไป, M ใช้เวลาการลดมาตรฐานR : Y ฉันs M ' ทุก ๆ เทอมของM N 0 ] w h C [ N 1 ]YIMMR:YIsMMสอดคล้องกับเทอมเฉพาะของภายใต้การลดลงนี้ สำหรับคำใด ๆC [ N ] = M , ปัจจัยRเป็นY I C [YIYz[z:=I]C[N]=MRโดยที่ขากลางคือการลดส่วนหัวที่อ่อนแอ (และขาสุดท้ายคือภายใน) Nคือ "รักษา" โดย Z IFF สองขานี้สัญญา Redex บางฉันPกับฉันลูกหลานของลียน [ Z : = ฉัน ]YIC[N0]whC[N1]iC[N]NzIPI[z:=I]

เห็นได้ชัดว่าต้องปกป้องเทอมบางส่วนของMไม่เช่นนั้นมันจะเป็นใบ้เช่นกัน ในทางกลับกันมันจะต้องระมัดระวังไม่ให้ปกป้อง subterms เหล่านั้นที่จำเป็นสำหรับการไม่สิ้นสุดมิฉะนั้นมันไม่สามารถพัฒนาต้นไม้ B \ "โอห์มที่ไม่มีที่สิ้นสุดของ combinator วนรอบได้YM

ดังนั้นจึงพอเพียงที่จะหาคำใบ้ที่ทุก ๆ เทอมของ reduct เป็นสิ่งจำเป็นสำหรับการทำให้เป็นมาตรฐานไม่ใช่ - ในแง่ที่ว่าวางตัวแปรหน้าเทอร์มิชชั่นนั้นทำให้เทอม normalizing

พิจารณาที่W = λ W W ฉันW W นี้เป็นเหมือนΩแต่ในทุกย้ำเราตรวจสอบว่าการเกิดขึ้นของWในตำแหน่งที่โต้แย้งไม่ได้เป็น "บล็อก" โดยตัวแปรหัวโดยการให้อาหารมันตัวตน ใส่zΨ=WWW=λw.wIwwΩWzไว้ด้านหน้าของเทอร์มินอลใด ๆ ในที่สุดจะให้รูปแบบปกติของรูปร่างโดยที่P iแต่ละอันคือI , Wหรือ " z -sprinkling" ของสิ่งเหล่านี้ ดังนั้นΨzP1PkPiIWzΨ เป็นตัวอย่างของคำถามทั่วไป

ทฤษฎีบท. ไม่มี Combinator วนลูปเป็นดังกล่าวว่าY ฉัน= ΨYYI=Ψ

หลักฐาน ชุดของ reducts ทั้งหมดของเป็น{ W W , W ฉันW W , ฉันฉันฉันฉันW W , ฉันฉันฉันW W , ฉันฉันW W , ฉันW W } เพื่อให้สามารถแปลงสภาพได้ด้วยΨ , Y ฉันต้องลดให้เหลือหนึ่งในนี้ อาร์กิวเมนต์นั้นเหมือนกันในทุกกรณี สำหรับรูปธรรมสมมติว่าY ฉันฉันฉันW WΨ{WW,WIWW,IIIIWW,IIIWW,IIWW,IWW}ΨYIYIIIWW

ใด ๆ ลดมาตรฐานสามารถเอาเรื่องเป็น Y ฉันW P N 4 , P W Q N 3 , Q W N 1 N 2 , จึง  Y ฉันW N 1 N 2 N 3 N 4 N 1I , N 2I , N 3YIsIIWW

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

ให้เราหมายถึงการลดเป็นR 0และการลดราคาเริ่มต้นที่N ฉันเป็นRฉันYIwN1N2N3N4R0NiRi

การลดลงนี้สามารถยกขึ้นทดแทนเพื่อให้ได้ R z 0 : Y z z k ( M 1 M 2 M 3 M 4 M ) N ฉันM ฉัน [ z : = I ] ดังนั้นR 0[z:=I]

R0z:Yzzk(M1M2M3M4)NiMi[z:=I]
R0คือองค์ประกอบ 4YIR0z[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.


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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.