ทำไมSchönfinkelทำงานเกี่ยวกับการกำจัด "ตัวแปรที่ถูกผูกไว้" ในตรรกะอย่างยิ่งที่สำคัญ?


15

AFAIK หลักฐานแรกของการใช้ฟังก์ชั่นการสั่งซื้อที่สูงขึ้นกลับไปที่หน้ากระดาษของSchönfinkelในปี 1924: "ในหน่วยการสร้างของคณิตศาสตร์ตรรกะ" - ซึ่งเขาอนุญาตให้หนึ่งผ่านหน้าที่เป็นข้อโต้แย้งไปยังฟังก์ชั่นอื่น ๆ

ดูเหมือนว่าน่าสนใจ อย่างไรก็ตามทุกอย่างที่ฉันได้อ่านเกี่ยวกับงานของเขา (และส่วนขยายของ Curry) ดูเหมือนจะพูดถึงสิ่งหนึ่งในบางรูปแบบหรืออย่างอื่น: [ฟังก์ชั่นการสั่งซื้อที่สูงกว่า] ... สิ่งนี้ไม่จำเป็นต้องมีตัวแปรผูกพัน ...

สิ่งที่ฉันไม่สามารถคาดศีรษะได้คือเรื่องใหญ่อะไร ทำไมนักตรรกวิทยาและนักคณิตศาสตร์ในสมัยนั้นถึงสนใจเรื่องนี้ และในฐานะนักทฤษฎีเราสนใจวันนี้ไหม? เหตุใดจึง "แหวกแนว" เพื่อกำจัดตัวแปรที่ถูกผูกไว้และสิ่งที่มีผลกระทบ (หรือไม่) ที่มีต่อการคำนวณ (ตามหลักวิชา) ที่เรารู้

PS: ฉันรู้วิธีการทำงานของเขาปูทางสำหรับแคลคูลัสและผลกระทบของ "มัน" บนคอมพิวเตอร์และการเขียนโปรแกรมการทำงานโดยทั่วไป คำถามของฉันมักจะถูกนำไปสู่เวลา "ก่อนหน้า" ในการสร้างλ -calculus และ "หลังจาก" กระดาษของSchönfinkel ความจริงที่ว่าแกงกะหรี่หยิบขึ้นมาเป็นแนวของการทำงานซึ่งต่อมาเป็นที่รู้จักกันในชื่อλλ


2
กระดาษSchönfinkelสามารถพบได้ที่นี่
Martin Berger

คำตอบ:


17

TL; DR metamathematics of binding นั้นบอบบาง : มันดูเล็กน้อย แต่ไม่ว่าคุณจะจัดการกับ logics (สูงกว่า) หรือ calcul-แคลคูลัส พวกเขาช่างลึกซึ้งเหลือเกินที่การเป็นตัวแทนผูกพันก่อให้เกิดสาขาวิจัยที่เปิดกว้างพร้อมการแข่งขัน ( ความท้าทาย POPLmark ) เมื่อหลายปีก่อน แม้จะมีเรื่องตลกโดยคนในสนามเกี่ยวกับความซับซ้อนของวิธีการที่จะผูกพัน

ดังนั้นหากคุณสนใจเกี่ยวกับวิชาคณิตศาสตร์ (และนักคณิตศาสตร์ส่วนใหญ่ไม่ได้) คุณจะต้องจัดการกับการผูกมัด แต่นักคณิตศาสตร์หลายคนสามารถรักษาความเป็นระเบียบของการผูกมัดได้อย่างปลอดภัยราวกับว่ามันเป็นปัญหา "พื้นฐาน"

อีกประเด็นหนึ่งคือการผูกเป็นปัญหา "ใหม่" เพียงอย่างเดียวในภาษาที่มีฟังก์ชั่นลำดับสูงกว่าเพราะทฤษฎีของภาษาที่มีการผูกเป็นเพียงพีชคณิต (สำหรับค่าคงที่) + การรวม "รากฐานของภาษาโปรแกรม" ของมิตเชลล์นำเสนอสิ่งต่าง ๆ ตามลำดับนี้และค่อนข้างจะเป็นความกระจ่าง

ฉันรู้ว่างานของเขาปูทางไปสู่ ​​calcul-แคลคูลัสและผลกระทบของ "มัน" ต่อการคำนวณและการเขียนโปรแกรมการทำงานโดยทั่วไป คำถามของฉันมักจะถูกนำไปสู่เวลา "ก่อนหน้า" ในการสร้าง calcul-แคลคูลัสและ "หลัง" กระดาษของSchönfinkel

ฉันต้องคิดถึงบางอย่าง แต่คำพูดนี้ดูเหมือนจะไม่แตกต่าง การผูกมัดในลอจิสติกที่มีลำดับสูงกว่าและการผูกในλ-แคลคูลัสดูเหมือนยากดังนั้นตราบใดที่ผู้คนสนใจเกี่ยวกับลอจิกลำดับที่สูงขึ้นพวกเขาต้องจัดการกับการผูกมัด ฉันลำเอียงโดยใช้นักพิสูจน์ตามทฤษฎีของ Curry-Howard-isomorphism ที่ใช้ตรรกะโดยเพียงแค่ใช้ทฤษฎีประเภท (ซึ่งประเภทเป็นสูตรและโปรแกรมเป็นเงื่อนไขการพิสูจน์) เพื่อที่ฉันจะจัดการผูกพันครั้งเดียว

ในทางตรงกันข้าม IIRC ในเวลานั้นมีเพียงไม่กี่คนที่ใส่ใจงานของSchönfinkelส่วนหนึ่งเป็นเพราะเขา (ไม่) เผยแพร่ - เอกสารส่วนใหญ่เขียนโดยเพื่อนร่วมงานจากการวิจัยที่เขาทำ (ดูที่นี่หน้า 4) ; จากนั้นแกงก็ค้นพบทฤษฏีอิสระ

Caveat: ฉันไม่ใช่นักประวัติศาสตร์ แต่เป็นนักศึกษาปริญญาเอกใน PL ดังนั้นของฉันจึงเป็นมุมมองที่ทันสมัย ​​(และหวังว่าถูกต้อง) ในหัวข้อ

แก้ไข:

ทำไมการเชื่อมโยงจึงลึกซึ้งยิ่งขึ้น

มีสองแง่มุมสำหรับมัน - ก่อนอื่นการใช้มันยาก ประการที่สอง metamathematics เป็นคณิตศาสตร์ของการพิสูจน์การจัดการ: การจัดการนี้โดยอัตโนมัตินั่นคือมันเป็นอัลกอริทึม - ดังนั้นโดยพื้นฐานแล้วคุณต้องเผชิญกับความยากลำบากในการนำไปใช้ทั้งหมดรวมถึงการสร้างหลักฐานเกี่ยวกับพวกเขา ด้านล่างฉันยกตัวอย่าง ตัวอย่างมีมุมมองที่ทันสมัย ​​- เป็นจริงเกี่ยวกับการพิสูจน์อย่างเป็นทางการ อย่างไรก็ตามความยากลำบากบางอย่างจะขยายไปสู่การพิสูจน์ด้วยตนเองที่ถูกต้อง - ตราบใดที่คุณไม่โกงรายละเอียด

นี่แสดงให้เห็นว่าSchönfinkelให้วิธีแก้ปัญหานี้เป็นครั้งแรกเพียงอย่างเดียว แต่นี่ยังไม่ชัดเจน

การนำไปใช้งานนั้นมีความละเอียดอ่อนเนื่องจากมีเงา

(λ. 1+ 2)(λx.x)(λx.x) 1+(λx.x) 2(λx.(x)) (λก.Y.ก. Y) Z(λก.Y.ก. Y) (λก.Y.ก. Y) Z(λY.(λก.Y.ก. Y) Y)  Z

λxY.xYλy.yλy.y

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

นั่นเป็นเหตุผลหนึ่งที่ว่าทำไมบางคน (รวมถึงหนึ่งในตำราเรียนที่ดีที่สุดเกี่ยวกับภาษาการเขียนโปรแกรมประเภทและภาษาการเขียนโปรแกรมโดย Benjamin Pierce) แนะนำให้ใช้การแสดงแบบนิรนาม (ไม่ใช่ตรรกะเชิงการรวมแม้ว่าจะถูกใช้แล้ว แต่ดัชนี deBrujin)

พิสูจน์เกี่ยวกับมันบอบบาง

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

BAABB

ต่อไปฉันค้นหาตัวอย่างที่ดีที่สุดของ "สิ่งที่ผิดพลาดถ้าคุณลองจัดระเบียบมาตรฐาน" Russell O'Connor (ผู้ที่อยู่ในเว็บไซต์นี้) ทำให้ทฤษฎีบทความไม่สมบูรณ์ของGödelเป็นครั้งแรกใน Coq (ผู้พิสูจน์ทฤษฎีที่กล่าวถึงข้างต้น) - และทฤษฎีบทนั้นเกี่ยวข้องกับตรรกะ (พร้อมอัลกอริธึมที่เกี่ยวข้องทั้งหมด) ในตรรกะอื่น ตรรกะแรกที่เข้ารหัสเป็นตัวเลข) เขาใช้คำจำกัดความที่ใช้บนกระดาษและทำให้เป็นระเบียบโดยตรง ค้นหา "การแทนที่" หรือ "ตัวแปร" และนับความถี่ที่ปรากฏในการอ้างอิงถึงปัญหาเพื่อให้เกิดความประทับใจ http://r6.ca/Goedel/goedel1.html

ฉันไม่เคยใช้คำจำกัดความเหล่านั้นในการทำงานของฉัน แต่วิธีการทางเลือกแต่ละวิธีมีข้อเสีย


ฉันลำเอียงโดยใช้นักพิสูจน์ตามทฤษฎีของ Curry-Howard-isomorphism เพื่อที่ฉันจะได้มีผลผูกพันครั้งเดียวคุณช่วยอธิบายสิ่งที่คุณหมายถึงได้ไหม
ปริญญาเอก

3
คุณบอกว่ามันบอบบาง แต่อย่าพูดว่าอะไรที่ทำให้มันเป็นเช่นนั้นและทำไมคุณถึงสนใจมันถ้าคุณเป็น metamathetician นั่นคือมุมมองที่ฉันกำลังมองหา
ปริญญาเอก

ในความคิดเห็นแรกของคุณ: ฉันได้ทำการเชื่อมต่อกับ Curry-Howard อย่างชัดเจน แต่ฉันจะต้องอ้างอิงถึง Wikipedia หรือคำถามอื่น ฉันเห็นด้วยกับความคิดเห็นที่สองของคุณ ฉันจะทำอย่างละเอียดเพื่อคนที่ไม่คุ้นเคยกับแลมบ์ดาแคลคูลัส
Blaisorblade

@PhD: ฉันหวังว่าสิ่งที่ฉันเพิ่มจะช่วยได้นิดหน่อย แต่มันก็ไม่ได้แทนที่การบรรยายที่ดีในเนื้อหานี้ (และน่าเสียดายที่วัสดุที่ฉันตัดกันมักจะเผยแพร่ในเนื้อหาที่เกี่ยวข้อง PPL อื่น ๆ มากมาย)
Blaisorblade

1
ขอบคุณตัน! นั่นเป็นประโยชน์อย่างแน่นอน ลิงก์นี้อาจสนใจคุณเช่นกัน: home.uchicago.edu/~wwtx/Varfreelogic_revised.pdf - ตรรกะการสั่งซื้อครั้งแรกโดยไม่มีตัวแปรที่ผูกไว้
ปริญญาเอก
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.