문제

GJ Woeginger 목록 116 P 대 NP 문제의 잘못된 증거 Scott Aaronson은 " 8 개의 징후가 주장 된 p ≠ np 증명이 잘못되었다 "누군가가 P 대 NP를 해결하려고 할 때마다.일부 연구자조차도 "p 대"를 정착시키는 서류를 증명합니다.NP "질문 .

3 개의 관련 질문이 있습니다 :

  1. P는 P 대 NP의 증거가 올바른지 여부를 확인할 수있는 증거 조수를 사용하지 않는 이유는 무엇입니까?
  2. 처음부터 증거 조수에 P 대 NP를 주에서 얼마나 열심히 또는 얼마나 많은 노력을 기울입니까?
  3. 는 현재 P vs. np 증명을 확인할 수있는 원칙적으로 적어도 원칙적으로 어떤 소프트웨어가 있습니까?
도움이 되었습니까?

해결책

DW에 동의하지 않을 것입니다. 나는 (어렵지만, P 증거 조수에 명시된 결과, 매우 평판이 좋은 소스.

특히, DW 상태 중 어느 것도 증명 조수에게 매우 유망한 방향 인 유형 이론을 기반으로하지 않습니다. Coq은 4 색 정리의 증거를 공식화하는 데 사용되었습니다. 그래서 분명히 약간의 무거운 수학적 리프팅이 가능합니다.

에 대한 특정 질문에 답하십시오 :

  1. 주요 이유는 정리가 수학 공동체에서 널리 받아 들여지지 않는다는 것입니다. 그들이 그들이 노력하고 수학자들은 종종 근본적인 기술 (유형 이론, 건설 수학 등)에 회의적입니다. 그러나 주요 연구자들이 범주 이론, 프로그래밍 언어 이론, 공식 논리 등과 같은 증거 조수에 공식화 된 대규모 개발을 만드는 데 매우 편안한 몇 가지 분야가 있습니다. 그래서 고유 한 타당성 문제로서의 문화적 문제가 많이 있다고 생각합니다. .

    다른 이유는 지금까지, 가장 멀리 "증명"의 대부분은 필연적으로 결함을 드러내 기 때문에 그들의 결과를 공식화하고 싶지 않은 크랭크에 의해 왔다는 것입니다.

  2. 증거 조수의 P 대 NP를 주에서 전혀 어렵지 않습니다. 하나는 튜링 머신을 사용할 수 있지만 유도체 가정을 사용하여 소량의 의미를 모델링하기 위해 간단한 튜닝 완성 된 프로그래밍 언어를 모델링하고 프로그램을 취하는 단계 수로 런타임을 정의하는 것이 더 쉬울 것입니다. $ P $ 을 프로그램에서 허용하는 언어로서 수용 한 언어로 $ np $ 다항식 길이 인증서로 Polytime에서 확인할 수있는 언어로.

    편집 : 기존 기술이 있습니다 < / a> 알고리즘이 정리 프로젝트에서 다항식 시간에 실행되어 있음을 보여줍니다. 따라서 이것은 NP-HARD 문제에 대한 폴리 타임 알고리즘을 보여 주거나 그러한 알고리즘의 존재와 모순을 도출하는 데 사용할 수 있습니다.

  3. 그러한 증명을 확인할 수있는 소프트웨어의 은 해당 소프트웨어를 사용하여 증거가 작성되었습니다 . 두 개의 후보자가 가장 많이 넣을 수 있습니다. lean . 특히 CoQ는 수학의 여러 주요 결과를 확인하는 데 사용되었습니다.

다른 팁

이 목적을 위해 증거 조수를 사용하면 원칙적으로 가능하지만 그러한 증거를 쓰는 대부분의 사람들보다 더 많은 노력을 기울이는 것으로 의심합니다. 저자로부터 상당한 노력이 필요할 것입니다. PRO를 구성하는 PR 대 NP 증명을 포기했습니다.

인간을 위해 쓰여진 증거를 증거 조수가 확인할 수있는 형식으로 번역하는 것은 지루하고 시간이 많이 걸리는 것입니다. 나는 인간 서면 증거의 페이지 당 한 주간의 노력을 하루에 보았습니다. 그런 다음, 증거가 건설중인 모든 사전 결과를 공식화해야합니다. 우리가 P 라 VS NP를 증명하는 최근 시도를 살펴볼 때는 일반적으로 이전 논문의 고급 기계 및 정교한 기존 결과를 사용합니다.

이 때문에 제안 된 새로운 증거와 모든 사전 결과의 모든 사전 결과의 증명서를 공식화하는 것이 완전히 비실용적 일 것이라고 기대합니다. 우리가 지금까지 보았습니다. user21820 지적 밖에서 의지 된 모든 사전 결과에 대한 진술만을 공식화하는 것이 아니라 증거가 아닙니다. 따라서 $ T $ 을 증명하는 대신 $ (x \ land y \ land)의 증명을 공식화 할 것입니다. \ cdots) \ $ x, y, \ dots $ 은 증명이 의존하는 사전 결과입니다. 이것은 NP 완성 결과를 완전히 확인하는 것에서 짧지 만, 사람들이 이전 결과에 믿음을 갖는 경우 사람들은 새로운 결과에 대한 자신감을 얻을 수있게합니다. 이것은 $ T $ 의 전체 증명을 공식화하는 것보다 훨씬 더 현실적 일 것입니다 : 모든 사전 결과를 공식화하기 위해 노력하는 동안 $ x, y, \ dots $ , 그 이전의 결과의 증거를 공식화하기위한 노력보다 훨씬 적습니다.

여전히, 그것은 어려울 것이며,이 속임수에도 증명을 형성하기위한 노력의 비 사소한 지출이 필요합니다.

공식화되고 공식적으로 확인 된 수학 및 컴퓨터 과학의 정리의 기존 라이브러리를 볼 수 있습니다. http : //us.metamath.org//A> 및 http://formalmath.org/ https://www.isa-afp.org/topics.html http://mizar.org/library//a> . 공식화 된 것들이 많은 것들이 기본 학부 자료에 관심이 있음을 알 수 있습니다. 우리는 학부 수준에서 가르친 모든 정리를 공식화하는 가장 멀리 떨어져 있으며, 졸업생 수준에서 가르쳐 준 것들이 새로운 연구 결과만으로 알려줍니다.

더 많은 배경은 https://math.stackexchange.com/q/792010/14578 를 참조하십시오. https://math.stackexchange.com/q/113316/14578 ittps://math.stackkexchange.com/q/1767070/14578 ™ //math.stackkexchange.com/math.stackkexchange.com/q/2747661/14578 http://www.ams.org/notices/200811/tx081101370p.pdf .

I can give a direct answer to (2): $P\ne NP$ has been stated in Lean (along with the other main results of Cook's paper, where the conjecture was first described), as part of the Formal Abstracts project.

I believe your question is not that much of a proper theory question, so with your permission I'll give it a not-so-technical answer.

Why are people not using proof assistants that could verify whether a proof of P vs. NP is correct?

Because CS theorists rarely (perhaps extremely rarely) write proofs in machine-verifiable form.

How hard or how much effort would it be to state P vs. NP in a proof assistant in the first place?

Very hard at least in the "uninteresting" sense that @DW explained; but it could be anywhere from easy to impossible in the "interesting" sense of expressing the concepts in a proof, if it were to exist.

But you know, this will never happen because:

  1. Until a proof is found it can't be done anyway
  2. You have to know the proof like the back of your hand to convert it into machine-verifiable form.
  3. ... and when enough people know the proof, they will either have found a flaw or be satisfied that it's valid and not care about machine-checking it.

Is there currently any software that would be at least in principle capable of verifying a P vs. NP proof?

I'm not well-versed enough in proof verification software to comment about what's actually implemented, but it's probably nearly-impossible to answer your question, because - who knows what form such a proof will take? And thus - how would you know, now, if it's expressible in such a way that your proof verifier can process?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 cs.stackexchange
scroll top