Как усердно это было бы указывать P vs. NP в доказательстве?
-
29-09-2020 - |
Вопрос
GJ Woeginger Lists 116 Неверные доказательства P vs. NP Проблема .Scott aaronson опубликовал " Восемь признаков заявленные P ≠ NP Доказательство неверно ", чтобы уменьшить шумихуКаждый раз, когда кто-то пытается урегулировать P vs. NP.Некоторые исследователи даже Откажитесь от доказательств доказательств, урегулирующихся «P противNP "Вопрос .
У меня есть 3 связанных вопроса:
- Почему люди не используют помощников доказательств, которые могут проверить, правильно ли доказательство p vs. np?
- Насколько усердно или сколько усилий было бы указать p vs. np в доказательстве в первую очередь?
- Есть в настоящее время какое-либо программное обеспечение, которое было бы, по крайней мере, в принципе, способным проверить доказательство p vs. np?
Решение
Я собираюсь не согласен с DW. Я думаю, что это возможно (хотя сложно) для A P vs. NP результат, который должен быть указан в доказательстве, и, кроме того, я бы не доверял никаких предполагаемых доказательств, если они не были формализованы таким образом, если они не пришли от Очень Авторитетные источники.
В частности, ни один из ресурсов DW-состояний основан на теории типа, что является очень перспективным направлением для доказательств. Кок был использован для Формализовать доказательство 4-цветной теоремы среди других, поэтому это явно способен на какой-то тяжелый математический подъем.
Чтобы ответить на ваши конкретные вопросы:
-
Основная причина заключается в том, что TheOrmem Provers широко распространены в математическом сообществе. Изучение их усилий требует усилий, а математики часто скептически относятся к основным методам (теория типа, конструктивная математика и т. Д.) Но есть несколько областей, где ведущие исследователи очень удобны при создании больших разработок, оформленные в доказательстве, например, теории категории, теории языка программирования, формальной логики и т. Д. Так, как я думаю, что существует как культурная проблема в качестве присущей эмоциональной способности. ,
Другой причиной в том, что, до сих пор, что большинство предполагаемых «доказательств» были кривыми, которые не хотят оформить свой результат, потому что он неизбежно раскроет недостатки.
-
вообще не сложно указывать p vs. np в доказательстве. Можно использовать машины Turgines, но, вероятно, было бы легче моделировать простой выпускной язык программирования Turing, используя индуктивные семейства для моделирования маленькой шаговой семантики и определяют время выполнения, поскольку количество шагов требуется программа. Вы можете определить $ p $ , поскольку языки, принимаемые программами, остановив в полиноме количества шагов, и $ np $ Как языки, которые могут быть проверены в полиномиальных сертификатах с помощью полиномиальной длины.
- 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/ и
Для большего количества фона, см. 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 и
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:
- Until a proof is found it can't be done anyway
- You have to know the proof like the back of your hand to convert it into machine-verifiable form.
- ... 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?