อ่าน 6 นาที
แคลคูลัสของการสร้าง
ในตรรกศาสตร์ทางคณิตศาสตร์และวิทยาศาสตร์คอมพิวเตอร์แคลคูลัสของการสร้าง ( CoC ) เป็นทฤษฎีประเภทที่สร้างขึ้นโดยเธียร์รี โคควอนด์มันสามารถใช้ได้ทั้งเป็นภาษาโปรแกรมที่มีประเภท และเป็น..
แคลคูลัสของการสร้าง
ในตรรกศาสตร์ทางคณิตศาสตร์และวิทยาศาสตร์คอมพิวเตอร์แคลคูลัสของการสร้าง ( CoC ) เป็นทฤษฎีประเภทที่สร้างขึ้นโดยเธียร์รี โคควอนด์มันสามารถใช้ได้ทั้งเป็นภาษาโปรแกรมที่มีประเภท และเป็น รากฐาน เชิงสร้างสรรค์สำหรับคณิตศาสตร์ด้วยเหตุผลประการที่สองนี้ CoC และรูปแบบต่างๆ ของมันจึงเป็นพื้นฐานสำหรับRocqและโปรแกรม ช่วยพิสูจน์ อื่นๆ
รูปแบบต่างๆ ของมัน ได้แก่ แคลคูลัสของการสร้างแบบอุปนัย (ซึ่งเพิ่มประเภทอุปนัย) แคลคูลัสของการสร้างแบบอุปนัยร่วม (ซึ่งเพิ่มการอุปนัยร่วม) และแคลคูลัสเชิงทำนายของการสร้างแบบอุปนัย (ซึ่งขจัดคุณสมบัติที่ไม่สามารถทำนายได้บางส่วน)
ลักษณะทั่วไป
CoC (CoC) เป็น แคลคูลัสแลมบ์ดาแบบมีชนิดข้อมูลระดับสูงซึ่งพัฒนาขึ้นครั้งแรกโดยเธียร์รี โคควอนด์ (Thierry Coquand ) เป็นที่รู้จักกันดีในฐานะที่เป็นส่วนสำคัญที่สุดของ ลูกบาศก์แลมบ์ดา ของบาเรนเดรกต์ (Barendregt's lambda cube ) ภายใน CoC สามารถกำหนดฟังก์ชันจากเทอมไปยังเทอม เทอมไปยังชนิดข้อมูล ชนิดข้อมูลไปยังชนิดข้อมูล และจากชนิดข้อมูลไปยังเทอมได้
CoC มีลักษณะเป็นมาตรฐานอย่างมากและสอดคล้องกัน[ 1 ]
การใช้งาน
CoC ได้รับการพัฒนาควบคู่ไปกับโปรแกรมช่วยพิสูจน์Rocq เมื่อมีการเพิ่มคุณสมบัติ (หรือลบข้อจำกัดที่อาจเกิดขึ้น) เข้าไปในทฤษฎี คุณสมบัติเหล่านั้นก็จะพร้อมใช้งานใน Rocq
รูปแบบต่างๆ ของ CoC ถูกนำไปใช้ในโปรแกรมช่วยพิสูจน์อักษรอื่นๆเช่น MatitaและLean
หลักการพื้นฐานของแคลคูลัสของการสร้าง
แคลคูลัสของการสร้างสามารถพิจารณาได้ว่าเป็นส่วนขยายของไอโซมอร์ฟิซึมของเคอร์รี-ฮาวาร์ดไอโซมอร์ฟิซึมของเคอร์รี-ฮาวาร์ดเชื่อมโยงเทอมในแคลคูลัสแลมบ์ดาแบบง่ายกับ บทพิสูจน์ การอนุมานตามธรรมชาติ แต่ละบท ในตรรกศาสตร์เชิงประพจน์แบบสัญชาตญาณ แคลคูลัสของการสร้างขยายไอโซมอร์ฟิซึมนี้ไปยังบทพิสูจน์ในแคลคูลัสภาคแสดง แบบสัญชาตญาณเต็มรูปแบบ ซึ่งรวมถึงการพิสูจน์ข้อความที่มีตัวบ่งปริมาณ (ซึ่งเราจะเรียกว่า "ประพจน์" เช่นกัน)
เงื่อนไข
เทอมในแคลคูลัสของการสร้างนั้นสร้างขึ้นโดยใช้กฎต่อไปนี้ :
- เป็นคำศัพท์ (เรียกอีกอย่างว่าประเภท )
- เป็นเทอม (เรียกอีกอย่างว่าpropซึ่งเป็นประเภทของประพจน์ทั้งหมด)
- ตัวแปร ( ) คือเทอม;
- ถ้าและเป็นพจน์แล้ว ก็เป็นพจน์เช่นกัน
- ถ้าและเป็นพจน์ และเป็นตัวแปร แล้วพจน์ต่อไปนี้ก็เป็นพจน์เช่นกัน:
- ,
- .
กล่าวอีกนัยหนึ่ง คำว่าไวยากรณ์ในรูปแบบ Backus–Naurคือ:
แคลคูลัสของการสร้างมีวัตถุอยู่ห้าประเภท:
- การพิสูจน์ซึ่งเป็นคำศัพท์ที่มีประเภทเป็นประพจน์
- ข้อเสนอซึ่งเรียกอีกอย่างว่าประเภทขนาดเล็ก
- เพรดิเคทซึ่งเป็นฟังก์ชันที่ส่งคืนประพจน์
- ประเภทขนาดใหญ่ซึ่งเป็นประเภทของ述語 ( เป็นตัวอย่างของประเภทขนาดใหญ่)
- ตัวมันเอง ซึ่งเป็นประเภทของตัวอักษรขนาดใหญ่
ความสมมูลเบต้า
เช่นเดียวกับแคลคูลัสแลมบ์ดาที่ไม่มีประเภท แคลคูลัสของการสร้างใช้แนวคิดพื้นฐานของความเท่าเทียมกันของเทอม ซึ่งเรียกว่า-equivalence ซึ่งสะท้อนความหมายของ-abstraction ได้อย่างชัดเจน:
-ความสมมูลคือความสัมพันธ์แบบสอดคล้องกันสำหรับแคลคูลัสของการสร้าง ในความหมายที่ว่า
- ถ้าและแล้ว
คำพิพากษา
แคลคูลัสของการสร้างช่วยให้สามารถพิสูจน์การตัดสินประเภทได้ :
- ,
ซึ่งสามารถตีความได้ว่าเป็นนัยยะ
- ถ้าตัวแปรมีประเภทตามลำดับแล้ว เทอมจะมีประเภทเป็น
การตัดสินที่ถูกต้องสำหรับแคลคูลัสของการสร้างนั้นสามารถอนุมานได้จากชุดของกฎการอนุมานในส่วนต่อไปนี้ เราจะใช้เพื่อหมายถึงลำดับของการกำหนดประเภท เพื่อหมายถึงเทอม และเพื่อหมายถึงหรือเราจะเขียนเพื่อหมายถึงผลลัพธ์ของการแทนที่เทอมด้วยตัวแปรอิสระใน เทอม
กฎการอนุมานเขียนในรูปแบบ
- ,
ซึ่งหมายความว่า
- ถ้าเป็นการตัดสินที่ถูกต้อง ดังนั้น ก็เป็นการตัดสินที่ถูกต้องเช่นกัน
กฎการอนุมานสำหรับแคลคูลัสของการสร้าง
1 .
2 .
3 .
4 .
5 .
6 .
การกำหนดตัวดำเนินการตรรกะ
แคลคูลัสของการสร้างมีตัวดำเนินการพื้นฐานเพียงไม่กี่ตัว: ตัวดำเนินการเชิงตรรกะเพียงตัวเดียวสำหรับการสร้างประพจน์คืออย่างไรก็ตาม ตัวดำเนินการเพียงตัวเดียวนี้ก็เพียงพอที่จะกำหนดตัวดำเนินการเชิงตรรกะอื่นๆ ทั้งหมดได้:
การกำหนดประเภทข้อมูล
ประเภทข้อมูลพื้นฐานที่ใช้ในวิทยาการคอมพิวเตอร์สามารถกำหนดได้ภายในแคลคูลัสของการสร้าง:
- บูลีน
- เนเชอรัลส์
- ผลิตภัณฑ์
- สหภาพที่ไม่เกี่ยวข้องกัน
บูลีนและเนเชอรัลได้รับการกำหนดในลักษณะเดียวกับการเข้ารหัสของคริสตจักรอย่างไรก็ตาม ปัญหาเพิ่มเติมเกิดขึ้นจากความขยายของประพจน์และความไม่เกี่ยวข้องของการพิสูจน์[ 2 ]
ดูเพิ่มเติม
แหล่งที่มา
- Coquand, Thierry ; Huet, Gérard (1988). "แคลคูลัสของการสร้าง" (PDF) . ข้อมูลและการคำนวณ . 76 ( 2– 3): 95– 120. doi : 10.1016/0890-5401(88)90005-3 .
- ยังเข้าถึงได้ฟรีทางออนไลน์: Coquand, Thierry ; ฮูเอต์, เจอราร์ด (1986) การคำนวณการก่อสร้าง (รายงานทางเทคนิค) INRIA , เซ็นเตอร์ เดอ ร็อคเก็นคอร์ต. 530.คำ ศัพท์ค่อนข้างแตกต่างกัน ตัวอย่างเช่น ( ) เขียนเป็น [ x : A ] B
- Bunder, MW; Seldin, Jonathan P. (2004). Variants of the Basic Calculus of Constructions (Report). CiteSeerX 10.1.1.88.9497 .
- Frade, Maria João (2009). "Calculus of Inductive Constructions" (PDF) . เก็บถาวรจากต้นฉบับ(การบรรยาย)เมื่อ 2014-05-29 . สืบค้นเมื่อ2013-03-03 .
- Huet, Gérard (1988). "หลักการอุปนัยที่เป็นทางการในแคลคูลัสของการสร้าง" (PDF)ใน Fuchi, K.; Nivat, M. (บรรณาธิการ). การเขียนโปรแกรมคอมพิวเตอร์รุ่นอนาคต . North-Holland . หน้า 205–216 . ISBN 0444704108เก็บถาวรจากไฟล์ต้นฉบับ(PDF)เมื่อวันที่ 1 กรกฎาคม 2558– การประยุกต์ใช้ CoC
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ แคลคูลัสของการสร้าง
ในตรรกศาสตร์ทางคณิตศาสตร์และวิทยาศาสตร์คอมพิวเตอร์แคลคูลัสของการสร้าง ( CoC ) เป็นทฤษฎีประเภทที่สร้างขึ้นโดยเธียร์รี โคควอนด์มันสามารถใช้ได้ทั้งเป็นภาษาโปรแกรมที่มีประเภท และเป็น..
ลักษณะทั่วไป
CoC (CoC) เป็น แคลคูลัสแลมบ์ดาแบบมีชนิดข้อมูล ระดับสูงซึ่งพัฒนาขึ้นครั้งแรกโดย เธียร์รี โคควอนด์ (Thierry Coquand ) เป็นที่รู้จักกันดีในฐานะที่เป็นส่วนสำคัญที่สุดของ ลูกบาศก์แลมบ์ดา ของบาเรนเดรกต์ (Barendregt's lambda cube ) ภายใน CoC...
การใช้งาน
CoC ได้รับการพัฒนาควบคู่ไปกับ โปรแกรมช่วยพิสูจน์ Rocq เมื่อมีการเพิ่มคุณสมบัติ (หรือลบข้อจำกัดที่อาจเกิดขึ้น) เข้าไปในทฤษฎี คุณสมบัติเหล่านั้นก็จะพร้อมใช้งานใน Rocq
หลักการพื้นฐานของแคลคูลัสของการสร้าง
แคลคูลัสของการสร้างสามารถพิจารณาได้ว่าเป็นส่วนขยายของ ไอโซมอร์ฟิซึมของเคอร์รี-ฮาวาร์ด ไอโซมอร์ฟิซึมของเคอร์รี-ฮาวาร์ดเชื่อมโยงเทอมใน แคลคูลัสแลมบ์ดาแบบง่าย กับ บทพิสูจน์ การอนุมานตามธรรมชาติ แต่ละบท ใน ตรรกศาสตร์เชิงประพจน์แบบสัญชาตญาณ แคลคูลัส...