일부 추론 엔진은 왜 인간의 도움이 필요한 반면 다른 추론 엔진은 그렇지 않습니까?


16

본인은 Automated Theorem Proving / SMT 솔버 / Proof Assistant 를 배우고 여기 에서 시작하여 프로세스에 대한 일련의 질문을 게시합니다 .

자동 정리 프로 바이더, 즉 ACL2 및 SMT 솔버가 증거 보조자 (예 : IsabelleCoq )가 필요한 반면 사람의 도움이 필요하지 않은 이유는 무엇 입니까?

시리즈의 다음 질문을 찾으 십시오 .

답변:


14

고차 공식의 유효 기간은 일반적으로 decidable없는 공백이 검색 거대한 당신이 할 수 있도록 노력하겠습니다 수있는 모든 것입니다, 그래서 시도 증거를 찾기 위해 -이 존재 가정 - 영리 증거 공간을 열거하여 (생각 쇠 망치 , 적절하게 이름) 그러나 그것은 거칠다. 인간은 오라클을 사용하여 증거를 안내 할 핵심 정리를 제공 할 수 있습니다.

반면 자동화 된 프로 버는 일반적으로 결정 가능한 논리 (예 : 제안 논리 또는 1 차 논리의 서브 클래스) 만 처리하므로 시간이 오래 걸릴 수 있지만 결국에는 성공할 것입니다.

있다는 것을 참고하는 중요한 lemmata, 예를 들면 찾아 증거 assisstants 수 있도록 접근 IsaPlanner을 . 이 도구는 열거 및 임의 테스트를 통해 (유도) 보조 정리를 추측 한 다음이를 입증하려고 시도합니다. 프로세스를 반복함으로써, 예를 들어 전형적인 데이터 유형 정의의 많은 정리가 자동으로 발견 될 수 있습니다.


작은 ABC

  • 유효성 -수식은 유효하며 자유 변수에 할당 한 모든 것을 보유합니다.
  • 자유 변수 -및와같은 수량 자에 의해 구속되지 않는 변수
  • decidability- 유한 한 시간 후에 "yes"또는 "no"(정확하게)로 응답하는 알고리즘이있는 경우 (부울) 속성은 (튜닝) 결정 가능합니다.
  • 명제 논리 - 또한 0 차 로직 ; 정량화가 허용되지 않습니다.
  • 엑스.(엑스)에프.에프(4)>0
  • 고차 로직 -고차 함수 (함수를 취하는 함수)와 같이 임의의 복잡한 객체를 과도하게 (및 "빌드") 수량화 할 수 있습니다.

@GuyCoder : 그래도 실현 가능한지 확실하지 않습니다. 사전 지식 없이는 소화 할 수 있도록 모든 답변을 작성할 수는 없습니다. ATP 고급 기능입니다. 나는 논리에 대한 탄탄한 배경없이 배우는 사람을 권장하지 않습니다. 원하는 방식으로 답을 쓰면 이해의 환상 만 만들 수 있지만 실제로는 도움이되지 않습니다. 따라서 시리즈에 관심이있는 모든 사람들은 먼저 몇 가지 논리를 수행해야합니다.
라파엘

7

"자동 정리 정리"(ATP)와 "대화 정리 정리"(ITP)의 고전적인 차이를 재고해야한다고 말하고 싶습니다. 오늘날 Isabelle / HOL (2013 년 2 월의 Isabelle2013)과 같이 잘 알려진 ITP 시스템을 사용하는 경우 ATP 포트폴리오의 많은 추가 도구를 통합합니다.

  • 온보드 일반 자동 교정 도구 : L. Paulson fast과 같은 구식 Isabelle 도구 및 blast( metisJ. Hurd 와 같은) 최신 자동 증명 도구

  • Sledgehammer를 통해 호출되는 1 차 로직 용 외부 ATP : E prover, SPASS, Vampire. 발견 된 증거는 어떤 보조 정리가 그에 기여했는지 파악하여 10000 초에서 10 초로 줄이고 결과를에 공급하기 위해 분석 metis됩니다.

  • 특히 Z3를위한 부분 증명 재구성 기능이있는 외부 SMT (S. Boehme 제공).

  • Nitpick / Kodkodi (J. Blanchette) 및 Quickcheck (L. Bulwahn) : 입증되지 않은 진술의 반대 사례를 찾는 도구

자동화 된 모든 것들이 Isabelle을 자동화 된 정리 증명자가됩니까?

궁극적으로, "ATP"와 "ITP"의 차이점은 시스템을 어떻게 배치 또는 "판매"할 것인지를 알려주는 일종의 "라벨"이라고 생각합니다. ATP는 "푸시 버튼 도구"라고 주장하지만 실제로 매개 변수 또는 힌트를 제공하거나 문제를 재구성하여 (간접적으로) 상호 작용해야합니다. ATP 커뮤니티에서 일반적으로 사용되는 긴 런타임으로 인해 실제로는 매우 어려울 수 있습니다.

반대로, ITP 시스템은 증거를 완료하기 위해 누락 된 사항을 확인하기 위해 내부 증거 상태에 반 정도 액세스 할 수있는 현장에서 기다리는 사람들을 위해 만들어졌습니다. Isabelle 방식으로 ATP 도구를 마무리 한 ITP 시스템은 ITP 또는 ATP 단독보다 더 많은 사용자와 더 많은 응용 프로그램에 더 매력적일 수 있습니다.


오랜 시간 이 지났지 만, 내가 올바르게 기억 fast하거나 blast능숙 하지 않다면 ; 그들은 특정 규칙을 사용하여 기본적으로 휴리스틱입니다 수 있습니다 증거를 찾을 수 있습니다. (물론, 그것들은 적절하게 작은 수식의 하위 집합에 대해 잘 알고 있으며, 이는 어떤 증명 열거 방법에도 적용됩니다.)
Raphael

2
"prover"라고 말할 때 실제로 특정 고정 언어에 대한 "결정 절차"를 의미합니까? 대부분의 ATP "피 인증은"반 의사 결정 절차, 당신이 특징으로하는 방법 fastblast. blastL. Paulson이 일부 CADE 워크숍에서 "일반 Tableau Prover와 Isabelle과의 통합"으로 발표 한 점 에 주목하십시오. 이 논문은 J. UCS 1999에서 나중에 발표되었습니다. 또한 일부 특수 언어 (산술 하위 집합)에 대한 결정 절차.
Makarius
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.