증명 검사기 버그가 주요 증명을 무효화 한 적이 있습니까?


29

대부분의 (모두?) 증거 조수는 경우에 따라 건전성 버그가 수정되었습니다. 그러나 내가 본 것에서 이러한 버그는 일반적으로 의도하지 않은 방식으로 나오기가 어렵고 버그가 수정되기 전에 결과는 일반적으로 수정 후에 유지됩니다.

힘의 순서로 세 가지 질문 :

  1. 그러한 건전성 버그 수정으로 증명을 수정하지 않고 주요 증명이 실패한 적이 있습니까?
  2. (1)이 사실 인 경우, 증거를 수정하기 위해 주요 수정이 필요한 적이 있습니까?
  3. (2)가 맞다면, 건전성 버그로 인해 잘못된 주요 정리를 증명 한 사람이 있습니까?

나는 "major"의 정의를 다른 사람들에게 맡길 것이다.


11
이것은 아마도 나의 무지를 보여 주지만, 증거 조교와 함께 주요 정리가 처음으로 확립 된 적이 있습니까? 물론 나는 4 색 정리와 케플러 추측에 대해 알고 있지만 거기에서 첫 번째 증거가 증거 보조자를 사용했다고 생각하지 않습니다. 궁금합니다.
Sasho Nikolov

1
CompCert까지 컴파일러가 올바른 것으로 입증 된 사람은 아무도 없었습니다. 그러나 이것이 (3) 특히 덜 흥미로운 질문이 될 것입니다.
Geoffrey Irving

4
@SashoNikolov : 실제로 교정 보조원이 수행하는 대부분의 증거는 수학에 관한 것이 아니기 때문에 실제로는 관련이 없습니다. 그들은 일반적으로 소프트웨어 시스템 또는 공식 시스템의 속성 등에 관한 것입니다. (이 행성에서 수행되는 대다수의 증거 가 순수한 수학에 관한 것이 아니라는 것은 단지 시간 문제입니다 . 로봇이오고 있습니다.) 예를 들어 누군가 누군가 중요한 시스템이 안전하다는 증거 지원을 사용하여 증명 한 다음 실수로 불일치를 사용한 것으로 판명되었습니다.
Andrej Bauer

1
감사합니다 @AndrejBauer. 여기서 "주요 증거"와 "주요 정리"는 연구 수학자에게는 중요하지 않고 중요한 중요 시스템의 정확성에 대한 증거를 의미합니까?
Sasho Nikolov

1
충분히 많은 사람들 (수학자, 보안 전문가, 소프트웨어 엔지니어)이 중요하다고 생각하는 증거는 중요하다고 생각합니다. 나는 우리가 사람이 있다면 때문에 알아 않을거야 두려워 했던 이 문제에 우연히 발견, 기회들이 조용히 고정됩니다.
Andrej Bauer

답변:


11

내가 아는 한, 복잡한 수학적 개발에 대한 기계 검사 증거가 철회 된 적이 없습니다.

Andrej가 지적한 바와 같이, 때때로 이러한 시스템에서 방음 버그 발생하는 경우가 종종 있으며 (Andrej가 제안한 것처럼 일반적으로 조용 하지는 않지만 ) 버그에 대한 수정에는 기존의 증거에 대한 일부 변경 사항이있을 수 있습니다. 증명 시스템의 표준 라이브러리.

Coq에서 이러한 라이브러리 위반 증거의 몇 가지 예 :

https://coq.inria.fr/bugs/show_bug.cgi?id=4294

https://sympa.inria.fr/sympa/arc/coq-club/2013-12/msg00119.html

수정 된 후에 증명 검사자가 약간의 수정을 허용해야했기 때문에 확립 된 증명 이 불일치에 의존 하는지 여부를 말하기는 어렵습니다 . 그러나 이것은 사소한 업데이트마다 발생합니다!

제 개인적인 견해는 기계의 공식화를 시도하기 전에 종이 증거를 잘 다듬어야하기 때문에 그러한 실수는 일어날 가능성이 없다는 것 입니다.

증거 프레임 워크의 불일치는 일반적으로 난해한 기능의 이상한 조합을 많이 사용해야하므로 "사고로"거의 발생하지 않습니다.


3
나는 증거 도우미의 버그에 대한 반응으로 증거 스크립트의 문제를 조용히 또는 심지어 무의식적 으로 Geoffrey가 지적한대로 언급하는 사람들을 언급했습니다 . 물론 증거 조수의 불일치는 항상 놀라운 수준으로 흥분됩니다. 수학자들은 수학에 불일치가 있어야합니다.
Andrej Bauer

2
사람들이 저에게 Wikipedia 링크를 던지는 것은 무엇입니까? @RickyDemer, 요점을 친절하게 설명해 주시겠습니까? 러셀의 역설에 대해 들었습니다. 그것은 100 년 전이었고, 훌륭한 수학으로 이어졌습니다. 나는 우리가 또 하나를 익히기를 제안합니다.
Andrej Bauer

지금은이 답변을 수락 할 것입니다. 물론 누군가 다른 방향으로 답변하면 수락하지 않습니다. (전체 공개 : 이것이 내가
Geoffrey Irving

1
@GeoffreyIrving 답이 부족하다는 것을 증명하기 어렵 기 때문에 대답은 다소 불만족 스럽습니다 ! 따라서 대답은 필자의 지식 부족에 따라 다소 필수적 일 것이지만, 매우 큰 규모의 기계 공식화가 거의 없었기 때문에 답장에 대해 조금 확신합니다. 나는 또한 몇 가지 중요한 formalizations 들었어요 B 방법은 ...이 아닌 사소한 문에 대해 많은 공리를 추가해야합니다 (일치하지 않는 가정이 표시되었습니다, 그리고 함께 공리의 컬렉션 이후로 보였다
코디를

1
... 일관되지 않음). 불행히도, 그것에 대한 참조를 찾을 수없는 것 같아서 답변에 포함시키지 않았습니다. 또한 공식화는 순수한 수학이 아니라 큰 프로그램에 관한 것이었다.
코디
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.