สิ่งที่ทำให้การอนุมานประเภทสำหรับประเภทที่ขึ้นต่อกันไม่สามารถตัดสินใจได้?


42

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


ไม่แน่ใจ แต่ฉันเดาว่าคุณสามารถใช้การอนุมานเพื่อพิจารณาว่าการคำนวณหยุดลงหรือไม่
jmite

สิ่งนี้เกี่ยวข้องกับการแปลงประเภทในภาษาการเขียนโปรแกรมหรือไม่ มันเป็นปัญหาแบบเปิดที่นั่น - การแปลงประเภทในภาษาการเขียนโปรแกรม undecidability เปิด
vzn

อีกสาเหตุหนึ่งคือประเภทที่ขึ้นต่อกันไม่ยอมรับประเภทหลัก ประเภทของ? λa.a
jmite

คำตอบ:


36

สำหรับทฤษฎีการพึ่งพาชนิดที่ค่อนข้างง่าย Gilles Dowek ได้พิสูจน์การ undecidability ของการพิมพ์ในบริบทที่ไม่ว่างเปล่า:

Gilles Dowek, undecidability ของ typability ในแคลคูลัสλΠ

ซึ่งสามารถพบได้ที่นี่

แรกให้ฉันอธิบายสิ่งที่ได้รับการพิสูจน์ในกระดาษที่เขาแสดงให้เห็นว่าในแคลคูลัสขึ้นโดยไม่ต้องหมายเหตุบนนามธรรมนั้นมันเป็นสิ่งที่ตัดสินไม่ได้ที่จะแสดง typeability ของคำในบริบทที่ไม่ว่างเปล่า ทั้งสองสมมติฐานเหล่านั้นเป็นสิ่งที่จำเป็น: ในบริบทที่ว่างเปล่า typability ลดกับที่เพียงแค่พิมพ์แคลคูลัส (decidable โดย Hindley-มิลเนอร์) และคำอธิบายประกอบในแนวคิดที่อัลกอริทึมชนิดกำกับปกติใช้λ

ความคิดคือการเข้ารหัสปัญหาการโพสต์จดหมายเป็นปัญหาการแปลงประเภทและจากนั้นสร้างคำที่สามารถพิมพ์ได้อย่างรอบคอบ iff ทั้งสองประเภทที่เฉพาะเจาะจงสามารถเปลี่ยนแปลงได้ สิ่งนี้ใช้ความรู้เกี่ยวกับรูปร่างของรูปแบบปกติซึ่งมีอยู่เสมอในแคลคูลัสนี้ บทความสั้นและเขียนดีดังนั้นฉันจะไม่ลงรายละเอียดเพิ่มเติมที่นี่

λ

JB Wells, Typability และการตรวจสอบประเภทใน System F เทียบเท่าและไม่สามารถตัดสินใจได้

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

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

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

ถนนสายหนึ่งที่เป็นไปได้คือข้อมูลของ "ประเภทการปรับแต่ง" ซึ่งภาษาของการแสดงออกของประเภทการอ้างอิงถูก จำกัด เพื่อให้สามารถดูการตรวจสอบ decidable, เช่นของเหลวประเภท มันเป็นการยากที่การอนุมานแบบเต็มรูปแบบนั้นสามารถตัดสินใจได้แม้ในระบบเหล่านี้


ลิงก์ประเภทของเหลวแตก
michaelsnowden

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