อะไรทำให้ภาษา (และระบบพิมพ์) สามารถพิสูจน์ทฤษฎีบทเกี่ยวกับเงื่อนไขของตนเองได้


12

ฉันเพิ่งพยายามใช้Cedille-Coreของ Aaron ซึ่งเป็นภาษาโปรแกรมมินิมอลลิสต์ที่สามารถพิสูจน์ทฤษฎีบทคณิตศาสตร์เกี่ยวกับเงื่อนไขของตัวเองได้ ฉันยังพิสูจน์การเหนี่ยวนำสำหรับประเภทข้อมูลที่เข้ารหัสบนซึ่งทำให้ชัดเจนว่าทำไมส่วนขยายของเขาจะมีความจำเป็น

Nether น้อยกว่าฉันยังคงสงสัยว่าส่วนขยายเหล่านั้นมาจากไหน ทำไมพวกเขาเป็นสิ่งที่พวกเขา? อะไรที่ทำให้พวกเขาชอบธรรม ยกตัวอย่างเช่นฉันรู้ว่าส่วนขยายบางอย่างเช่นการเรียกซ้ำได้ทำลายภาษาซึ่งเป็นระบบสำหรับการพิสูจน์ ถ้าฉันตัดสินใจขยาย CoC ด้วย primitives อื่น ๆ ฉันจะปรับได้อย่างไร ฉันเข้าใจหลักฐานของการทำให้เป็นมาตรฐานเป็นสิ่งที่จำเป็น แต่นั่นไม่ได้พิสูจน์สิ่งดั้งเดิมว่า "เหมาะสม"

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


ผมอ่านบล็อกที่เกี่ยวข้องกับคำถามนี้ แต่ฉันไม่สามารถที่จะหาได้ในขณะนี้ :( มันมีประโยคที่ว่า "ระบบ T เป็นพอ!" หรือสิ่งที่ต้องการและพูดคุยเกี่ยวกับระบบการพิมพ์ขึ้น.
Labbekak

2
พบได้ที่: quea9.wordpress.com/2010/01/17/…จริงๆแล้วมันเขียนโดย Aaron Stump ดังนั้นคุณอาจรู้เรื่องนี้อยู่แล้ว
Labbekak

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

คำตอบ:


5

[โฆษณาด้วยตัวเองติดตาม แต่ฉันคิดว่ามันเกี่ยวข้องกัน]

tututuv,(λx.x)vv

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

นี่คือข้อมูลอ้างอิงสองสามข้อหากคุณต้องการตรวจสอบสิ่งนี้:

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