การลดชั้นในสุดอยู่ตลอดใน ty-แคลคูลัสที่ไม่มีการพิมพ์หรือไม่?


14

(ฉันได้ถามเรื่องนี้ที่ MathOverflow แล้ว แต่ไม่มีคำตอบอยู่ที่นั่น)

พื้นหลัง

ในแคลคูลัสแลมบ์ดา untyped คำที่อาจจะมี redexes จำนวนมากและทางเลือกที่แตกต่างกันเกี่ยวกับการเป็นที่หนึ่งในการลดอาจให้ผลลัพธ์ที่แตกต่างกันอย่างดุเดือด (เช่นซึ่งในทางหนึ่ง ขั้นตอน ( -) ลดทั้งหรือตัวเอง) ที่แตกต่างกัน (ลำดับ) ทางเลือกในการที่จะลดจะเรียกว่ากลยุทธ์การลด คำกล่าวจะnormalizingถ้ามีกลยุทธ์การลดลงซึ่งนำไปแบบปกติ คำกล่าวจะnormalizing อย่างยิ่งถ้ากลยุทธ์ลดทุกนำ(λx.Y)((λx.xx)λx.xx)βt t t tYเสื้อเสื้อเสื้อเสื้อสู่รูปแบบปกติ (ฉันไม่ได้กังวลเกี่ยวกับสิ่งที่ แต่การบรรจบกันรับประกันว่ามีความเป็นไปได้มากกว่าหนึ่งไม่ได้)

กลยุทธ์การลดการกล่าวถึงเป็นnormalizing (และอยู่ในความรู้สึกบางอย่างที่ดีที่สุดที่เป็นไปได้) ถ้าเมื่อใดก็ตามมีรูปแบบปกติแล้วว่าของที่เราจะจบลง กลยุทธ์ด้านซ้ายสุด - ด้านนอกสุดกำลังทำให้เป็นปกติเสื้อ

ในตอนท้าย ๆ ของสเปกตรัมของกลยุทธ์การลดลงกล่าวจะเป็นตลอดไป (และอยู่ในความรู้สึกบางอย่างที่เลวร้ายที่สุดที่เป็นไปได้) ถ้าเมื่อใดก็ตามที่มีการลำดับการลดอนันต์จากระยะแล้วกลยุทธ์ที่พบดังกล่าวลำดับ - ในคำอื่น ๆ เราอาจจะล้มเหลวที่จะทำให้ปกติแล้วเราจะเสื้อ

ฉันรู้ถึงกลยุทธ์การลดค่าใช้จ่ายถาวรและตามลำดับโดย: และ (ในทั้งสองกรณีตัวบ่งชี้ -redex เป็นซ้ายสุดในเทอม - และในรูปแบบปกติกลยุทธ์การลดจำเป็นต้องมีตัวตน) กลยุทธ์F b k F b k ( C [ ( λ x . s ) t ] ) = C [ s [ t / x ] ] ถ้า  t  เป็นอย่างยิ่ง normalizing F b k ( C [ ( λ x . s ) t ] ) = C [ ( λ x . s ) F bFFk F (C[(λx.s)T])=C[s[T / x]]ถ้า  x  เกิดขึ้นใน  sหรือถ้า  เสื้อ  อยู่ในรูปแบบปกติF (C[(λx.s)T])=C[(λx

Fk([(λx.s)เสื้อ])=[s[เสื้อ/x]]ถ้า เสื้อ กำลังฟื้นฟูอย่างมากFk([(λx.s)เสื้อ])=[(λx.s)Fk(เสื้อ)]มิฉะนั้น
βC[(λx.s)t]F
F([(λx.s)เสื้อ])=[s[เสื้อ/x]]ถ้า x เกิดขึ้นใน s, หรือถ้า เสื้อ อยู่ในรูปแบบปกติF([(λx.s)เสื้อ])=[(λx.s)F(เสื้อ)]มิฉะนั้น
β[(λx.s)เสื้อ]Fแม้สูงสุด - ถ้ามัน normalities ระยะแล้วมันได้ใช้ไปได้ลำดับการลดลงที่ยาวที่สุดที่จะทำเช่นนั้น (ดูตัวอย่างที่ 13.4 ในหนังสือของ Barendregt)

พิจารณากลยุทธ์ลดด้านซ้ายสุดสุดตอนนี้ มันจะลดค่า -redex ซึ่งไม่มี redexes อื่น ๆ เท่านั้น อีกอย่างเป็นทางการมันถูกกำหนดโดย L ( T ) = T ถ้า  เสื้อ  ในรูปแบบปกติ L ( λ x . s ) = λ x L ( s ) สำหรับ  s  ไม่ได้อยู่ในรูปแบบปกติ L ( s T ) = L ( s ) เสื้อสำหรับ  s  ไม่ได้อยู่ในรูปแบบปกติ L ( s T ) = s L ( T ) ถ้า  sแต่ไม่ β

L(เสื้อ)=เสื้อถ้า เสื้อ ในรูปแบบปกติL(λx.s)=λx.L(s)สำหรับ s ไม่ได้อยู่ในรูปแบบปกติL(sเสื้อ)=L(s)เสื้อสำหรับ s ไม่ได้อยู่ในรูปแบบปกติL(sเสื้อ)=sL(เสื้อ)ถ้า s, แต่ไม่ เสื้อ อยู่ในรูปแบบปกติL((λx.s)เสื้อ)=s[เสื้อ/x]ถ้า sเสื้อ ทั้งในรูปแบบปกติ

สัญชาตญาณตามธรรมชาติสำหรับการลดซ้ายสุดภายในคือการทำงานทุกอย่าง - ไม่ต้องมีการสะสมซ้ำดังนั้นจึงควรจะมีตลอดไป เนื่องจากกลยุทธ์ที่สอดคล้องกันนั้นเป็นแบบไม่ จำกัด สำหรับตรรกะการรวม (ไม่ได้พิมพ์) (การลดชั้นในสุดนั้นมีตลอดไปสำหรับ TRW แบบฉากเดี่ยวทั้งหมด) ดังนั้นจึงไม่รู้สึกว่าการมองโลกในแง่ดีแบบมองไม่เห็นอย่างชัดเจน ...

การลดด้านซ้ายสุดคือกลยุทธ์ที่ยั่งยืนสำหรับ -calculus หรือไม่?λ

หากคำตอบกลายเป็น 'ไม่' ตัวชี้ไปยังตัวอย่างที่เป็นตัวอย่างก็น่าสนใจเช่นกัน



... ดังที่กล่าวไว้ในบรรทัดแรก
kow

1
@kow: ใช่คุณพูดถูกและไม่มีอะไรผิดปกติกับ crossposting :) ลิงก์นี้มีประโยชน์สำหรับการติดตามความคิดเห็นและคำตอบใน MO เพื่อป้องกันการตอบรับซ้ำซ้อน ดูการอภิปรายเกี่ยวกับเมตา
Hsien-Chih Chang 張顯之

1
@kow: เมื่อคุณข้ามคำถามในครั้งต่อไปโปรดอย่าลืมเพิ่มลิงก์โดยเฉพาะอย่างยิ่งในทั้งสองทิศทาง
Tsuyoshi Ito

1
@Kaveh ฉันคิดว่าLทำเพียงขั้นตอนเดียวมิฉะนั้นคุณต้องบอกว่ากลยุทธ์การประเมินผลของLในคืออะไร ดังนั้นLกำหนดลำดับ , , (ฯลฯ (ถ้าฉันเข้าใจคำถามของคุณ)L(L(s)เสื้อ)sL(s)L(L(s))
Radu GRIGore

คำตอบ:


13

เสื้อเสื้อเสื้อ=(λx.(λY0.1)(xx))L

L(เสื้อเสื้อ)=L(เสื้อ)เสื้อ=L(λx.(λY0.1)(xx))เสื้อ=(λx.L((λY0.1)(xx)))เสื้อ=(λx0.1)เสื้อ

FF([(λx.(λY0.1(xx)))เสื้อ]))=(λY0.1)(เสื้อเสื้อ)

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