Это наивный вопрос, из моего опыта; заранее извиняюсь.
Гипотеза Гольдбаха и многие другие нерешенные вопросы математики могут быть записаны в виде кратких формул в исчислении предикатов. Например, статья Кука "Могут ли компьютеры регулярно находить математические доказательства?" формулирует эту гипотезу как
Если мы ограничим внимание полиномиально длинными доказательствами, то теоремы с такими доказательствами находятся в NP. Поэтому, если P = NP, мы могли бы определить, является ли, например, гипотеза Гольдбаха истинной в полиномиальное время.
Мой вопрос таков: сможем ли мы показать доказательство за полиномиальное время?
Редактировать . Согласно комментариям Питера Шора и Каве, я должен был квалифицировать свое утверждение, что мы могли бы определить, верна ли гипотеза Гольдбаха, если это действительно одна из теорем с коротким доказательством. Что, конечно, мы не знаем!
Ответы:
Верно!
Если P = NP, мы не только можем решить, существует ли доказательство длины n для гипотезы Гольдбаха (или любого другого математического утверждения), но мы также можем найти его эффективно!
Зачем? Потому что мы можем спросить: есть ли доказательство, обусловленное первым битным существом ..., тогда, есть ли доказательство, обусловленное первым двоичным существом ..., и так далее ...
А как ты узнал? Вы просто попробуете все возможности в порядке возрастания. Когда мы делаем шаг в i-й возможности, мы также пытаемся сделать шаг в каждой из возможностей 1 .. (i-1).
источник
Дана ответила на вопрос. Но вот некоторые комментарии с практической стороны.
Обратите внимание, что неразрешимо проверить, доказуемо ли данное предложение в ZFC. не имеет для этого никакого значения. P = N P (фактически P = c o N P ) означает, что легко найти доказательства для высказывательных тавтологий , а не предложений первого порядка, таких как GC.P=NP P=NP P=coNP
Это чтобы проверить, есть ли доказательство данного предложения данной длины l (в унарном виде) в фиксированной теории (например, ZFC). Так что, если P = N P , то есть алгоритм polytime, чтобы проверить это. Принятие l как некоторого фиксированного многочлена в длине предложения приведет к алгоритму polytime.NP l P=NP l
Практически (это упоминается Годелем в его знаменитом письме фон Нейману): если , то существует алгоритм с полиномиальным временем, который дает предложение первого порядка и l (в унарном), алгоритм может найти, если предложение имеет размер L доказательство в ZFC. Идея Годеля заключалась в том, что в этом случае, если эквивалентность P = N P действительно выполнима (т. Е. Алгоритм - это не просто P, а, скажем, D T i m e ( n 2 )P=NP l l P=NP P DTime(n2) ), тогда можно взять этот алгоритм и запустить его, чтобы проверить доказательства возможной, но очень большой длины, которая будет больше, чем любое доказательство, которое когда-либо сможет придумать любой человек, и если алгоритм не находит ответа, то Приговор практически невозможно доказать. Уловка, о которой упоминала Дана, также сработает, чтобы найти доказательство.
Для практических средств:
оно найдет доказательство только в том случае, если оно есть (то есть предложение не является неразрешимым предложением в ZFC), более того, доказательство должно быть практически коротким.
источник