ความสามารถในการตัดสินใจของการอนุมานประเภทและการตรวจสอบประเภทใน MLTT


9
  1. ใน Martin-Löf's An Intuitionistic Theory of Types: Predicative Partเป็นการพิสูจน์การตรวจสอบชนิดนั้นa:A เป็นที่ตัดสินใจได้ ขึ้นอยู่กับการaถูกพิมพ์ได้ในสถานที่แรกโดยการพิสูจน์ทฤษฎีบทการทำให้เป็นมาตรฐานสำหรับคำที่พิมพ์ได้ปิด ในทางกลับกันฉันได้เห็นมันเขียนไว้ในหลาย ๆ แห่ง (Wikipedia, Nördstrom ฯลฯ ) ที่การตรวจสอบประเภทใน (intensional) MLTT นั้นสามารถตัดสินใจได้ พวกเขา จำกัด การพิมพ์คำโดยปริยายหรือไม่?

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

    ฉันไม่สามารถค้นหามากในวรรณคดี

คำตอบ:


9

แน่นอนปัญหาการตัดสินใจ

รับเทอม (pre-) a มีแบบไหน A ดังนั้น a:A สามารถทำได้ใน MLTT

บางครั้งก็เขียน a : ?(และเรียกว่าปัญหาการอนุมานประเภท ) นั้นสามารถตัดสินใจได้ซึ่งก็คือการพูดว่ามันไม่สำคัญว่าaพิมพ์ดีดหรือไม่รับคำตอบ อันที่จริงตัวตรวจสอบหลักฐานทั้งหมดที่ใช้ MLTT ใช้อัลกอริทึมการตัดสินใจบางเวอร์ชั่น!

เห็นได้ชัดว่าปัญหาในบริบทที่ไม่ว่างเปล่า (Γa : ?) เป็น decidable เช่นกันโดยปกติคุณจะต้องแก้ปัญหาหลังเพื่อแก้ไขอดีต

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

ด้วยเหตุนี้การทำให้คำศัพท์ที่พิมพ์ดีกลับคืนมาเป็นเงื่อนไขที่จำเป็นสำหรับปัญหาการอนุมานประเภทที่จะตัดสินใจได้

คุณอาจต้องการตรวจสอบสตรอม, Petersson สมิ ธ และสำหรับการแนะนำ


ฉันไม่ทราบใด ๆทั่วไปรายละเอียดของขั้นตอนวิธีการอนุมานชนิดทฤษฎีประเภท normalizing แม้ว่าพอลแล็คให้ภาพรวมสวยดี (แม้ว่ารัฐของศิลปะได้ดีขึ้น) ในtypechecking ในระบบประเภทบริสุทธิ์


วิธีการเกี่ยวกับ pretypes (คำพาดพิงถึงชนิดหนึ่ง) มันอาจจะคุ้มค่าที่จะชี้แจงสถานะของพวกเขาเช่นกัน
Andrej Bauer

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

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

1
@JoshChen อัลกอริทึมเป็นสิ่งที่สำคัญมากโดยทั่วไปเนื่องจากพวกเขาเกี่ยวข้องกับการค้นหาประเภทกำกับโดยสลับกับขั้นตอนการทำให้เป็นมาตรฐานสำหรับคำที่พิมพ์ได้ดีดังที่ Andrej อธิบาย ฉันไม่ทราบคำอธิบายทั่วไปของอัลกอริทึม แต่ฉันจะเพิ่มการอ้างอิงบางส่วนเพื่อคำตอบของฉัน
ดี้

1
@JoshChen พวกเขาไม่ได้ชี้แจง แต่พวกเขาอาจหมายถึงประเภทที่อนุมานได้สำหรับคำว่า "สไตล์แกงกะหรี่" ซึ่งเป็นการอนุมานที่ไม่สามารถคาดเดาได้ ฉันเข้าไปดูรายละเอียดเพิ่มเติมได้ที่นี่: cs.stackexchange.com/a/12957/988
cody

8

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

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

หนึ่งต้องดูอัลกอริทึมเฉพาะและดูว่าพวกเขาทำงานด้วยวิธีนี้จริง ๆ แต่พวกเขาทำ ฉันแค่ต้องการระบุสิ่งที่ทำให้พวกเขาติ๊ก หรือดีกว่านั่นคือเหตุผลที่พวกเขาหยุดฟ้อง

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