มีระบบที่หลากหลายสำหรับ Interactive Theorem Proving (ITP) - ดูการประชุมของชื่อนั้นเช่น Coq, Isabelle, HOLs, ACL2, PVS เป็นต้น
พวกเขาทั้งหมดนั้นค่อนข้างท้าทายในการเรียนรู้และแต่ละคนก็มีวัฒนธรรมเฉพาะของตนเอง มันเหมือนกับการเรียนรู้ภาษาต่างประเทศ: สมมติว่าคุณรู้ภาษาอังกฤษอยู่แล้วจากนั้นมีตัวเลือกภาษาฝรั่งเศสเยอรมันอิตาลีสเปนโปรตุเกส พวกเขาทั้งหมดมีความสัมพันธ์กัน - นี่ไม่ใช่จีน - แต่มีคนเพียงไม่กี่คนที่จัดการเรื่องทั้งหมดพร้อมกัน ดังนั้นคุณควรลองชิมวัฒนธรรมและชุมชนแต่ละแห่งแล้วจึงมุ่งมั่น
อาจมี "คุณสมบัตินักฆ่า" ที่คุณต้องการสำหรับงานของคุณ
นอกจากนี้ยังช่วยให้มีเพื่อนผู้เชี่ยวชาญในระบบใดระบบหนึ่งเหล่านี้
- Coq และ Isabelle แตกต่างกันอย่างไร
ทั้งคู่เป็นลูกหลานของระบบ LCF จาก Stanford / Edinburgh / Cambridge ในปี 1985 G. Huet และ L. Paulson ทำงานร่วมกันใน Cambridge LCF เวอร์ชันสุดท้าย จากนั้นความแตกแยกก็เกิดขึ้นกับ Coc / CIC / COQ (ปัจจุบันคือ Coq) ในฝรั่งเศสและ Isabelle ใน Cambridge และมิวนิค โปรดทราบว่า HOL4, HOL-Light, HOL-XYZ เป็นลูกหลานอื่น ๆ ที่เกี่ยวข้องของ LCF
กว่า 20 ปีที่ผ่านมาความแตกต่างของ Coq กับ Isabelle น่าจะเกิดขึ้นตามรากฐานทางตรรกะ: ตรรกะที่พิมพ์ขึ้นอยู่กับที่นี่และตรรกะคลาสสิกที่เรียบง่ายที่นั่น วันนี้มีผลกระทบเล็กน้อยในทางปฏิบัติที่น่าประหลาดใจเนื่องจากมีการเพิ่มเลเยอร์จำนวนมากขึ้นบนระบบที่เป็นทางการของแต่ละระบบรวมถึงเครื่องมือเสริมและห้องสมุด
- ฉันควรเรียนรู้ทั้ง Isabelle หรือ Coq หรือทั้งสองอย่าง?
คุณควรดูทั้งคู่และลองรับความรู้สึกถ้าคุณชอบไวน์และชีสมากกว่านี้หรือ Bratwurst และ Sauerkraut (ในฐานะหนึ่งในคนที่อยู่เบื้องหลังอิสซาเบล แต่ปัจจุบันที่ฝรั่งเศสฉันประหลาดใจว่ามีชาวฝรั่งเศสจำนวนมากที่ชอบ Sauerkraut เมื่อพวกเขาอยู่ที่บ้านโดยส่วนตัวและไม่มีใครดู :-)
- มีข้อได้เปรียบในการเรียนรู้ Isabelle หรือ Coq ก่อนหรือไม่?
ฉันไม่คิดอย่างนั้น อาจมีอันตรายที่คุณติดอยู่กับสิ่งที่คุณลองก่อนและไม่ลองครั้งที่สองหรือคุณรู้สึกผิดหวังเร็วเกินไปกับคนที่หนึ่งแล้วเลิกเร็วเกินไป ไม่ว่าในกรณีใดคุณจะต้องใช้เวลาและความพยายามในการสร้างผลงานด้วยระบบใดระบบหนึ่ง
เนื่องจาก Proof General ในชื่อ "IDE" ถูกกล่าวถึงแล้ว: Proof General / Emacs เคยเป็นอินเตอร์เฟสรวมสำหรับ Coq และ Isabelle มาหลายปี แต่ฉันคงไม่เคยเรียกมันว่า IDE นอกจากนี้ยังมี CoqIDE พร้อมกับ "IDE" ในชื่อของมัน แต่เป็นตัวแก้ไขพื้นฐานที่ค่อนข้างด้านบนของวิดเจ็ต Gtk ปัจจุบัน Isabelle รวมถึง Isabelle / jEdit ซึ่งไม่มี "IDE" ในชื่อของมัน แต่มีไว้เพื่อประมาณสิ่งที่คุณเห็นเป็นประจำใน Netbeans หรือ IntelliJ IDEA --- สำหรับข้อความหลักฐานแทนรหัส Java