Как усердно это было бы указывать P vs. NP в доказательстве?

cs.stackexchange https://cs.stackexchange.com/questions/128841

Вопрос

GJ Woeginger Lists 116 Неверные доказательства P vs. NP Проблема .Scott aaronson опубликовал " Восемь признаков заявленные P ≠ NP Доказательство неверно ", чтобы уменьшить шумихуКаждый раз, когда кто-то пытается урегулировать P vs. NP.Некоторые исследователи даже Откажитесь от доказательств доказательств, урегулирующихся «P противNP "Вопрос .

У меня есть 3 связанных вопроса:

  1. Почему люди не используют помощников доказательств, которые могут проверить, правильно ли доказательство p vs. np?
  2. Насколько усердно или сколько усилий было бы указать p vs. np в доказательстве в первую очередь?
  3. Есть в настоящее время какое-либо программное обеспечение, которое было бы, по крайней мере, в принципе, способным проверить доказательство p vs. np?
Это было полезно?

Решение

Я собираюсь не согласен с DW. Я думаю, что это возможно (хотя сложно) для A P vs. NP результат, который должен быть указан в доказательстве, и, кроме того, я бы не доверял никаких предполагаемых доказательств, если они не были формализованы таким образом, если они не пришли от Очень Авторитетные источники.

В частности, ни один из ресурсов DW-состояний основан на теории типа, что является очень перспективным направлением для доказательств. Кок был использован для Формализовать доказательство 4-цветной теоремы среди других, поэтому это явно способен на какой-то тяжелый математический подъем.

Чтобы ответить на ваши конкретные вопросы:

  1. Основная причина заключается в том, что TheOrmem Provers широко распространены в математическом сообществе. Изучение их усилий требует усилий, а математики часто скептически относятся к основным методам (теория типа, конструктивная математика и т. Д.) Но есть несколько областей, где ведущие исследователи очень удобны при создании больших разработок, оформленные в доказательстве, например, теории категории, теории языка программирования, формальной логики и т. Д. Так, как я думаю, что существует как культурная проблема в качестве присущей эмоциональной способности. ,

    Другой причиной в том, что, до сих пор, что большинство предполагаемых «доказательств» были кривыми, которые не хотят оформить свой результат, потому что он неизбежно раскроет недостатки.

  2. вообще не сложно указывать p vs. np в доказательстве. Можно использовать машины Turgines, но, вероятно, было бы легче моделировать простой выпускной язык программирования Turing, используя индуктивные семейства для моделирования маленькой шаговой семантики и определяют время выполнения, поскольку количество шагов требуется программа. Вы можете определить $ p $ , поскольку языки, принимаемые программами, остановив в полиноме количества шагов, и $ np $ Как языки, которые могут быть проверены в полиномиальных сертификатах с помощью полиномиальной длины.

    Редактировать: оказывается Существуют существующие методы < / a> Для того, чтобы показать, что алгоритмы работают в многочленом времени в теореме. Таким образом, это можно использовать либо для отображения алгоритма многоэтапных веществ для проблемной проблемы NP, либо для вывода противоречия от существования такого алгоритма.

  3. есть tons программного обеспечения, которое способно проверять такое доказательство, при условии, что доказательство было написано с использованием этого программного обеспечения . Две кандидаты, которые я бы поставил самые запасные в том, что coq и Leans . В частности, CoQ использовался для проверки нескольких основных результатов математики.

Другие советы

Использование доказательств для этой цели для этой цели, безусловно, возможно в принципе, но я подозреваю, что это примет больше усилий, чем большинство людей, которые пишут такие доказательства, будут заинтересованы в положении. Это потребует значительного количества усилий автора Согласовано p vs np доказательство оформить их доказательство.

Переводя доказательство, написанное для людей в формат, что помощник доказательства может проверить, был утомительным и трудоемким. Я видел оценки от дня до недели усилий на страницу человеческого письменного доказательства. Затем необходимо также оформить все предыдущие результаты, на которые доказательство строит. Когда мы смотрим на недавние попытки доказательства P VS NP, они обычно используют много передовых машин и сложных ранее существовавших результатов от предыдущих документов, которые должны были бы быть формализованы тоже.

Из-за этого я ожидаю, что это будет совершенно нецелесообразно формализовать как предлагаемые новые доказательства, так и доказательства всех предшествующих результатов, которые оно зависит от видов предполагаемых доказательств, которые мы видели до сих пор. Как user21820 отмечает , что было бы более практичным было бы формализовать только утверждение всех предыдущих результатов, которые полагаются, но не их доказательство. Таким образом, вместо того, чтобы доказать теорему $ T $ , мы оформили доказательство того, что $ (x \ land y \ land \ CDOTS) \ Предполагается t $ , где $ x, y, \ dots $ - это предыдущие результаты, которые доказательство зависит от. Это не хватает полностью проверки результата полноты NP-полноты, но если люди имеют веру в предыдущие результаты, это позволило бы людям получить уверенность в новом результате. Это было бы намного более реалистично, чем формализация всего доказательства $ T $ : Хотя приложить некоторые усилия для формализации всех предыдущих результатов $ x, y, \ dots $ , это намного меньше усилий, чтобы оформить доказательства этих предыдущих результатов.

Тем не менее, было бы сложно и требовать нетривиальных расходов усилий для формализации доказательства, даже с этим трюком.

Вы можете посмотреть на существующие библиотеки теорем в математике и компьютерных науках, которые были формализованы и формально подтверждены: см. http://us.metamath.org/ и http://formalmath.org/ и httplow noreferrer "> https://www.isa-afp.org/topics.html и http://mizar.org/library/ . Вы можете заметить, что многое о том, что формализовано, что касается базового бакалавриата. Мы далеко от оформления всех теоремов, преподаваемых на уровне бакалавриата, не говоря уже о том, кто преподавал на уровне выпускника, не говоря уже о новых результатах исследования.

Для большего количества фона, см. https://math.stackexchange.com/q/792010/14578 и https://math.stackexchange.com/q/113316/14578 и http://math.stackexchange.com/q/176707070/14578 и http://math.stackexchange.com/q/2747661/14578 и http://www.ams.org/notics/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