ทำไมมันเป็นไปไม่ได้ที่จะประกาศหลักการอุปนัยสำหรับเลขคริสตจักร


17

ลองนึกภาพเรากำหนดจำนวนธรรมชาติในแคลคูลัสแลมบ์ดาที่พิมพ์ขึ้นอยู่กับเลขคริสตจักร พวกมันอาจถูกกำหนดด้วยวิธีต่อไปนี้:

SimpleNat = (R : Set) → R → (R → R) → R

zero : SimpleNat
zero = λ R z _ → z

suc : SimpleNat → SimpleNat
suc sn = λ R z s → s (sn R z s)

SimpleNatRec : (R : Set) → R → (R → R) → SimpleNat → R
SimpleNatRec R z s sn = sn R z s

อย่างไรก็ตามดูเหมือนว่าเราไม่สามารถกำหนดตัวเลขศาสนจักรด้วยหลักการอุปนัยประเภทต่อไปนี้:

NatInd : (C : Nat -> Set) -> (C zero) -> ((n : Nat) -> C n -> C (suc n)) -> (n : Nat) -> (C n)

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

คำตอบ:


20

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

กำหนดประเภทคอนสตรัคเราอาจจะสนใจใน "น้อยที่สุด" ประเภทความพึงพอใจT ( ) ในแง่ของหมวดหมู่ทฤษฎีTคือ functor และAคือT -algebra เริ่มต้น ตัวอย่างเช่นถ้าT ( X ) = 1 + Xดังนั้นAสอดคล้องกับจำนวนธรรมชาติ ถ้าT ( X ) = 1 +T:TYพีอีTYพีอีAAT(A)TATT(X)=1+XAจากนั้น Aเป็นชนิดของต้นไม้ไบนารีที่ จำกัดT(X)=1+X×XA

ความคิดที่มีประวัติศาสตร์อันยาวนานเป็นที่เริ่มต้นพีชคณิตเป็นชนิดที่ : = Π X : T Y พีอี ( T ( X ) X ) X (คุณกำลังใช้สัญกรณ์ Agda สำหรับผลิตภัณฑ์ที่ขึ้นต่อกัน แต่ฉันใช้สัญกรณ์คณิตศาสตร์แบบดั้งเดิมมากขึ้น) ทำไมจึงเป็นเช่นนี้ ทีนี้Aเข้ารหัสหลักการการเรียกซ้ำสำหรับT -algebra เริ่มต้น: ให้T -algebra Yกับมอร์ฟิซึ่มส์โครงสร้างf : T ( YT

A:=ΠX:TYพีอี(T(X)X)X.
ATTYเราได้พีชคณิตโฮโมมอร์ฟิซึม ϕ : A Yโดย ϕ ( a ) = a:T(Y)Yφ:AY ดังนั้นเราเห็นว่า Aนั้นเริ่มต้นอย่างไม่แน่นอน สำหรับการเริ่มต้นเราจะต้องรู้ว่า ϕมีความเป็นเอกลักษณ์เช่นกัน สิ่งนี้ไม่เป็นความจริงหากไม่มีการตั้งสมมติฐานเพิ่มเติม แต่รายละเอียดเป็นเทคนิคและน่ารังเกียจและจำเป็นต้องอ่านเนื้อหาพื้นหลัง ตัวอย่างเช่นหากเราสามารถแสดงทฤษฎีบทพารามิเตอร์ที่น่าพอใจเราก็ชนะ แต่ก็มีวิธีการอื่น (เช่นการนวดนิยามของ Aและสมมติว่า K -axiom และฟังก์ชันส่วนขยาย)
φ(a)=aY.
AφAK

T(X)=1+X

ยังไม่มีข้อความaเสื้อ=ΠX:TYพีอี((1+X)X)X=ΠX:TYพีอี(X×(XX))X=ΠX:TYพีอีX(XX)X.

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


8
ผมเห็นว่าคำตอบคือดี แต่อ้างอิงไม่กี่อาจจะมีประโยชน์ที่นี่: กระดาษ Geuvers' ที่ไม่ Derivability ของการเหนี่ยวนำและNeel K และกระดาษดีเร็ดรายเออร์ที่ได้รับของ (พอใช้) เหนี่ยวนำจาก parametricity ฉันไม่ได้ตระหนักถึงกระดาษที่สำรวจความสัมพันธ์อย่างเต็มที่แม้ว่า
ดี้

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