คำถามติดแท็ก dependent-type

คุณลักษณะที่ทับซ้อนกันของทฤษฎีประเภทและระบบประเภท

1
เทคนิคการพิสูจน์สำหรับการแสดงว่าการตรวจสอบชนิดที่ขึ้นต่อกันนั้นสามารถตัดสินใจได้
ฉันอยู่ในสถานการณ์ที่ฉันต้องแสดงให้เห็นว่าการพิมพ์ดีดนั้นสามารถตัดสินใจได้สำหรับแคลคูลัสที่พิมพ์ได้ที่ฉันกำลังทำงานอยู่ จนถึงตอนนี้ฉันสามารถพิสูจน์ได้ว่าระบบกำลังฟื้นฟูอย่างมากและดังนั้นความเท่าเทียมกันแบบกำหนดเงื่อนไขจึงสามารถตัดสินใจได้ ในการอ้างอิงจำนวนมากที่ฉันอ่านความสามารถในการตัดสินใจของการพิมพ์ดีดถูกระบุว่าเป็นข้อพิสูจน์ของการฟื้นฟูที่แข็งแกร่งและฉันเชื่อว่าในกรณีเหล่านั้น แต่ฉันสงสัยว่าจะมีการแสดงนี้อย่างไร โดยเฉพาะอย่างยิ่งฉันติดอยู่กับสิ่งต่อไปนี้: เพียงเพราะคำศัพท์ที่พิมพ์ได้ดีนั้นกำลังทำให้เป็นมาตรฐานอย่างมากไม่ได้หมายความว่าอัลกอริทึมจะไม่วนซ้ำตลอดไปสำหรับอินพุตที่ไม่ได้พิมพ์ เนื่องจากความสัมพันธ์เชิงตรรกะมักใช้เพื่อแสดงการทำให้เป็นมาตรฐานที่แข็งแกร่งจึงไม่มีการลดเมตริกที่สะดวกในขณะที่เราดำเนินการกับข้อตกลงการพิมพ์ ดังนั้นแม้ว่ากฏประเภทของฉันจะกำกับด้วยไวยากรณ์ แต่ก็ไม่รับประกันว่าการใช้กฏจะสิ้นสุดลงในที่สุด ฉันสงสัยว่ามีใครมีการอ้างอิงที่ดีในการพิสูจน์ความสามารถในการพิมพ์ดีดสำหรับภาษาที่พิมพ์ได้หรือไม่ ถ้าเป็นแคลคูลัสขนาดเล็กก็ไม่เป็นไร อะไรก็ตามที่กล่าวถึงเทคนิคการพิสูจน์เพื่อแสดงความสามารถในการตัดสินใจได้ดี

1
การอ้างอิงความจริงที่ว่า (0 = 1) หมายถึงเท็จต้องมีจักรวาลใน MLTT
มันเป็นความจริงที่รู้จักกันดีว่าการได้มาซึ่งความขัดแย้งจากความไม่เท่าเทียมกัน (ตัวอย่างเช่น ) ในทฤษฎีประเภทมาร์ติน - โลฟต้องใช้จักรวาล(0=1)→⊥(0=1)→⊥(0=1) \to \bot การพิสูจน์นั้นค่อนข้างตรงไปตรงมา - ในกรณีที่ไม่มีจักรวาลเราสามารถลบการพึ่งพาจากประเภทใด ๆ เพื่อให้ได้รูปแบบที่เรียบง่ายตามรูปร่างและเพื่อพิสูจน์ว่าหมายความว่าเราสามารถพิสูจน์p → ⊥สำหรับอะตอมpโดยพลการซึ่งเป็นไปไม่ได้แน่นอน(0=1)→⊥(0=1)→⊥(0=1) \to \botp→⊥p→⊥p \to \botppp อย่างไรก็ตามฉันไม่สามารถหาผู้ที่พิสูจน์เรื่องนี้ก่อน! ไม่มีใครมีการอ้างอิง?

2
ทำให้ทฤษฎีเซต จำกัด ในทฤษฎีประเภทเป็นทางการ
ผู้ช่วยที่พิสูจน์ได้ส่วนใหญ่มีแนวคิดของ "ชุด จำกัด " อย่างเป็นทางการ อย่างไรก็ตามความเป็นทางการเหล่านี้มีความแตกต่างกันไปอย่างรุนแรง สิ่งที่ฉันไม่เข้าใจในตอนนี้คือพื้นที่การออกแบบที่เกี่ยวข้องและข้อดีและข้อเสียของการทำให้เป็นระเบียบแต่ละแบบคืออะไร โดยเฉพาะอย่างยิ่งฉันต้องการที่จะเข้าใจต่อไปนี้: ฉันสามารถ axiomatize เซต จำกัด (เช่นประเภทที่อาศัยอยู่โดยจำนวน จำกัด ของผู้อยู่อาศัย) ในทฤษฎีแบบง่าย ๆ หรือไม่? ระบบ F ข้อเสียของการทำเช่นนี้คืออะไร? ฉันรู้ว่ามันสามารถทำได้ 'หรูหรา' ในระบบที่พิมพ์ได้อย่างพึ่งพา แต่จากมุมมองแบบคลาสสิกคำจำกัดความที่ได้นั้นดูเหมือนจะเป็นเรื่องที่แปลกมาก [ฉันไม่ได้พูดว่าพวกเขาผิดไปไกลจากมัน!] แต่ฉันไม่เข้าใจว่าทำไมพวกเขาถึงถูกต้อง ฉันเข้าใจว่าพวกเขาเลือกแนวคิดที่ถูกต้องแต่เหตุผลที่ลึกซึ้งกว่าสำหรับ 'พูดอย่างนั้น' คือสิ่งที่ฉันไม่เข้าใจ โดยทั่วไปฉันอยากจะแนะนำเหตุผลในการออกแบบพื้นที่ของ formalization แนวคิดของ 'ชุด จำกัด ' ในทฤษฎีประเภท

1
ความสัมพันธ์ที่เป็นอันหนึ่งอันเดียวกันสำหรับทฤษฎีของ cateogries กับแนวคิดโครงกระดูก
ว่าฉันทำงานในทฤษฎีประเภท homotopyและวัตถุการศึกษาของฉันเป็นหมวดหมู่ทั่วไป ความเท่าเทียมกันที่นี่ได้รับจาก functorsและ ซึ่งให้ความสมดุลของหมวดD} มี isomorphisms ตามธรรมชาติและเพื่อให้ functor นี้และ "inverse" functor จะถูกแปลงเป็น functor หน่วยF:D⟶CF:D⟶CF:{\bf D}\longrightarrow{\bf C}G:C⟶DG:C⟶DG:{\bf C}\longrightarrow{\bf D} C≃DC≃D{\bf C} \simeq {\bf D}α:nat(FG,1C)α:nat(FG,1C)\alpha:\mathrm{nat}(FG,1_{\bf C})β:nat(GF,1D)β:nat(GF,1D)\beta:\mathrm{nat}(GF,1_{\bf D}) ตอนนี้univalenceเกี่ยวข้องกับการเทียบเคียงกับเอกลักษณ์ประเภทของทฤษฎีประเภทเจตนาฉันเลือกที่จะพูดคุยเกี่ยวกับหมวดหมู่ เนื่องจากฉันจัดการกับหมวดหมู่เท่านั้นและสิ่งเหล่านั้นเทียบเท่าหากพวกเขามีโครงกระดูกแบบ isomorphic ฉันจึงสงสัยว่าฉันสามารถแสดงความจริงที่เป็นเอกภาพในแง่ของการส่งผ่านไปยังโครงกระดูกของหมวดหมู่C=DC=D{\bf C}={\bf D} หรือมิฉะนั้นฉันสามารถกำหนดประเภทของตัวตนคือการแสดงออกทางสีหน้า ในทางที่บอกว่า "มีโครงกระดูก (หรือ isomorphi) และและทั้งคู่มีค่าเท่ากัน "?C=D:=…C=D:=…{\bf C}={\bf D}:=\dotsCC{\bf C}DD{\bf D} (ในข้างต้นฉันพยายามตีความทฤษฎีประเภทในแง่ของแนวคิดที่ง่ายต่อการนิยาม - แนวคิดทางทฤษฎีหมวดหมู่ฉันคิดเกี่ยวกับเรื่องนี้เพราะในทางศีลธรรมมันดูเหมือนว่าฉันว่าสัจพจน์ "แก้ไข" ทฤษฎีประเภทเจตนาโดยการเข้ารหัสยากหลักการสมดุลที่มีอยู่แล้วส่วนหนึ่งของธรรมชาติของการกำหนดประเภทงบทฤษฎีเช่นระบุวัตถุเพียง แต่ในแง่คุณสมบัติสากล.)

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

1
อะไรคือบทบาทของแคลคูลัส Bicolored ของการก่อสร้าง?
โดยเฉพาะอย่างยิ่งอัลกอริทึมที่ยึดตามแคลคูลัส Bicolored ของการก่อสร้างและฉันสับสนเล็กน้อย ฉันไม่เข้าใจว่าจุดประสงค์ของCCbiCCbiCC^{bi}คือ. ดูเหมือนว่าจะเหมือนกันกับCCCCCCยกเว้นว่ามีความแตกต่างระหว่างข้อโต้แย้งโดยนัยและข้อโต้แย้งที่ชัดเจนสำหรับฟังก์ชั่น โดยเฉพาะฉันไม่เห็นว่ามันช่วยให้คุณเขียนได้อย่างไร(id0)(id0)(id\; 0) แทน (idN0)(idN0)(id\; \mathbb{N}\; 0). หากเราถือว่าระบบสำหรับคำจำกัดความสากลแล้ว id:(ΠA|Type.(Πx:A.A))id:(ΠA|Type.(Πx:A.A))id : (\Pi A\; |\; \mathsf{Type}\; . (\Pi x : A\; . A)) และ id=(λA|Type.(λx:A.x))id=(λA|Type.(λx:A.x))id = (\lambda A\; |\; \mathsf{Type}\; . (\lambda x : A . x)). ทำกฎอนุญาตจริงๆ (id0)(id0)(id\; 0)? แน่นอนว่าไวยากรณ์ทำ แต่ฉันไม่เห็นมันในความสัมพันธ์การพิมพ์ ฉันพลาดอะไรไปรึเปล่า? ฉันเข้าใจบทบาทของCCbiCCbiCC^{bi} ไม่ถูกต้อง? นอกจากนี้ทรัพย์สินที่บรรจบกันจะสูญหายไปหรือไม่ ฉันเดาว่าปัญหาของฉันคือฉันกำลังอ่านเกี่ยวกับความประณีตโดยไม่ต้องอ่านอะไรมากมายCCbiCCbiCC^{bi}ก่อนหน้านี้. กระดาษที่ดีอะไรที่แนะนำและมันคนเดียว? …

2
ลำดับของการประกาศในเรื่องประเภทอุปนัยหรือไม่?
ฉันสงสัยว่าคำสั่งของการประกาศประเภทอุปนัยสามารถสำคัญได้หรือไม่ ตัวอย่างเช่นใน Coq คุณสามารถกำหนดNatอย่างใดอย่างหนึ่งโดย: Inductive Nat := | O : Nat | S : Nat -> Nat. หรือ Inductive Nat := | S : Nat -> Nat | O : Nat. นี่อาจจะเปลี่ยนลำดับของพารามิเตอร์ในเครื่องกำจัดที่สร้างขึ้นโดยอัตโนมัติ แต่นั่นไม่ใช่เรื่องใหญ่ สิ่งที่ฉันสงสัยคือถ้าเป็นไปได้ที่จะเขียนประกาศเช่นนี้ Inductive typewhereordermatters := | cons1 : type1 | cons2 : type2. ซึ่งtype2เป็นชนิดที่ขึ้นอยู่ขึ้นอยู่กับcons1? (และในกรณีนี้เขียนคำประกาศในลำดับอื่นจะไม่มีความหมายใด ๆ เพราะtype2จะหมายถึงcons1สิ่งที่ยังไม่มีอยู่)
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.