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

โครงสร้างชนิดเป็นวินัยเชิงประโยคสำหรับการบังคับใช้ระดับของสิ่งที่เป็นนามธรรม

3
เราสามารถพิสูจน์การทำให้เป็นมาตรฐานที่อ่อนแอสำหรับ System F โดยการเหนี่ยวนำในลำดับ transfinite
ฟื้นฟูอ่อนแอง่ายพิมพ์แลมบ์ดาแคลคูลัสสามารถพิสูจน์ได้ (ทัวริง) โดยการเหนี่ยวนำใน 2 แคลคูลัสแลมบ์ดาขยาย recursors ในจำนวนธรรมชาติ (Gentzen) มีกลยุทธ์การฟื้นฟูที่อ่อนแอโดยการเหนี่ยวนำในε 0ω2ω2\omega^2ε0ε0\epsilon_0 สิ่งที่เกี่ยวกับ System F (หรืออ่อนแอกว่า)? มีหลักฐานการทำให้ปกติในรูปแบบนี้อ่อนแอหรือไม่? ถ้าไม่สามารถทำได้เลย

3
ทำไมคอนสตรัคติวิสต์ดูเหมือนจะไม่สนใจเรื่องโทร / cc มากเกินไป
เมื่อสักครู่ก่อนฉันมีคนบอกฉันว่าการเรียก / สำเนาลับสามารถอนุญาตวัตถุพิสูจน์สำหรับการพิสูจน์แบบดั้งเดิมโดยใช้กฎหมายของเพียรซ ฉันเพิ่งคิดเกี่ยวกับหัวข้อเมื่อเร็ว ๆ นี้และฉันไม่สามารถหาข้อบกพร่องได้ อย่างไรก็ตามฉันดูเหมือนจะไม่เห็นคนอื่นพูดถึงมันจริงๆ ดูเหมือนว่าเป็นโมฆะของการสนทนา สิ่งที่ช่วยให้? สำหรับฉันดูเหมือนว่าถ้าคุณมีสิ่งปลูกสร้างเช่นในบางบริบทดังนั้นหนึ่งในสองสิ่งนั้นเป็นจริง ไม่ว่าคุณจะมีการเข้าถึงอินสแตนซ์⊥อย่างใดในบริบทปัจจุบันซึ่งในการควบคุมการไหลกรณีที่จะไม่เคยไปถึงที่นี่และเรามีความปลอดภัยที่จะคิดหรือสิ่งที่กำหนดว่าF : ¬ ( ¬ P )หมายถึงF : ( P →การ⊥ ) →การ⊥วิธีเดียวที่fสามารถส่งคืน⊥คือสร้างอินสแตนซ์ของPf:¬(¬P)f:¬(¬P)f : \neg(\neg P)⊥⊥\botf:¬(¬P)f:¬(¬P)f : \neg(\neg P)f:(P→⊥)→⊥f:(P→⊥)→⊥f : (P \to \bot) \to \botfff⊥⊥\botPPPและการประยุกต์ใช้มันสองมันอาร์กิวเมนต์ (ตัวอย่างของ ) ในกรณีเช่นนี้มีบางวิธีในการสร้างอินสแตนซ์ของP อยู่แล้ว ดูเหมือนว่าเหมาะสมสำหรับการโทร / ซีซีเพื่อดึงสิ่งก่อสร้างนี้ออกมาให้ฉัน เหตุผลของฉันที่นี่ดูเหมือนจะสงสัยว่าฉัน แต่ความสับสนของฉันยังคงยืนอยู่ หากการโทร / cc ไม่เพียงสร้างอินสแตนซ์ของPออกมาจากอากาศ (ฉันไม่เห็นว่ามันเป็นอย่างไร) แล้วปัญหาคืออะไรP→⊥)P→⊥)P …

1
พีชคณิตแบบบูลสามารถแสดงในแลมบ์ดา caclulus ที่พิมพ์ได้หรือไม่?
พีชคณิตแบบบูลสามารถแสดงในแคลคูลัสแลมบ์ดาที่ไม่ได้พิมพ์ใน (เช่น) ด้วยวิธีนี้ true = \t. \f. t; false = \t. \f. t; not = \x. x false true; and = \x. \y. x y false; or = \x. \y. x true y; พีชคณิตแบบบูลสามารถเข้ารหัสใน System F ด้วยวิธีนี้ : CBool = All X.X -> X -> X; true = \X. \t:X. …

1
การสืบทอดนั้นแตกต่างจากการพิมพ์ย่อยอย่างไร
ในมุมมองภาษาการเขียนโปรแกรมการพิมพ์ย่อยหมายถึงอะไร ฉันได้ยินมาว่า "มรดกไม่ใช่การพิมพ์ย่อย" แล้วความแตกต่างระหว่างการสืบทอดและการพิมพ์ย่อยคืออะไร

2
ทฤษฎีการพิสูจน์ของ biproducts?
หมวดหมู่มีbiproductsเมื่อวัตถุเดียวกันมีทั้งผลิตภัณฑ์และ coproducts มีใครตรวจสอบทฤษฎีการพิสูจน์ของหมวดหมู่ด้วย biproducts หรือไม่? บางทีตัวอย่างที่รู้จักกันดีที่สุดคือหมวดหมู่ของปริภูมิเวกเตอร์ซึ่งผลรวมโดยตรงและการสร้างผลิตภัณฑ์โดยตรงให้เวกเตอร์สเปซเดียวกัน นั่นหมายถึงการเว้นวรรคเวกเตอร์และแผนที่เชิงเส้นเป็นรูปแบบลอจิคัลเชิงเส้นที่เสื่อมโทรมเล็กน้อยและฉันอยากรู้ว่าทฤษฎีประเภทที่ยอมรับความเสื่อมนี้จะมีลักษณะอย่างไร

1
โครงสร้างข้อมูลในภาษาโปรแกรมที่มีชนิดเชิงเส้น
สมมติว่าเรากำลังจัดการกับภาษาการเขียนโปรแกรมที่ได้รับการสนับสนุนสำหรับประเภทเชิงเส้น (แง่ของประเภทเชิงเส้นสามารถใช้งานได้มากที่สุดในครั้งเดียวเพื่อที่จะพูด) วิธีนี้ช่วยให้สามารถรักษาผลกระทบจากการคำนวณบางอย่าง (เช่นการเปลี่ยนแปลงแม้กระทั่งการเปลี่ยนชนิดของตัวถูกดำเนินการ) ในลักษณะที่เป็นปัญหาสำหรับภาษาประเภทของระบบที่ทำงานเฉพาะกับ "ความจริงนิรันดร์" โครงสร้างข้อมูลจำนวนมากสามารถกำหนดประเภทอุปนัย (รายการและต้นไม้เป็นตัวอย่างที่ยอมรับได้) หากเราเพิ่มประเภทอุปนัยเชิงเส้นลงในการผสมเราสามารถจัดการโครงสร้างข้อมูลที่ไม่แน่นอนได้ อย่างไรก็ตามมันไม่ชัดเจนสำหรับฉันที่จะแสดงโครงสร้างข้อมูลที่แสดงการแชร์และการอ้างอิงแบบวนรอบในภาษาการเขียนโปรแกรมที่มีชนิดเชิงเส้น (ตัวอย่างของโครงสร้างข้อมูลดังกล่าวคือ DAG และกราฟอื่น ๆ ที่แสดงโดยรายการ adjacency หรืออย่างอื่น เราทำอย่างนั้นได้ไหม หากเป็นไปไม่ได้เราควรขยายภาษาเพื่อรองรับโครงสร้างข้อมูลดังกล่าวด้วยวิธีใด? ตัวอย่างที่เกี่ยวข้องมากที่สุดที่ฉันค้นพบคือรายการที่ลิงก์สองเท่า มีตัวอย่างอื่นอีกไหม?

3
พารามิเตอร์เชิงสัมพันธ์สามารถกระตุ้นได้อย่างไร
มีวิธีธรรมชาติที่จะเข้าใจสาระสำคัญของความหมายเชิงสัมพันธ์สำหรับตัวแปรหลากหลายหรือไม่? ฉันเพิ่งเริ่มอ่านเกี่ยวกับความคิดเกี่ยวกับตัวแปรเชิงสัมพันธ์, "ประเภทของ La John John Reynolds ', Abstraction และ Parametric Polymorphism" และฉันมีปัญหาในการทำความเข้าใจว่าความหมายเชิงสัมพันธ์เป็นแรงจูงใจ ความหมายชุดทำให้รู้สึกที่สมบูรณ์แบบสำหรับฉันและฉันตระหนักว่าชุดความหมายไม่เพียงพอที่จะอธิบายตัวแปรหลากหลาย แต่กระโดดไปสู่ความหมายเชิงสัมพันธ์ดูเหมือนว่าจะเป็นเวทมนตร์มาจากที่ไหนเลยอย่างสมบูรณ์ มีวิธีการอธิบายบางอย่างตามแนว "สมมติความสัมพันธ์กับประเภทฐานและเงื่อนไขและจากนั้นการตีความคำที่ได้รับนั้นเป็นเพียงความสัมพันธ์ตามธรรมชาติระหว่าง... เช่นและสิ่งที่เป็นธรรมชาติ ...ในภาษาการเขียนโปรแกรมของคุณ "? หรือคำอธิบายตามธรรมชาติอื่น ๆ ?

2
ในหนังสือ Hott รูปแบบตัวพิมพ์ส่วนใหญ่ซ้ำซ้อนกันหรือไม่ และถ้าเป็นเช่นนั้นทำไม
ในบทที่ 1 และภาคผนวก A ของหนังสือ Hottจะมีการนำเสนอตระกูลดั้งเดิมหลายประเภท (ประเภทจักรวาล, ประเภทของฟังก์ชันที่ต้องพึ่งพา, ชนิดคู่ที่ขึ้นต่อกัน, ประเภทของ Coproduct, ประเภทที่ว่างเปล่า, ประเภทหน่วย, ชนิดของธรรมชาติ, และชนิดเอกลักษณ์) สำหรับทฤษฎีประเภท Homotopy อย่างไรก็ตามดูเหมือนว่าจะมีประเภทจักรวาลและประเภทฟังก์ชั่นที่พึ่งพาคุณสามารถสร้างประเภท "ดั้งเดิม" อื่น ๆ เหล่านี้ทั้งหมด ตัวอย่างเช่นประเภท Empty สามารถกำหนดแทน ΠT:U.T ฉันคิดว่าประเภทอื่น ๆ ก็สามารถสร้างได้คล้ายกับที่พวกเขาอยู่ในCC บริสุทธิ์ (เช่นเพิ่งได้รับประเภทจากส่วนอุปนัยของคำนิยาม) หลายประเภทเหล่านี้มีการทำซ้ำซ้อนอย่างชัดเจนโดยประเภทอุปนัย / W ที่ได้รับการแนะนำในบทที่ 5 และ 6 แต่ประเภทอุปนัย / W ดูเหมือนจะเป็นส่วนหนึ่งของทฤษฎีเนื่องจากมีคำถามเปิดเกี่ยวกับวิธีที่พวกเขาโต้ตอบกับ HoTT (ที่ อย่างน้อยตอนที่หนังสือออกมา) ดังนั้นฉันจึงสับสนมากเกี่ยวกับสาเหตุที่แสดงประเภทเพิ่มเติมเหล่านี้เป็นแบบดั้งเดิม ปรีชาญาณของฉันคือทฤษฎีพื้นฐานควรมีน้อยที่สุดเท่าที่จะเป็นไปได้และการนิยามประเภท Empty ที่ซ้ำซ้อนเป็นแบบดั้งเดิมในทฤษฎีดูเหมือนว่าจะเป็นกฎเกณฑ์มาก เป็นตัวเลือกนี้ทำ …

1
Reations แบบลอจิคัลสำหรับระบบ Impredicative ใน MetaThe Predicative
ความสัมพันธ์แบบลอจิคัลสำหรับภาษาที่มีการเลียนแบบเช่น System F ดูเหมือนจะใช้การวิเคราะห์เชิงวิพากษ์ของตรรกะโดยรอบ โดยเฉพาะการตีความสำหรับประเภททั้งหมดจะถูกกำหนดในแง่ของความสัมพันธ์ที่พิมพ์ทั้งหมด ในระบบที่ใช้งานได้ดี (เช่น CiC / Coq) ก็ใช้ได้ แต่ดูเหมือนว่าจะเป็นไปไม่ได้ในระบบภาค (เช่น Agda) สิ่งนี้สามารถทำได้? ตัวอย่างเช่นคุณจะพิสูจน์การทำให้เป็นมาตรฐานสำหรับ System F ใน Agda อย่างไร คุณต้องสร้างจักรวาลแห่งการฝึกฝนของคุณเองหรือไม่?

1
ความสอดคล้องสัมพัทธ์ของ PA และทฤษฎีบางประเภท
สำหรับทฤษฎีประเภทโดยความสอดคล้องฉันหมายความว่ามันมีประเภทที่ไม่ได้อาศัยอยู่ จากการฟื้นฟูที่แข็งแกร่งของแลมบ์ดาคิวบ์นั้นจะตามมาว่าระบบFFFและระบบFωFωF_\omegaนั้นสอดคล้องกัน MLTT + อุปนัยประเภทนี้ยังมีหลักฐานการฟื้นฟู อย่างไรก็ตามสิ่งเหล่านี้ควรมีพลังมากพอที่จะสร้างแบบจำลองของ PA ซึ่งพิสูจน์ว่า PA นั้นสอดคล้องกับทฤษฎีเหล่านี้ ระบบFFFคือมีประสิทธิภาพมากดังนั้นผมจึงคาดว่าจะสามารถที่จะพิสูจน์ความสอดคล้องของ PA โดยการสร้างรูปแบบการใช้เลขคริสตจักร MLTT + IT มีตัวเลขอุปนัยตามธรรมชาติและควรพิสูจน์ความสอดคล้องเช่นกัน ทั้งหมดนี้แสดงให้เห็นว่าการพิสูจน์การทำให้เป็นมาตรฐานสำหรับทฤษฎีเหล่านี้ไม่สามารถนำมาใช้ภายใน PA ได้ ดังนั้น: ระบบFFF , ระบบFωFωF_\omega , และ MLTT + IT สามารถพิสูจน์ความสอดคล้องของ PA ได้จริงหรือไม่? หากสามารถทำได้แล้วจำเป็นต้องมีอภิธานศัพท์อะไรบ้างที่จะพิสูจน์การทำให้เป็นมาตรฐานสำหรับระบบFFF , FωFωF_\omega , และ MLTT + IT? มีการอ้างอิงที่ดีสำหรับทฤษฎีการพิสูจน์ของทฤษฎีประเภททั่วไปหรือสำหรับทฤษฎีประเภทเหล่านี้โดยเฉพาะหรือไม่?

1
ข้อกำหนดขั้นต่ำของทฤษฎีประเภท Martin-Löf
ฉันกำลังอ่านการนำเสนออย่างเป็นทางการของทฤษฎีประเภท Martin-Löfs (ภาคผนวกของหนังสือ HoTT ) ผู้เขียนแนะนำลำดับชั้นของจักรวาลจากนั้นและW -typesเช่นเดียวกับตัวเลขธรรมชาติN (เหนี่ยวนำผ่าน0และs u c c ) ในที่สุดพวกเขาก็เพิ่มประเภทอุปนัยที่สูงขึ้นเช่นกันΠ,Σ,+,0,1Π,Σ,+,0,1\Pi, \Sigma,+, {\bf 0}, {\bf 1}WWWNN\mathbb N000succsuccsucc แต่ฉันสงสัยว่าทำไมมันจำเป็นต้องทำในสเปคของทฤษฎี ไม่ได้1และ+และพีชคณิตชนิดข้อมูลในชาติของการมีW -types พอที่จะตั้งขึ้น? เช่นกับวิธีพีชคณิตเริ่มต้น (หรืออย่างน้อยหลังจากเราผ่านจาก MLTT ไปยัง HoTT มีประเภทอุปนัย - หลังจากทั้งหมดจำนวนเต็มZกลายเป็นกลุ่ม homotopyของวงกลมประเภทSภายในทฤษฎี)NN\mathbb N11{\bf 1}+++WWWZZ\mathbb ZSS\mathbb S หรือเกี่ยวข้องกับความต้องการของเราที่จะมีการเรียกซ้ำแบบดั้งเดิมตั้งแต่เริ่มต้นซึ่งถูกกำหนดไว้ถัดจากในการนำเสนอ? นี่เป็นความคิดที่ฉันมีเพราะฉันไม่รู้ว่า "นิยามนิยาม" ในกรอบนั้นหรือวิธีการขยายงานภาษาอย่างเป็นทางการ ฉันอาจเพิ่มว่าฉันรับรู้ว่าอย่างน้อยความคิดที่เป็นทางการของตัวเลขและ "มากกว่า" ถูกใช้ไปแล้วเมื่อมีการกำหนดลำดับชั้นของจักรวาลNN\mathbb N ในกรณีที่ใครสามารถสำรองและสเปคไม่ได้น้อยที่สุดมีรายการอื่นที่สามารถทำได้ในหลักการหล่น? เช่นฉันนึกภาพ2แล้ว+มาจากการรวมกันของΠ , Σ , 0 …

3
ผลกระทบเชิงลบของการขยาย CIC กับสัจพจน์คืออะไร?
มันเป็นความจริงหรือไม่ที่การเพิ่มสัจพจน์ใน CIC อาจมีอิทธิพลทางลบในเนื้อหาการคำนวณของคำจำกัดความและทฤษฎีบท? ผมเข้าใจว่าในพฤติกรรมปกติของทฤษฎีใด ๆ ระยะปิดจะลดลงในฟอร์มปกติที่ยอมรับเช่นถ้าเป็นจริงแล้วnต้องลดระยะของรูปแบบ( s ยูคค. . . ( s U คค( 0 ) ) ) แต่เมื่อกล่าวถึงสัจพจน์ - พูดถึงความจริงของฟังก์ชันส่วนขยาย- เราเพียงแค่เพิ่มค่าคงที่ใหม่ให้กับระบบn:Nn:Nn : \mathbb{N}nnn(succ...(succ(0)))(succ...(succ(0)))(succ ... (succ (0)))funext funext:Πx:Af(x)=g(x)→f=gfunext:Πx:Af(x)=g(x)→f=g funext : \Pi_{x : A} f (x) = g (x) \to f = g นั่นจะเป็นเพียง "วิเศษ" สร้างหลักฐานของจากการพิสูจน์ของΠ x : A f ( …

2
คุณสมบัติ Church-Rosser สำหรับแคลคูลัสแลมบ์ดา
มันเป็นที่รู้จักกันดีว่าคริสตจักรร็อคุณสมบัติถือสำหรับ -reduction ในเพียงแค่พิมพ์แลมบ์ดาแคลคูลัส นี่ก็หมายความว่าแคลคูลัสนั้นสอดคล้องกันในแง่ที่ว่าไม่ใช่ทุกสมการที่เกี่ยวข้องกับλ -terms เป็นอนุพันธ์: ตัวอย่างเช่นK ≠ Iเนื่องจากพวกเขาไม่ได้ใช้รูปแบบปกติร่วมกันβηβη\beta \etaλλ\lambda≠≠\neq เป็นที่รู้จักกันว่าหนึ่งสามารถขยายผลให้คู่ที่สอดคล้องกับประเภทผลิตภัณฑ์ แต่ฉันสงสัยว่าถ้าใครสามารถขยายผลสำหรับแคลคูลัสแลมบ์ดาที่พิมพ์ได้อย่างน่าเชื่อถือ (อาจ) ด้วยโพลีมอร์ฟิคประเภทเช่นแคลคูลัสของสิ่งก่อสร้าง? การอ้างอิงใด ๆ ก็จะดีมาก! ขอบคุณ

1
ทำไมมาร์ติน - โลฟจึงจำเป็นต้องสร้างทฤษฎีประเภทสัญชาตญาณ?
ฉันได้อ่านเกี่ยวกับ Intuitionistic Type Theory (ITT) แล้วและมันก็สมเหตุสมผลดี แต่สิ่งที่ฉันดิ้นรนเพื่อทำความเข้าใจคือ "ทำไม" มันถูกสร้างขึ้นตั้งแต่แรก? Intuitionistic Logic (IL) และ Simply-typed -calculus (STLC) และทฤษฎีประเภทโดยทั่วไปถือกำเนิดมาร์ติน - ล็อฟเอง! ดูเหมือนว่าเราสามารถทำทุกอย่างใน STLC ที่เป็นไปได้ใน ITT (ฉันอาจจะผิด แต่อย่างน้อยก็รู้สึกอย่างนั้น) λλ\lambda ดังนั้น "นวนิยาย" เกี่ยวกับ ITT คืออะไรและมันได้พัฒนาทฤษฎีการคำนวณอย่างไร? จากสิ่งที่ฉันเข้าใจเขาแนะนำแนวคิด "ประเภทพึ่งพา" แต่ดูเหมือนว่าพวกเขามีอยู่แล้วใน STLC ในทางใดทางหนึ่ง ITT ของเขาเป็นความพยายามที่เป็นนามธรรมหรือไม่ที่จะเข้าใจหลักการพื้นฐานของ STLC และ IL ด้วยกันไหม แต่ STLC ไม่ได้ทำเช่นนั้นใช่ไหม ดังนั้นทำไม ITT จึงถูกสร้างขึ้นตั้งแต่แรก? ประเด็นคืออะไร? นี่คือข้อความที่ตัดตอนมาจากWikipedia …

4
แบบจำลองวัตถุ (OOP) ในทฤษฎีประเภทขึ้นอยู่กับ
ฉันสนใจในการสร้างแบบจำลองวัตถุจากการเขียนโปรแกรมเชิงวัตถุในทฤษฎีประเภทขึ้นอยู่กับ ในฐานะที่เป็นแอพพลิเคชั่นที่เป็นไปได้ฉันต้องการมีแบบจำลองที่ฉันสามารถอธิบายคุณสมบัติที่แตกต่างของภาษาการเขียนโปรแกรมที่จำเป็น ฉันสามารถหาเอกสารเกี่ยวกับการสร้างแบบจำลองวัตถุในทฤษฎีประเภทพึ่งพาซึ่งก็คือ: การเขียนโปรแกรมเชิงวัตถุในทฤษฎีชนิดพึ่งพาโดย A. Setzer (2006) มีการอ้างอิงเพิ่มเติมในหัวข้อที่ฉันพลาดไปหรืออาจจะมีการอ้างอิงล่าสุดหรือไม่ อาจมีการดำเนินการ (เช่นหลักฐาน) สำหรับนักทฤษฎีบทเช่น Coq หรือ Agda หรือไม่?

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