컴퓨터 과학수리 논리학에서 증명 보조기 또는 대화형 정리 증명기는 인간-기계 협업에 의한 형식 증명을 보조하는 소프트웨어 도구이다. 증명 보조기는 대화형 증명 편집기 또는 기타 인터페이스가 포함하며, 이를 통해 인간의 증명 검색을 돕는다. 또한 증명 보조기는 증명의 세부 정보를 컴퓨터에 저장하고, 증명의 일부 단계를 컴퓨터로 계산한다.

시스템 비교 편집

이름 마지막 버전 개발자 구현 언어 기능
고차 논리 Dependent types Small kernel 자동 정리 증명 Proof by reflection Code generation
ACL2 8.3 Matt Kaufmann and J Strother Moore 커먼 리스프 아니요 Untyped 아니요 [1] Already executable
Agda 2.6.2 Ulf Norell, Nils Anders Danielsson, and Andreas Abel (Chalmers and Gothenburg) 하스켈 아니요 부분적 Already executable
Albatross 0.4 Helmut Brandl OCaml 아니요 알 수 없음 아직 아님 Implemented
Coq 8.13.2 INRIA OCaml
F* repository Microsoft Research and INRIA F* 아니요 [2]
HOL Light repository John Harrison OCaml 아니요 아니요 아니요
HOL4 Kananaskis-13 (or repo) Michael Norrish, Konrad Slind, and others 표준 ML 아니요 아니요
Idris 2 0.4.0. Edwin Brady Idris 알 수 없음 부분적
Isabelle Isabelle2021 (February 2021) Larry Paulson (케임브리지 대학교), Tobias Nipkow (뮌헨 공과대학교) and Makarius Wenzel 표준 ML, Scala 아니요
Lean v3.4.2 (official release)[3] v3.39.1 (community release)[4] v4.0.0-m3 (pre-release)[5] 마이크로소프트 리서치 C++ 알 수 없음
LEGO (레고와 관련 없음) 1.3.1 Randy Pollack (Edinburgh) 표준 ML 아니요 아니요 아니요
Mizar 8.1.05 비아위스토크 대학 Free Pascal 부분적 아니요 아니요 아니요 아니요
NuPRL 5 코넬 대학교 커먼 리스프 알 수 없음
PVS 6.0 SRI International 커먼 리스프 아니요 아니요 알 수 없음
Twelf 1.7.1 Frank Pfenning and Carsten Schürmann 표준 ML 알 수 없음 아니요 아니요 알 수 없음
  • ACL2– Boyer-Moore 전통의 프로그래밍 언어, 1차 논리 이론 및 정리 증명기(대화형 모드와 자동 모드 모두 포함).
  • Coq- 수학적 주장의 표현을 허용하고, 이러한 주장의 증명을 기계적으로 확인하고, 형식적 증명을 찾는 데 도움을 주고, 형식 사양의 구성적 증명에서 인증된 프로그램을 추출한다.
  • HOL 정리 증명기– 궁극적으로 LCF 정리 증명기에서 파생된 도구 제품군이다. 이러한 시스템에서 논리적 핵심은 프로그래밍 언어의 라이브러리이다. 정리는 언어의 새로운 요소를 나타내며 논리적 정확성을 보장하는 "전략(strategy)"을 통해서만 도입될 수 있다. 전략 구성을 통해 사용자는 시스템과의 상호 작용이 비교적 적은 중요한 증명을 생성할 수 있다. 여기에 포함된 증명 보조기들은 다음과 같다.
  • IMPS, 대화형 수학 증명 시스템[6]

정리 증명기 박물관은 중요한 문화/과학적 인공물인 정리 증명 시스템의 향후 분석을 위해 소스를 보존하기 위한 이니셔티브이다. 위에서 언급한 많은 시스템의 소스가 여기에 있다.

사용자 인터페이스 편집

증명 보조기를 위한 인기 있는 프론트엔드는 에든버러 대학교에서 개발된 Emacs 기반 Proof General이다. Coq에는 OCaml/GTK를 기반으로 하는 CoqIDE가 포함되어 있다. Isabelle에는 jEdit 및 문서 지향 증명 처리를 위한 Isabelle/Scala 인프라를 기반으로 하는 Isabelle/jEdit가 포함되어 있다. Coq Archived 2021년 12월 4일 - 웨이백 머신, Isabelle비주얼 스튜디오 코드 확장도 개발되었다.[7]

같이 보기 편집

참고 문헌 편집

각주 편집

  1. Hunt, Warren; Matt Kaufmann; Robert Bellarmine Krug; J Moore; Eric W. Smith (2005). 〈Meta Reasoning in ACL2〉 (PDF). 《Theorem Proving in Higher Order Logics》. Lecture Notes in Computer Science 3603. 163–178쪽. doi:10.1007/11541868_11. ISBN 978-3-540-28372-0. 
  2. Search for "proofs by reflection": arXiv:1803.06547
  3. “Lean Theorem Prover Releases page”. 《GitHub》. 
  4. “Lean Community Releases Page”. 《GitHub》. 
  5. “Lean 4 Releases Page”. 《GitHub》. 
  6. Farmer, William M.; Guttman, Joshua D.; Thayer, F. Javier (1993). “IMPS: An interactive mathematical proof system”. 《Journal of Automated Reasoning》 11 (2): 213–248. doi:10.1007/BF00881906. 2020년 1월 22일에 확인함. 
  7. Wenzel, Makarius. “Isabelle”. 2019년 11월 2일에 확인함. 

외부 링크 편집

카탈로그 편집