อ่าน 8 นาที
การพิสูจน์ทฤษฎีบทอัตโนมัติ
การพิสูจน์ทฤษฎีบทอัตโนมัติ (หรือที่รู้จักกันในชื่อATPหรือการอนุมานอัตโนมัติ ) เป็นสาขาย่อยของการให้เหตุผลอัตโนมัติและตรรกศาสตร์ทางคณิตศาสตร์ที่เกี่ยวข้องกับการพิสูจน์ทฤษฎีบททางคณิต...
การพิสูจน์ทฤษฎีบทอัตโนมัติ
การพิสูจน์ทฤษฎีบทอัตโนมัติ (หรือที่รู้จักกันในชื่อATPหรือการอนุมานอัตโนมัติ ) เป็นสาขาย่อยของการให้เหตุผลอัตโนมัติและตรรกศาสตร์ทางคณิตศาสตร์ที่เกี่ยวข้องกับการพิสูจน์ทฤษฎีบททางคณิตศาสตร์โดยโปรแกรมคอมพิวเตอร์การให้เหตุผลอัตโนมัติเกี่ยวกับการพิสูจน์ทางคณิตศาสตร์เป็นปัจจัยสำคัญที่กระตุ้นให้เกิดการพัฒนาวิทยาการคอมพิวเตอร์
รากฐานเชิงตรรกะ
แม้ว่ารากฐานของตรรกศาสตร์ เชิงรูปธรรม จะย้อนกลับไปถึงอริสโตเติลแต่ช่วงปลายศตวรรษที่ 19 และต้นศตวรรษที่ 20 ได้เห็นการพัฒนาของตรรกศาสตร์สมัยใหม่และคณิตศาสตร์เชิงรูปธรรมBegriffsschriftของFrege (1879) ได้นำเสนอทั้งแคลคูลัสเชิงประพจน์ ที่สมบูรณ์ และสิ่งที่เป็นพื้นฐานของตรรกศาสตร์เชิงภาคแสดงสมัยใหม่[ 1 ] Foundations of Arithmeticของเขาซึ่งตีพิมพ์ในปี 1884 [ 2 ]ได้แสดง (บางส่วนของ) คณิตศาสตร์ในตรรกศาสตร์เชิงรูปธรรม แนวทางนี้ได้รับการสานต่อโดยRussellและWhiteheadในPrincipia Mathematica ที่ทรงอิทธิพลของพวกเขา ซึ่งตีพิมพ์ครั้งแรกในปี 1910–1913 [ 3 ]และมีฉบับแก้ไขครั้งที่สองในปี 1927 [ 4 ] Russell และ Whitehead คิดว่าพวกเขาสามารถอนุมานความจริงทางคณิตศาสตร์ทั้งหมดได้โดยใช้สัจพจน์และกฎการอนุมานของตรรกศาสตร์เชิงรูปธรรม ซึ่งในทางทฤษฎีแล้วเป็นการเปิดกระบวนการนี้ไปสู่ระบบอัตโนมัติ[ 5 ]ในปี พ.ศ. 2463 Thoralf Skolemได้ทำให้ผลลัพธ์ก่อนหน้านี้ของLeopold Löwenheim ง่ายขึ้น ซึ่งนำไปสู่ทฤษฎีบท Löwenheim–Skolemและในปี พ.ศ. 2473 นำไปสู่แนวคิดของจักรวาล Herbrandและการตีความ Herbrandที่อนุญาตให้(ความ) พอใจของสูตรลำดับที่หนึ่ง (และด้วยเหตุนี้ความถูกต้องของทฤษฎีบท) ลดลงเหลือปัญหาความพึงพอใจเชิงประพจน์ (ซึ่งอาจมีจำนวนอนันต์) [ 6 ]
ในปี พ.ศ. 2462 Mojżesz Presburgerได้แสดงให้เห็นว่าทฤษฎีลำดับที่หนึ่งของจำนวนธรรมชาติที่มีการบวกและความเท่าเทียมกัน (ปัจจุบันเรียกว่าเลขคณิต Presburgerเพื่อเป็นเกียรติแก่เขา) สามารถตัดสินได้และได้เสนออัลกอริทึมที่สามารถระบุได้ว่าประโยค ที่กำหนด ในภาษา นั้น เป็นจริงหรือเท็จ[ 7 ] [ 8 ]
อย่างไรก็ตาม ไม่นานหลังจากผลลัพธ์เชิงบวกนี้เคิร์ท เกอเดล ได้ตีพิมพ์On Formally Undecidable Propositions of Principia Mathematica and Related Systems (1931) ซึ่งแสดงให้เห็นว่าในระบบสัจพจน์ที่แข็งแกร่งเพียงพอ จะมีข้อความที่เป็นจริงที่ไม่สามารถพิสูจน์ได้ในระบบ[ 9 ]หัวข้อนี้ได้รับการพัฒนาเพิ่มเติมในช่วงทศวรรษ 1930 โดยอลอนโซ เชิร์ชและอลัน ทัวริง ซึ่งในด้านหนึ่งได้ให้คำจำกัดความของ ความสามารถในการคำนวณที่เป็นอิสระแต่เทียบเท่ากันสองแบบและในอีกด้านหนึ่งได้ให้ตัวอย่างที่เป็นรูปธรรมของคำถามที่ไม่สามารถตัดสินได้[ 10 ]
การนำไปใช้งานครั้งแรก
ในปี พ.ศ. 2497 มาร์ติน เดวิสได้เขียนโปรแกรมอัลกอริทึมของเพรสเบอร์เกอร์สำหรับคอมพิวเตอร์หลอดสุญญากาศJOHNNIAC ที่สถาบันเพื่อการศึกษาขั้นสูงในพรินซ์ตัน รัฐนิวเจอร์ซีย์ ตามที่เดวิสกล่าวไว้ว่า "ความสำเร็จอันยิ่งใหญ่ของมันคือการพิสูจน์ว่าผลรวมของจำนวนคู่สองจำนวนเป็นจำนวนคู่" [ 8 ] [ 11 ] ระบบ Logic Theoristในปี พ.ศ. 2499 ซึ่งเป็นระบบการอนุมานสำหรับตรรกะเชิงประพจน์ของPrincipia Mathematicaที่พัฒนาโดยอัลเลน นิวเวลล์ เฮอร์เบิร์ต เอ. ไซมอนและเจซี ชอว์ มี ความทะเยอทะยาน มากกว่า ระบบ Logic Theorist ทำงานบน JOHNNIAC เช่นกัน โดยสร้างบทพิสูจน์จากชุดของสัจพจน์เชิงประพจน์ขนาดเล็กและกฎการอนุมานสามข้อ ได้แก่modus ponens การแทนที่ตัวแปร (เชิงประพจน์) และการแทนที่สูตรด้วยคำจำกัดความ ระบบนี้ใช้ คำแนะนำ แบบฮิวริสติกและสามารถพิสูจน์ทฤษฎีบท 38 ข้อแรกจาก 52 ข้อของPrincipia ได้[ 8 ]
แนวทาง "ฮิวริสติก" ของนักทฤษฎีตรรกศาสตร์พยายามเลียนแบบนักคณิตศาสตร์ของมนุษย์ และไม่สามารถรับประกันได้ว่าจะสามารถหาหลักฐานพิสูจน์สำหรับทฤษฎีบทที่ถูกต้องทุกข้อได้แม้ในทางทฤษฎี ในทางตรงกันข้าม อัลกอริทึมอื่นๆ ที่เป็นระบบมากกว่า บรรลุความสมบูรณ์สำหรับตรรกศาสตร์ลำดับที่หนึ่งอย่างน้อยในทางทฤษฎี แนวทางเริ่มต้นอาศัยผลลัพธ์ของHerbrandและSkolemในการแปลงสูตรลำดับที่หนึ่งเป็นชุดสูตรประพจน์ ที่ใหญ่ขึ้นเรื่อยๆ โดยการแทนค่าตัวแปรด้วยเทอมจากจักรวาลของ Herbrandจากนั้นสามารถตรวจสอบความไม่สามารถเป็นจริงของสูตรประพจน์ได้โดยใช้วิธีการต่างๆ โปรแกรมของ Gilmore ใช้การแปลงเป็นรูปแบบปกติแบบแยกส่วนซึ่งเป็นรูปแบบที่ความสามารถในการเป็นจริงของสูตรนั้นชัดเจน[ 8 ] [ 12 ]
ความสามารถในการตัดสินใจของปัญหา
ขึ้นอยู่กับตรรกะพื้นฐาน ปัญหาในการตัดสินความถูกต้องของสูตรจะแตกต่างกันไปตั้งแต่เรื่องเล็กน้อยไปจนถึงเป็นไปไม่ได้ สำหรับกรณีทั่วไปของตรรกะเชิงประพจน์ปัญหาสามารถตัดสินได้แต่เป็นปัญหาco-NP-completeดังนั้นจึงเชื่อกันว่ามีเพียงอัลกอริทึมเวลาเลขชี้กำลัง เท่านั้นที่มีอยู่สำหรับงานพิสูจน์ทั่วไป [ 13 ]สำหรับแคลคูลัสเชิงประพจน์ลำดับที่หนึ่ง ทฤษฎีบทความสมบูรณ์ของ Gödelระบุว่าทฤษฎีบท (ข้อความที่พิสูจน์ได้) เป็นสูตรที่ถูกต้อง ตามความหมายอย่างแท้จริง ดังนั้นสูตรที่ถูกต้องจึงสามารถแจงนับได้ด้วยการคำนวณ กล่าวคือ หากมีทรัพยากรไม่จำกัด สูตรที่ถูกต้องใดๆ ก็สามารถพิสูจน์ได้ในที่สุด อย่างไรก็ตาม สูตร ที่ไม่ถูกต้อง (สูตรที่ไม่เป็นไปตามทฤษฎีที่กำหนด) ไม่สามารถรับรู้ได้เสมอไป[ 14 ]
ข้างต้นใช้ได้กับทฤษฎีลำดับที่หนึ่ง เช่นพีชคณิตของ Peanoอย่างไรก็ตาม สำหรับแบบจำลองเฉพาะที่อาจอธิบายได้ด้วยทฤษฎีลำดับที่หนึ่ง บางข้อความอาจเป็นจริงแต่ไม่สามารถตัดสินได้ในทฤษฎีที่ใช้อธิบายแบบจำลองนั้น ตัวอย่างเช่น จากทฤษฎีบทความไม่สมบูรณ์ของ Gödelเราทราบว่าทฤษฎีที่สอดคล้องกันใดๆ ที่มีสัจพจน์ที่เป็นจริงสำหรับจำนวนธรรมชาติไม่สามารถพิสูจน์ข้อความลำดับที่หนึ่งทั้งหมดที่เป็นจริงสำหรับจำนวนธรรมชาติได้ แม้ว่ารายการสัจพจน์จะสามารถแจงนับได้เป็นอนันต์ก็ตาม[ 15 ]เป็นผลให้โปรแกรมพิสูจน์ทฤษฎีบทอัตโนมัติจะไม่สามารถยุติการทำงานได้ในขณะที่กำลังค้นหาการพิสูจน์เมื่อข้อความที่กำลังตรวจสอบไม่สามารถตัดสินได้ในทฤษฎีที่ใช้ แม้ว่าจะเป็นจริงในแบบจำลองที่สนใจก็ตาม แม้จะมีข้อจำกัดทางทฤษฎีนี้ ในทางปฏิบัติ โปรแกรมพิสูจน์ทฤษฎีบทสามารถแก้ปัญหาที่ยากได้มากมาย แม้ในแบบจำลองที่ไม่ได้อธิบายอย่างสมบูรณ์โดยทฤษฎีลำดับที่หนึ่งใดๆ (เช่นจำนวนเต็ม )
ปัญหาที่เกี่ยวข้อง
ปัญหาที่ง่ายกว่าแต่เกี่ยวข้องกันคือการตรวจสอบความถูกต้องของบทพิสูจน์ซึ่งเป็นการรับรองว่าบทพิสูจน์ที่มีอยู่สำหรับทฤษฎีบทนั้นถูกต้อง โดยทั่วไปแล้ว การตรวจสอบความถูกต้องของบทพิสูจน์แต่ละขั้นตอนจะต้องสามารถทำได้โดยใช้ฟังก์ชันหรือโปรแกรมแบบเรียกซ้ำพื้นฐานดังนั้น ปัญหานี้จึงสามารถตัดสินได้เสมอ
เนื่องจากบทพิสูจน์ที่สร้างขึ้นโดยโปรแกรมพิสูจน์ทฤษฎีบทอัตโนมัติมักมีขนาดใหญ่มาก ปัญหาการบีบอัดบทพิสูจน์จึงมีความสำคัญอย่างยิ่ง และได้มีการพัฒนาเทคนิคต่างๆ ที่มุ่งทำให้ผลลัพธ์ของโปรแกรมพิสูจน์มีขนาดเล็ลง เพื่อให้เข้าใจและตรวจสอบได้ง่ายขึ้น
ผู้ช่วยพิสูจน์ต้องใช้ผู้ใช้ที่เป็นมนุษย์ในการให้คำแนะนำแก่ระบบ ขึ้นอยู่กับระดับของระบบอัตโนมัติ ผู้พิสูจน์สามารถลดทอนลงเหลือเพียงผู้ตรวจสอบการพิสูจน์ โดยผู้ใช้ให้การพิสูจน์ในรูปแบบที่เป็นทางการ หรือสามารถดำเนินการพิสูจน์ที่สำคัญได้โดยอัตโนมัติ ผู้พิสูจน์แบบโต้ตอบใช้สำหรับงานที่หลากหลาย แต่แม้แต่ระบบอัตโนมัติเต็มรูปแบบก็ยังพิสูจน์ทฤษฎีบทที่น่าสนใจและยากจำนวนหนึ่ง รวมถึงอย่างน้อยหนึ่งทฤษฎีบทที่นักคณิตศาสตร์ไม่สามารถพิสูจน์ได้มาเป็นเวลานาน นั่นคือ ทฤษฎีบทคาดการณ์ของร็อบบินส์[ 16 ] [ 17 ]อย่างไรก็ตาม ความสำเร็จเหล่านี้เกิดขึ้นเป็นครั้งคราว และการทำงานกับปัญหาที่ยากมักต้องใช้ผู้ใช้ที่มีความเชี่ยวชาญ
บางครั้งมีการแบ่งแยกความแตกต่างระหว่างการพิสูจน์ทฤษฎีบทกับเทคนิคอื่นๆ โดยกระบวนการจะถือว่าเป็นการพิสูจน์ทฤษฎีบทหากประกอบด้วยการพิสูจน์แบบดั้งเดิม เริ่มต้นด้วยสัจพจน์และสร้างขั้นตอนการอนุมานใหม่โดยใช้กฎการอนุมาน เทคนิคอื่นๆ จะรวมถึงการตรวจสอบแบบจำลองซึ่งในกรณีที่ง่ายที่สุดเกี่ยวข้องกับการแจงนับสถานะที่เป็นไปได้จำนวนมากโดยใช้กำลังทั้งหมด (แม้ว่าการใช้งานจริงของตัวตรวจสอบแบบจำลองจะต้องใช้ความชาญฉลาดมาก และไม่ได้ลดทอนลงเหลือเพียงการใช้กำลังทั้งหมด)
มีระบบพิสูจน์ทฤษฎีแบบผสมผสานที่ใช้การตรวจสอบแบบจำลองเป็นกฎการอนุมาน นอกจากนี้ยังมีโปรแกรมที่เขียนขึ้นเพื่อพิสูจน์ทฤษฎีเฉพาะ โดยมีการพิสูจน์ (โดยปกติจะเป็นแบบไม่เป็นทางการ) ว่าหากโปรแกรมทำงานเสร็จสิ้นด้วยผลลัพธ์ที่แน่นอน ทฤษฎีนั้นก็จะเป็นจริง ตัวอย่างที่ดีคือการพิสูจน์ทฤษฎีสี่สี โดยใช้เครื่องช่วย ซึ่งเป็นเรื่องที่ถกเถียงกันมากเนื่องจากเป็นการพิสูจน์ทางคณิตศาสตร์ครั้งแรกที่อ้างว่าเป็นไปไม่ได้ที่จะตรวจสอบโดยมนุษย์เนื่องจากขนาดของการคำนวณของโปรแกรมมีขนาดใหญ่มาก (การพิสูจน์ดังกล่าวเรียกว่าการพิสูจน์ที่ไม่สามารถตรวจสอบได้ ) อีกตัวอย่างหนึ่งของการพิสูจน์โดยใช้โปรแกรมช่วยคือการพิสูจน์ว่าเกมConnect Fourสามารถชนะได้เสมอโดยผู้เล่นคนแรก
แอปพลิเคชัน
การใช้งานเชิงพาณิชย์ของการพิสูจน์ทฤษฎีบทอัตโนมัติส่วนใหญ่จะมุ่งเน้นไปที่ การออกแบบ และการตรวจสอบวงจรรวม นับตั้งแต่ เกิดข้อบกพร่องของ Pentium FDIV หน่วยประมวลผลจุดลอยตัวที่ซับซ้อนของไมโครโปรเซสเซอร์สมัยใหม่ได้รับการออกแบบด้วยการตรวจสอบอย่างเข้มงวดเป็นพิเศษAMD , Intelและบริษัทอื่นๆ ใช้การพิสูจน์ทฤษฎีบทอัตโนมัติเพื่อตรวจสอบว่าการหารและการดำเนินการอื่นๆ ได้รับการใช้งานอย่างถูกต้องในโปรเซสเซอร์ของพวกเขา[ 18 ]
การใช้งานอื่นๆ ของตัวพิสูจน์ทฤษฎีบท ได้แก่การสังเคราะห์โปรแกรมการสร้างโปรแกรมที่ตรงตามข้อกำหนดอย่างเป็นทางการ [ 19 ] ตัวพิสูจน์ทฤษฎีบทอัตโนมัติได้รับการบูรณาการเข้ากับผู้ช่วยพิสูจน์รวมถึงIsabelle/ HOL [ 20 ]
การประยุกต์ใช้ตัวพิสูจน์ทฤษฎีบทยังพบได้ในการประมวลผลภาษาธรรมชาติและความหมายเชิงรูปธรรมซึ่งใช้ในการวิเคราะห์การแสดงแทนวาทกรรม[ 21 ] [ 22 ]
การพิสูจน์ทฤษฎีบทอันดับแรก
ในช่วงปลายทศวรรษ 1960 หน่วยงานที่ให้ทุนสนับสนุนการวิจัยด้านการอนุมานอัตโนมัติเริ่มเน้นย้ำถึงความจำเป็นในการประยุกต์ใช้ในทางปฏิบัติ หนึ่งในสาขาที่ประสบความสำเร็จเป็นครั้งแรกคือการตรวจสอบโปรแกรมโดยที่ตัวพิสูจน์ทฤษฎีบทลำดับแรกถูกนำไปใช้กับปัญหาการตรวจสอบความถูกต้องของโปรแกรมคอมพิวเตอร์ในภาษาต่างๆ เช่นPascal , Adaเป็นต้น ระบบตรวจสอบโปรแกรมในยุคแรกๆ ที่โดดเด่นคือ Stanford Pascal Verifier ที่พัฒนาโดยDavid Luckhamที่มหาวิทยาลัยสแตนฟอร์ด [ 23 ] [ 24 ] [ 25 ] ระบบนี้มีพื้นฐานมาจาก Stanford Resolution Prover ซึ่งพัฒนาขึ้นที่สแตนฟอร์ดเช่นกัน โดยใช้ หลักการ แก้ของJohn Alan Robinsonนี่เป็นระบบอนุมานอัตโนมัติระบบแรกที่แสดงให้เห็นถึงความสามารถในการแก้ปัญหาทางคณิตศาสตร์ที่ประกาศในNotices of the American Mathematical Societyก่อนที่จะมีการเผยแพร่คำตอบอย่างเป็นทางการ
การพิสูจน์ทฤษฎีบท ลำดับแรกเป็นหนึ่งในสาขาย่อยที่พัฒนามากที่สุดของการพิสูจน์ทฤษฎีบทอัตโนมัติ ตรรกะมีความสามารถในการแสดงออกเพียงพอที่จะอนุญาตให้ระบุปัญหาใดๆ ก็ได้ ซึ่งมักจะเป็นไปในลักษณะที่เป็นธรรมชาติและเข้าใจง่าย ในทางกลับกัน มันยังคงสามารถตัดสินได้บางส่วน และมีการพัฒนาแคลคูลัสที่สมบูรณ์และมีเหตุผลจำนวนมาก ทำให้ระบบอัตโนมัติ ทำงานได้ อย่างเต็มที่[ 26 ]ตรรกะที่มีความสามารถในการแสดงออกมากกว่า เช่นตรรกะลำดับสูงช่วยให้สามารถแสดงปัญหาได้หลากหลายกว่าตรรกะลำดับแรก แต่การพิสูจน์ทฤษฎีบทสำหรับตรรกะเหล่านี้ยังไม่ได้รับการพัฒนาเท่าที่ควร[ 27 ] [ 28 ]
ความสัมพันธ์กับ SMT
มีการทับซ้อนกันอย่างมากระหว่างโปรแกรมพิสูจน์ทฤษฎีบทอัตโนมัติลำดับที่หนึ่งและโปรแกรมแก้ปัญหา SMTโดยทั่วไป โปรแกรมพิสูจน์ทฤษฎีบทอัตโนมัติจะเน้นที่การสนับสนุนตรรกะลำดับที่หนึ่งแบบเต็มรูปแบบที่มีตัวบ่งปริมาณ ในขณะที่โปรแกรมแก้ปัญหา SMT จะเน้นที่การสนับสนุนทฤษฎีต่างๆ (สัญลักษณ์ภาคแสดงที่ตีความ) มากกว่า โปรแกรมพิสูจน์ทฤษฎีบทอัตโนมัติจะเก่งในปัญหาที่มีตัวบ่งปริมาณจำนวนมาก ในขณะที่โปรแกรมแก้ปัญหา SMT จะทำได้ดีในปัญหาขนาดใหญ่ที่ไม่มีตัวบ่งปริมาณ[ 29 ] เส้นแบ่งนั้นค่อนข้างคลุมเครือจนโปรแกรมพิสูจน์ทฤษฎีบทอัตโนมัติบางตัวเข้าร่วมใน SMT-COMP ในขณะที่ โปรแกรมแก้ปัญหา SMT บางตัวเข้าร่วมในCASC [ 30 ]
เกณฑ์มาตรฐาน การแข่งขัน และแหล่งข้อมูล
คุณภาพของระบบที่นำไปใช้ได้รับประโยชน์จากการมีอยู่ของคลัง ตัวอย่าง มาตรฐาน ขนาดใหญ่ — คลังปัญหาThousands of Problems for Theorem Provers (TPTP) [ 31 ] —รวมถึงจากการแข่งขันระบบ CADE ATP (CASC) ซึ่งเป็นการแข่งขันระบบลำดับแรกประจำปีสำหรับปัญหาลำดับแรกที่สำคัญหลายประเภท
ระบบสำคัญบางระบบ (ซึ่งทั้งหมดเคยได้รับรางวัลชนะเลิศอย่างน้อยหนึ่งประเภทในการแข่งขัน CASC) มีรายชื่ออยู่ด้านล่างนี้
- Eเป็นโปรแกรมพิสูจน์ประสิทธิภาพสูงสำหรับตรรกะลำดับที่หนึ่งแบบสมบูรณ์ แต่สร้างขึ้นบนแคลคูลัสเชิงสมการล้วนๆซึ่งพัฒนาขึ้นครั้งแรกในกลุ่มการให้เหตุผลอัตโนมัติของมหาวิทยาลัยเทคนิคแห่งมิวนิกภายใต้การกำกับดูแลของWolfgang Bibelและปัจจุบันอยู่ที่มหาวิทยาลัยสหกรณ์แห่งรัฐบาเดิน-เวือร์ทเทมแบร์กในสตุทการ์ท
- Otterซึ่งพัฒนาขึ้นที่ห้องปฏิบัติการแห่งชาติอาร์กอนน์มีพื้นฐานมาจากความละเอียดลำดับที่หนึ่งและการปรับพารามิเตอร์ ต่อมา Otter ได้ถูกแทนที่ด้วยProver9ซึ่งทำงานร่วมกับMace4
- SETHEOเป็นระบบประสิทธิภาพสูงที่ใช้ แคลคูลัส การกำจัดแบบจำลอง ที่มุ่งเน้นเป้าหมาย ซึ่งพัฒนาขึ้นครั้งแรกโดยทีมงานภายใต้การกำกับดูแลของWolfgang Bibel E และ SETHEO ได้ถูกนำมารวมกัน (กับระบบอื่นๆ) ในตัวพิสูจน์ทฤษฎีบทแบบผสม E-SETHEO
- Vampireได้รับการพัฒนาและใช้งานครั้งแรกที่มหาวิทยาลัยแมนเชสเตอร์โดยAndrei Voronkovและ Kryštof Hoder ปัจจุบันได้รับการพัฒนาโดยทีมงานนานาชาติที่กำลังเติบโต และได้รับรางวัลชนะเลิศในประเภท FOF (และประเภทอื่นๆ) ในการแข่งขัน CADE ATP System Competition อย่างสม่ำเสมอตั้งแต่ปี 2001 [ 32 ]
- Waldmeister เป็นระบบเฉพาะทางสำหรับตรรกะลำดับที่หนึ่งแบบสมการหน่วย ซึ่งพัฒนาโดย Arnim Buch และ Thomas Hillenbrand โดยได้รับรางวัลชนะเลิศในสาขา CASC UEQ ติดต่อกันถึงสิบสี่ปี (1997–2010)
- SPASSเป็นโปรแกรมพิสูจน์ทฤษฎีบทเชิงตรรกะลำดับที่หนึ่งที่มีคุณสมบัติความเท่าเทียมกัน โปรแกรมนี้ได้รับการพัฒนาโดยกลุ่มวิจัย Automation of Logic สถาบันวิทยาศาสตร์คอมพิวเตอร์แม็กซ์พลังค์
พิพิธภัณฑ์ Theorem Prover [ 33 ]เป็นโครงการริเริ่มเพื่ออนุรักษ์แหล่งที่มาของระบบพิสูจน์ทฤษฎีบทสำหรับการวิเคราะห์ในอนาคต เนื่องจากเป็นสิ่งประดิษฐ์ทางวัฒนธรรม/วิทยาศาสตร์ที่สำคัญ พิพิธภัณฑ์แห่งนี้มีแหล่งที่มาของระบบต่างๆ มากมายที่กล่าวถึงข้างต้น
เทคนิคยอดนิยม
- การแก้ปัญหาอันดับแรกด้วยการรวม
- การกำจัดแบบจำลอง
- วิธีการของตารางวิเคราะห์
- การซ้อนทับและการเขียน เทอมใหม่
- การตรวจสอบแบบจำลอง
- การเหนี่ยวนำทางคณิตศาสตร์[ 34 ]
- แผนภาพการตัดสินใจแบบไบนารี
- DPLL
- การรวมกันในลำดับที่สูงขึ้น
- การกำจัดตัวบ่งปริมาณ[ 35 ]
- แบบจำลองภาษาขนาดใหญ่[ 36 ]
ระบบซอฟต์แวร์
| ชื่อ | ประเภทใบอนุญาต | บริการเว็บ | ห้องสมุด | สแตนด์อโลน | อัปเดตล่าสุด( รูปแบบ YYYY-mm-dd ) |
|---|---|---|---|---|---|
| เอซีแอล2 | BSD 3 ข้อ | เลขที่ | เลขที่ | ใช่ | พฤษภาคม 2562 |
| Prover9/Otter | สาธารณสมบัติ | ผ่านระบบบน TPTP | ใช่ | เลขที่ | 2009 |
| เยป | จีพีแอลวี2 | ใช่ | ใช่ | เลขที่ | 15 พฤษภาคม 2558 |
| พีวีเอส | จีพีแอลวี2 | เลขที่ | ใช่ | เลขที่ | วันที่ 14 มกราคม 2556 |
| อีเควป | ? | เลขที่ | ใช่ | เลขที่ | พฤษภาคม 2552 |
| โฟกซ์ | ? | เลขที่ | ใช่ | เลขที่ | 28 กันยายน 2560 |
| อี | จีพีแอล | ผ่านระบบบน TPTP | เลขที่ | ใช่ | 4 กรกฎาคม 2560 |
| สแนร์ค | ใบอนุญาตสาธารณะของ Mozilla 1.1 | เลขที่ | ใช่ | เลขที่ | 2012 |
| แวมไพร์ | ใบอนุญาตแวมไพร์ | ผ่านระบบบน TPTP | ใช่ | ใช่ | วันที่ 14 ธันวาคม 2560 |
| ระบบพิสูจน์ทฤษฎีบท (TPS) | ข้อตกลงการจัดจำหน่าย TPS | เลขที่ | ใช่ | เลขที่ | 4 กุมภาพันธ์ 2555 |
| พาส | ใบอนุญาต FreeBSD | ใช่ | ใช่ | ใช่ | พฤศจิกายน 2548 |
| ไอซาแพลนเนอร์ | จีพีแอล | เลขที่ | ใช่ | ใช่ | 2007 |
| สำคัญ | จีพีแอล | ใช่ | ใช่ | ใช่ | วันที่ 11 ตุลาคม 2560 |
| เครื่องพิสูจน์ทฤษฎีบท Z3 | ใบอนุญาต MIT | ใช่ | ใช่ | ใช่ | 19 พฤศจิกายน 2562 |
ซอฟต์แวร์ฟรี
- อัลท์-เออร์โก
- ออโตมาธ
- ซีวีซี
- อี
- ไอซาแพลนเนอร์
- แอลซีเอฟ
- มิซาร์
- นูพีอาร์แอล
- ความขัดแย้ง
- โปรเวอร์9
- พีวีเอส
- SPARK (ภาษาโปรแกรม)
- สิบสอง
- เครื่องพิสูจน์ทฤษฎีบท Z3
ซอฟต์แวร์กรรมสิทธิ์
ดูเพิ่มเติม
- การติดต่อสื่อสารระหว่างเคอร์รีและโฮเวิร์ด
- การคำนวณเชิงสัญลักษณ์
- เครื่องจักรรามานุจัน
- การตรวจสอบพิสูจน์อักษรด้วยคอมพิวเตอร์
- การตรวจสอบอย่างเป็นทางการ
- การเขียนโปรแกรมเชิงตรรกะ
- การตรวจสอบพิสูจน์อักษร
- การตรวจสอบแบบจำลอง
- ความซับซ้อนของการพิสูจน์
- ระบบพีชคณิตคอมพิวเตอร์
- การวิเคราะห์โปรแกรม (วิทยาการคอมพิวเตอร์)
- ผู้แก้ปัญหาทั่วไป
- ภาษาMetamath สำหรับคณิตศาสตร์เชิงรูปธรรม
- ปัจจัยเดอ บรูอิน
หมายเหตุ
- ↑เฟรจ, ก็อทล็อบ (1879) เบกริฟสชริฟท์ . แวร์ลัก หลุยส์ นอยแอร์ต.
- ↑เฟรจ, ก็อทล็อบ (1884) Die Grundlagen der Arithmetik (PDF) . เบรสเลา: วิลเฮล์ม คอบเนอร์ เก็บถาวรจากต้นฉบับ(PDF)เมื่อวันที่26-09-2550 สืบค้นเมื่อ2012-09-02 .
- ^รัสเซลล์, เบอร์แทรนด์; ไวท์เฮด, อัลเฟรด นอร์ท (1910–1913). Principia Mathematica (ฉบับพิมพ์ครั้งที่ 1). สำนักพิมพ์มหาวิทยาลัยเคมบริดจ์
- ^ Russell, Bertrand; Whitehead, Alfred North (1927). Principia Mathematica (ฉบับที่ 2). สำนักพิมพ์มหาวิทยาลัยเคมบริดจ์
- ^รัสเซลล์, เบอร์แทรนด์ (1931). หลักการของคณิตศาสตร์ . นิวยอร์ก: ดับเบิลยู.ดับเบิลยู. นอร์ตัน แอนด์ คอมพานี.
- ↑แฮร์แบรนด์ เจ. (1930) Recherches sur la théorie de la démonstration (ปริญญาเอก) (ในภาษาฝรั่งเศส) มหาวิทยาลัยปารีส.
- ↑เพรสเบอร์เกอร์, มอจเชสซ์ (1929) "Über die Vollständigkeit eines gewissen Systems der Arithmetik ganzer Zahlen, ใน welchem die Addition als einzige Operation hervortritt" Comptes Rendus du I Congrès de Mathématiciens des Pays Slaves วอร์ซอ: 92– 101.
- ^ a b c d Davis, Martin (2001). "ประวัติศาสตร์ยุคแรกของการหักลบอัตโนมัติ" . Robinson & Voronkov 2001 . เก็บถาวรจากต้นฉบับเมื่อ 2012-07-28 . สืบค้นเมื่อ2012-09-08 .
- ^ Boolos, George S.; Burgess, John P.; Jeffrey, Richard C. (2002). ความสามารถในการคำนวณและตรรกะ (ฉบับที่ 4). เคมบริดจ์: สำนักพิมพ์มหาวิทยาลัยเคมบริดจ์. doi : 10.1017/CBO9781139164931 . ISBN 978-0-521-80975-7.
- ^ Chowdhary, KR (2025). "ทฤษฎีการคำนวณ" . SpringerLink . doi : 10.1007/978-981-97-6234-7 . ISBN 978-981-97-6233-0.
- ^ Bibel, Wolfgang (2007). "ประวัติศาสตร์ยุคแรกและมุมมองของการอนุมานอัตโนมัติ" (PDF) . Ki 2007 . LNAI (4667). Springer: 2– 18. เก็บถาวร(PDF)จากต้นฉบับเมื่อ 2022-10-09 . สืบค้นเมื่อ2 กันยายน 2012 .
- ^กิลมอร์, พอล (1960). "ขั้นตอนการพิสูจน์ทฤษฎีการหาปริมาณ: การให้เหตุผลและการทำให้เป็นจริง". วารสารวิจัยและพัฒนาของ IBM . 4 : 28– 35. doi : 10.1147/rd.41.0028 .
- ^ "ความซับซ้อนในการคำนวณ: แนวทางสมัยใหม่ / Sanjeev Arora และ Boaz Barak" theory.cs.princeton.edu สืบค้นเมื่อ25 มกราคม 2026
- ^ Kleene, Stephen Cole (1967). ตรรกศาสตร์ทางคณิตศาสตร์ . Mineola, NY: Dover Publications.
- ^ Raatikainen, Panu (2026), "ทฤษฎีบทความไม่สมบูรณ์ของเกอเดล"ใน Zalta, Edward N.; Nodelman, Uri (บรรณาธิการ), สารานุกรมปรัชญาแห่งสแตนฟ อร์ด (ฉบับฤดูใบไม้ผลิ 2026), ห้องปฏิบัติการวิจัยอภิปรัชญา มหาวิทยาลัยสแตนฟอร์ดสืบค้นเมื่อ 25 มกราคม 2026
- ^ McCune, WW (1997). "การแก้ปัญหาของ Robbins". Journal of Automated Reasoning . 19 (3): 263– 276. doi : 10.1023/A:1005843212881 . S2CID 30847540 .
- ^ Kolata, Gina (10 ธันวาคม 1996). "การพิสูจน์ทางคณิตศาสตร์ด้วยคอมพิวเตอร์แสดงให้เห็นถึงพลังแห่งการให้เหตุผล" . เดอะนิวยอร์กไทมส์. สืบค้นเมื่อ11 ตุลาคม 2008 .
- ^ Goel, Shilpi; Ray, Sandip (2022), "การรับประกันไมโครโปรเซสเซอร์และบทบาทของการพิสูจน์ทฤษฎีบท"ใน Chattopadhyay, Anupam (บรรณาธิการ), คู่มือสถาปัตยกรรมคอมพิวเตอร์ , สิงคโปร์: Springer Nature Singapore, หน้า 1–43 , doi : 10.1007/978-981-15-6401-7_38-1 , ISBN 978-981-15-6401-7สืบค้นเมื่อ 2024-02-10
- ^ Basin, D.; Deville, Y.; Flener, P.; Hamfelt, A.; Fischer Nilsson, J. (2004). "การสังเคราะห์โปรแกรมในตรรกะเชิงคำนวณ". ใน M. Bruynooghe และ K.-K. Lau (บรรณาธิการ). การพัฒนาโปรแกรมในตรรกะเชิงคำนวณ . LNCS. เล่มที่ 3049. Springer. หน้า 30–65 . CiteSeerX 10.1.1.62.4976 .
- ^ Meng, Jia; Paulson, Lawrence C. (2008-01-01). "การแปลงประโยคลำดับสูงเป็นประโยคลำดับแรก"วารสารการให้เหตุผลอัตโนมัติ 40 ( 1): 35– 60. doi : 10.1007/s10817-007-9085-y . ISSN 1573-0670 . S2CID 7716709 .
- ^ Bos, Johan. "การวิเคราะห์ความหมายแบบครอบคลุมกว้างด้วย Boxer"ความหมายในการประมวลผลข้อความ เอกสารประกอบการประชุม step 2008. 2008.
- ^ Muskens, Reinhard. "การผสมผสานความหมายแบบมอนแทกิวและการนำเสนอวาทกรรม"ภาษาศาสตร์และปรัชญา (1996): 143-186.
- ^ Luckham, David C.; Suzuki, Norihisa (มีนาคม 1976). การตรวจสอบโปรแกรมอัตโนมัติ V: กฎการพิสูจน์ที่เน้นการตรวจสอบสำหรับอาร์เรย์ เรคอร์ด และพอยเตอร์ (รายงานทางเทคนิค AD-A027 455). ศูนย์ข้อมูลทางเทคนิคด้านการป้องกันประเทศ . เก็บถาวรจากต้นฉบับเมื่อวันที่ 12 สิงหาคม 2021
- ^ Luckham, David C.; Suzuki, Norihisa (ต.ค. 1979). "การตรวจสอบการทำงานของอาร์เรย์ เรคอร์ด และพอยเตอร์ในภาษาปาสคาล" . ACM Transactions on Programming Languages and Systems . 1 (2): 226– 244. doi : 10.1145/357073.357078 . S2CID 10088183 .
- ^ Luckham, D.; German, S.; von Henke, F.; Karp, R.; Milne, P.; Oppen, D.; Polak, W.; Scherlis, W. (1979). คู่มือผู้ใช้ Stanford Pascal verifier (รายงานทางเทคนิค). มหาวิทยาลัยสแตนฟอร์ด. CS-TR-79-731.
- ^ Loveland, DW (1986). "Automated theorem proving: Mapping logic into AI". Proceedings of the ACM SIGART international symposium on Methodologies for intelligent systems . Knoxville, Tennessee, United States: ACM Press. หน้า 224. doi : 10.1145/12808.12833 . ISBN 978-0-89791-206-8S2CID 14361631
- ^เคอร์เบอร์, แมนเฟรด. "วิธีพิสูจน์ทฤษฎีบทลำดับสูงในตรรกศาสตร์ลำดับแรก ." (1999).
- ^ Benzmüller, Christoph และคณะ " LEO-II - ตัวพิสูจน์ทฤษฎีบทอัตโนมัติแบบร่วมมือสำหรับตรรกะลำดับสูงแบบคลาสสิก (คำอธิบายระบบ) " การประชุมร่วมระหว่างประเทศว่าด้วยการให้เหตุผลอัตโนมัติ เบอร์ลิน ประเทศเยอรมนี และไฮเดลเบิร์ก: Springer, 2008
- ^ Blanchette, Jasmin Christian; Böhme, Sascha; Paulson, Lawrence C. (2013-06-01). "การขยาย Sledgehammer ด้วยตัวแก้ปัญหา SMT"วารสารAutomated Reasoning 51 ( 1): 109– 128. doi : 10.1007/s10817-013-9278-5 . ISSN 1573-0670 . S2CID 5389933 .
ตัวแก้ปัญหา ATP และ SMT มีจุดแข็งที่เสริมกัน ตัวแก้ปัญหา ATP จัดการกับตัวบ่งปริมาณได้อย่างสง่างามกว่า ในขณะที่ตัวแก้ปัญหา SMT โดดเด่นในปัญหาขนาดใหญ่ ซึ่งส่วนใหญ่เป็นปัญหาพื้นฐาน
- ^ Weber, Tjark; Conchon, Sylvain; Déharbe, David; Heizmann, Matthias; Niemetz, Aina; Reger, Giles (2019-01-01). "การแข่งขัน SMT 2015–2018" . วารสาร Satisfiability, Boolean Modeling and Computation . 11 (1): 221– 259. doi : 10.3233/SAT190123 .
ในช่วงไม่กี่ปีที่ผ่านมา เราได้เห็นเส้นแบ่งระหว่าง SMT-COMP และ CASC เริ่มเลือนลางลง โดยมีตัวแก้ปัญหา SMT เข้าร่วมแข่งขันใน CASC และ ATP เข้าร่วมแข่งขันใน SMT-COMP
- ^ซัตคลิฟฟ์, เจฟฟ์. "คลังปัญหา TPTP สำหรับการพิสูจน์ทฤษฎีบทอัตโนมัติ" . สืบค้นเมื่อ15 กรกฎาคม 2019 .
- ^ "ประวัติ" . vprover.github.io .
- ^ "พิพิธภัณฑ์ผู้พิสูจน์ทฤษฎีบท" . ไมเคิล โคลฮาเซ. สืบค้นเมื่อ2022-11-20 .
- ^ Bundy, Alan (1999). การทำให้การพิสูจน์โดยการอุปมานทางคณิตศาสตร์เป็นไปโดยอัตโนมัติ (PDF) (รายงานทางเทคนิค). รายงานการวิจัยสารสนเทศ. เล่มที่ 2. ภาควิชาสารสนเทศศาสตร์ มหาวิทยาลัยเอดินบะระ. hdl : 1842/3394 .
- ^ Gabbay, Dov M. และ Hans Jürgen Ohlbach. "การกำจัดตัวบ่งปริมาณในตรรกะภาคแสดงลำดับที่สอง" (1992)
- ^ Howlett, Joseph. "AI เพิ่งแก้ปัญหา 'ปัญหา Erdős' ที่มีอายุ 80 ปีได้แล้ว และนักคณิตศาสตร์ต่างประหลาดใจ" Scientific American . สืบค้นเมื่อ2026-06-07 .
ลิงก์ภายนอก
- รายชื่อเครื่องมือพิสูจน์ทฤษฎีบท
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ การพิสูจน์ทฤษฎีบทอัตโนมัติ
การพิสูจน์ทฤษฎีบทอัตโนมัติ (หรือที่รู้จักกันในชื่อATPหรือการอนุมานอัตโนมัติ ) เป็นสาขาย่อยของการให้เหตุผลอัตโนมัติและตรรกศาสตร์ทางคณิตศาสตร์ที่เกี่ยวข้องกับการพิสูจน์ทฤษฎีบททางคณิต...
รากฐานเชิงตรรกะ
แม้ว่ารากฐานของ ตรรกศาสตร์ เชิงรูปธรรม จะย้อนกลับไปถึง อริสโตเติล แต่ช่วงปลายศตวรรษที่ 19 และต้นศตวรรษที่ 20 ได้เห็นการพัฒนาของตรรกศาสตร์สมัยใหม่และคณิตศาสตร์เชิงรูปธรรม Begriffsschrift ของ Frege (1879) ได้นำเสนอทั้ง แคลคูลัสเชิงประพจน์ ที่สมบูรณ์...
การนำไปใช้งานครั้งแรก
ในปี พ.ศ. 2497 มาร์ติน เดวิส ได้เขียนโปรแกรมอัลกอริทึมของเพรสเบอร์เกอร์สำหรับ คอมพิวเตอร์หลอดสุญญากาศ JOHNNIAC ที่ สถาบันเพื่อการศึกษาขั้นสูง ในพรินซ์ตัน รัฐนิวเจอร์ซีย์ ตามที่เดวิสกล่าวไว้ว่า...
ความสามารถในการตัดสินใจของปัญหา
ขึ้นอยู่กับตรรกะพื้นฐาน ปัญหาในการตัดสินความถูกต้องของสูตรจะแตกต่างกันไปตั้งแต่เรื่องเล็กน้อยไปจนถึงเป็นไปไม่ได้ สำหรับกรณีทั่วไปของ ตรรกะเชิงประพจน์ ปัญหาสามารถตัดสินได้แต่เป็นปัญหา co-NP-complete ดังนั้นจึงเชื่อกันว่ามีเพียงอัลกอริทึม เวลาเลขชี้กำลัง...