กลับไปหน้าบทความ

อ่าน 2 นาที

เอ็นคิวทีเอ็ม

การบำรุงรักษา CS1: ตำแหน่งไม่มีผู้เผยแพร่/ซอฟต์แวร์ Lisp ทั่วไป (ภาษาโปรแกรม)/ทฤษฎีบทพิสูจน์ระบบซอฟต์แวร์

Nqthmเป็นโปรแกรมพิสูจน์ทฤษฎีบทบางครั้งเรียกว่าโปรแกรมพิสูจน์ทฤษฎีบท Boyer–Mooreมันเป็นโปรแกรมต้นแบบของ ACL2

เอ็นคิวทีเอ็ม

Nqthmเป็นโปรแกรมพิสูจน์ทฤษฎีบทบางครั้งเรียกว่าโปรแกรมพิสูจน์ทฤษฎีบท Boyer–Mooreมันเป็นโปรแกรมต้นแบบของ ACL2 [ 1 ]

ประวัติศาสตร์

ระบบนี้ได้รับการพัฒนาโดยโรเบิร์ต เอส. โบเยอร์และเจ. สโตรเธอร์ มัวร์ศาสตราจารย์ด้านวิทยาการคอมพิวเตอร์แห่งมหาวิทยาลัยเท็กซัส ออสตินพวกเขาเริ่มทำงานกับระบบนี้ในปี 1971 ที่เมืองเอดินบะระประเทศสกอตแลนด์เป้าหมายของพวกเขาคือการสร้างโปรแกรมพิสูจน์ทฤษฎีบทอัตโนมัติโดยใช้ตรรกะ พวกเขาใช้ภาษาPure LISP เวอร์ชันดัดแปลง เป็นตรรกะในการทำงาน

คำจำกัดความ

นิยามต่างๆ ถูกสร้างขึ้นในรูปแบบของฟังก์ชันเรียกซ้ำ โดยสมบูรณ์ ระบบนี้ใช้การเขียนใหม่และ วิธีการ อนุมาน อย่างกว้างขวาง ซึ่งจะใช้เมื่อการเขียนใหม่และสิ่งที่เรียกว่าการประเมินเชิงสัญลักษณ์ล้มเหลว

ระบบนี้สร้างขึ้นบนพื้นฐานของภาษา Lisp และมีความรู้พื้นฐานบางอย่างเกี่ยวกับสิ่งที่เรียกว่า "Ground-zero" ซึ่งเป็นสถานะของเครื่องหลังจากบูตระบบลงบนการใช้งาน Common Lisp

นี่เป็นตัวอย่างของการพิสูจน์ทฤษฎีบททางคณิตศาสตร์อย่างง่าย ฟังก์ชันTIMESเป็นส่วนหนึ่งของBOOT-STRAP (เรียกว่า "ดาวเทียม") และถูกกำหนดให้เป็น

( DEFN TIMES ( X Y ) ( IF ( ZEROP X ) 0 ( PLUS Y ( TIMES ( SUB1 X ) Y ))))

การกำหนดทฤษฎีบท

การกำหนดทฤษฎีบทนี้ยังแสดงด้วยไวยากรณ์ที่คล้ายกับภาษา Lisp ด้วย:

( พิสูจน์บทพิสูจน์การสลับที่ของเวลา( เขียนใหม่) ( เท่ากับ( เวลาx z ) ( เวลาz x )))

หากทฤษฎีบทนี้ได้รับการพิสูจน์ว่าเป็นจริง มันจะถูกเพิ่มเข้าไปในฐานความรู้ของระบบและสามารถใช้เป็นกฎการเขียนใหม่สำหรับการพิสูจน์ในอนาคตได้

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

การพิสูจน์สมบัติการสลับที่ของเวลายังคงดำเนินต่อไป:

ตั้งชื่อสมมติฐานนี้ว่า *1. เราจะใช้วิธีการอุปมาน โดยมีเงื่อนไขสองประการที่ได้จากข้อสันนิษฐานนี้ ซึ่งทั้งสองอย่างนั้นมีข้อบกพร่อง เราจึงจำกัดการพิจารณาของเราไว้เพียงสองข้อที่เสนอโดย จำนวนฟังก์ชันเรียกซ้ำที่ไม่ใช่แบบดั้งเดิมที่มากที่สุดในสมมติฐาน เนื่องจากทั้งสอง สิ่งเหล่านี้มีโอกาสเกิดขึ้นเท่ากัน เราจะเลือกโดยพลการ เราจะใช้วิธีอุปนัยตาม... แผนผังต่อไปนี้: (และ (หมายความว่า (ศูนย์ X) (p XZ)) (หมายความว่า (และ (ไม่ใช่ (ZEROP X)) (p (SUB1 X) Z)) (p XZ))) เลขคณิตเชิงเส้น บทพิสูจน์ COUNT-NUMBERP และนิยามของ ZEROP ให้ข้อมูลเกี่ยวกับ บอกเราว่าค่าที่วัดได้ (จำนวน X) ลดลงตามความสัมพันธ์ที่มีพื้นฐานที่ดี LESSP ในแต่ละขั้นตอนการเหนี่ยวนำของแผนการเหนี่ยวนำข้างต้น นำไปสู่ข้อสันนิษฐานใหม่สองข้อดังต่อไปนี้: กรณีที่ 2. (หมายความว่า (ZEROP X) (เท่ากับ (คูณ XZ) (คูณ ZX))) 

และหลังจากผ่านการพิสูจน์โดยการอุปมานหลายขั้นตอน ในที่สุดก็สรุปได้ว่า

กรณีที่ 1. (หมายความว่า (และ (ไม่ใช่ (ศูนย์ Z)) (เท่ากับ 0 (คูณ (SUB1 Z) 0))) (เท่ากับ 0 (คูณ Z 0))) วิธีนี้จะทำให้ความหมายของศูนย์ คูณ บวก และเท่ากับ ง่ายขึ้น โดยขยายความหมายออกไปดังนี้: ที. นั่นเป็นการเสร็จสิ้นการพิสูจน์ข้อ *1.1 ซึ่งเป็นการเสร็จสิ้นการพิสูจน์ข้อ *1 ด้วยเช่นกัน QED [ 0.0 1.2 0.5 ] ความเท่าเทียมกันของเวลา 

หลักฐาน

มีการตรวจสอบหรือยืนยันหลักฐานหลายอย่างกับระบบแล้ว โดยเฉพาะอย่างยิ่ง

  • (1971) การเชื่อมต่อรายการ
  • (1973) การเรียงลำดับแบบแทรก
  • (1974) ตัวบวกเลขฐานสอง
  • (1976) คอมไพเลอร์นิพจน์สำหรับเครื่องสแต็ก
  • (1978) ความเป็นเอกลักษณ์ของการแยกตัวประกอบเฉพาะ
  • (1983) ความสามารถในการผกผันของอัลกอริทึมการเข้ารหัส RSA
  • (1984) ความไม่สามารถแก้ปัญหาการหยุดทำงานสำหรับ Pure Lisp
  • (1985) ไมโครโปรเซสเซอร์ FM8501 (วอร์เรน ฮันท์) [ 2 ]
  • (1986) ทฤษฎีบทความไม่สมบูรณ์ของเกอเดล (ชานการ์)
  • (1988) CLI Stack (บิล เบเวียร์, วอร์เรน ฮันท์, แมตต์ คอฟแมนน์, เจ มัวร์, บิล ยัง)
  • (1990) กฎการผกผันกำลังสองของเกาส์ (เดวิด รัสซินอฟฟ์)
  • (1992) นายพลไบแซนไทน์และการซิงโครไนซ์นาฬิกา (เบเวียร์และยัง)
  • (1992) คอมไพเลอร์สำหรับส่วนย่อยของภาษา Nqthm (อาร์เธอร์ แฟลทาว)
  • (1993) โปรโตคอลการสื่อสารแบบอะซิงโครนัสแบบสองเฟส
  • (1993) Motorola MC68020 และ Berkeley C String Library (หยวนหยู)
  • (1994) ทฤษฎีบทปารีส-แฮร์ริงตัน แรมซีย์ ( เคนเนธ คูเนน )
  • (1996) ความเท่าเทียมกันของ NFSA และ DFSA ( Debora Weber-Wulff )

พีซี-เอ็นคิวทีเอ็ม

แมตต์ คอฟแมนน์ได้พัฒนาเวอร์ชันที่มีประสิทธิภาพมากขึ้น เรียกว่า PC-Nqthm (Proof-checker Nqthm) เวอร์ชันนี้มอบเครื่องมือพิสูจน์ที่ระบบใช้โดยอัตโนมัติให้กับผู้ใช้ เพื่อให้สามารถให้คำแนะนำเพิ่มเติมแก่การพิสูจน์ได้ ซึ่งเป็นประโยชน์อย่างมาก เนื่องจากระบบมีแนวโน้มที่จะวนเวียนอยู่กับการพิสูจน์แบบอุปนัยที่ไม่สิ้นสุด ซึ่งเป็นสิ่งที่ไม่ก่อให้เกิดประโยชน์

วรรณกรรม

รางวัล

รางวัล

ในปี พ.ศ. 2548 Robert S. Boyer , Matt KaufmannและJ Strother Mooreได้รับรางวัล ACM Software System Awardสำหรับผลงานของพวกเขาเกี่ยวกับตัวพิสูจน์ทฤษฎีบท Nqthm [ 3 ]

เอกสารอ้างอิง

  1. ^ "Nqthm, ตัวพิสูจน์ของ Boyer-Moore "
  2. ^ Hunt jr., Warren A. (1986), FM8501: ไมโครโปรเซสเซอร์ที่ได้รับการตรวจสอบแล้ว , รายงานทางเทคนิค, เล่มที่ 47, มหาวิทยาลัยเท็กซัสที่ออสติน{{citation}}: CS1 maint: ไม่พบตำแหน่งผู้เผยแพร่ ( ลิงก์ )
  3. ^สมาคมเครื่องจักรคำนวณ (Association for Computing Machinery ) , "ACM: ข่าวประชาสัมพันธ์, 15 มีนาคม 2549" , campus.acm.org , เข้าถึงเมื่อ 27 ธันวาคม 2550 (ฉบับภาษาอังกฤษ )
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Nqthm&oldid=1292961798 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ เอ็นคิวทีเอ็ม

Nqthmเป็นโปรแกรมพิสูจน์ทฤษฎีบทบางครั้งเรียกว่าโปรแกรมพิสูจน์ทฤษฎีบท Boyer–Mooreมันเป็นโปรแกรมต้นแบบของ ACL2

ประวัติศาสตร์

ระบบนี้ได้รับการพัฒนาโดยโรเบิร์ต เอส. โบเยอร์และเจ. สโตรเธอร์ มัวร์ศาสตราจารย์ด้านวิทยาการคอมพิวเตอร์แห่งมหาวิทยาลัยเท็กซัส ออสตินพวกเขาเริ่มทำงานกับระบบนี้ในปี 1971...

คำจำกัดความ

นิยามต่างๆ ถูกสร้างขึ้นในรูปแบบของฟังก์ชันเรียกซ้ำ โดยสมบูรณ์ ระบบนี้ใช้การเขียนใหม่และ วิธีการ อนุมาน อย่างกว้างขวาง ซึ่งจะใช้เมื่อการเขียนใหม่และสิ่งที่เรียกว่าการประเมินเชิงสัญลักษณ์ล้มเหลว ระบบนี้สร้างขึ้นบนพื้นฐานของภาษา Lisp...

การกำหนดทฤษฎีบท

การกำหนดทฤษฎีบทนี้ยังแสดงด้วยไวยากรณ์ที่คล้ายกับภาษา Lisp ด้วย: ( พิสูจน์บทพิสูจน์การสลับที่ของเวลา( เขียนใหม่) ( เท่ากับ( เวลาx z ) ( เวลาz x )))หากทฤษฎีบทนี้ได้รับการพิสูจน์ว่าเป็นจริง...