Физики доказали, что Вселенная не может быть компьютерной симуляцией? Что здесь не так

naked-science.ru Великий Давид Гильберт предложил радикальный подход. Идея состояла в том, чтобы следить за соблюдением правил в математических рассуждениях было так же легко, как в шахматной партии. Есть список правил, какая фигура как ходит. Любой желающий легко проверит, сделан ход по правилам или нет. Четыре шага к предельной ясности Расскажем, как это работает. Первый шаг — записать алфавит теории, то есть перечислить символы, которыми можно пользоваться.  Обычно это латинские буквы, цифры, скобки, логические знаки и так далее. Шаг второй — определить, какие наборы символов будут утверждениями. Например, утверждением является строка «Ɐ n n > 2 => n > 1». Ее смысл: любое число n, которое больше двух, больше и единицы (логический символ Ɐ означает «любое»). А вот строка, скажем, «(((((89==» никаким утверждением не является, это просто бессмысленный набор символов. К счастью, довольно легко сформулировать правила, отличающие осмысленные сочетания знаков от бессмысленных. Эти правила столь же конкретны и однозначны, как указания, как ходит ферзь, а как конь. Например, скобки используются парами, два знака = не могут идти подряд, и так далее. Первые два шага, которые мы сделали, называются «определить язык теории». Языки бывают разные. Например, пусть в нашем языке есть знак умножения, но нет знака возведения в степень. Тогда утверждение «для любого целого числа n верно n 2 × n = n 3» придется записывать как «Ɐ n n × n × n = n × n × n». Это неудобно и затемняет смысл, но все-таки возможно. А вот как записать на столь бедном языке утверждение «для любых целых чисел a, n, m верно a n × a m = a n+m»? Никак. Язык, в котором нет возведения в степень, просто не способен выразить эту мысль. Мы ведь не можем поставить значок умножения n раз, если речь идет о всех возможных n сразу. Таким образом, от языка теории зависит, какие утверждения на нем можно записать, а какие нет. Есть более выразительные и менее выразительные языки. Запомним этот очень важный факт, он нам понадобится. Определившись с языком, мы делаем третий шаг: выбираем, какие утверждения языка будут аксиомами нашей теории. И, наконец, четвертый и последний шаг: определяем, какие цепочки утверждений мы согласны считать доказательствами. Конечно, мы не составляем список всех доказательств — их бесконечно много. Нужно только сформулировать правила, которым должна удовлетворять цепочка утверждений, ведущая от аксиом к утверждению X, чтобы считаться доказательством утверждения X. Разумеется, в основе этих правил — общепризнанные законы логики. Механический математик Объясним, зачем нужны все эти мучения. Добровольно ограничив свои возможности предельно конкретными, механическими правилами, мы не оставили места никаким софизмам, двусмысленностям и противоречиям. Формальное доказательство может проверить даже тот, кто не знает математики, а всего лишь сверяется со списком правил. Не обязательно хорошо играть в шахматы, чтобы сказать, пошел ли конь буквой Г. Сейчас этот подход известен как формализация, или построение формальной теории. Его используют для компьютерной проверки математических доказательств. Кстати, о компьютерах. Формальная теория дает нам, казалось бы, безотказный способ доказательства теорем. Как доказать, скажем, теорему Ферма? Первый шаг — записать ее на языке формальной теории. Потом можно просто перебирать все возможные цепочки утверждений в алфавитном порядке. Рано или поздно одна из них окажется доказательством теоремы Ферма. А если бы теорема Ферма была ошибочна, рано или поздно мы наткнулись бы на доказательство противоположного ей утверждения. Курт Гедель / Фото с сайта www.flickr.com Насколько рано и насколько поздно для лучших современных суперкомпьютеров? Ну, скажем, Солнце наверняка успеет погаснуть. Возможность найти доказательство прямым перебором — чисто теоретическая. Но важно, что для любой доказуемой теоремы в принципе существует алгоритм, который находит ее доказательство. Гедель делает больно Стоп. Что значит «рано или поздно одна из цепочек окажется доказательством теоремы Ферма»? Мы ведь не сказали, какие аксиомы мы используем. Построим игрушечную теорию с языком, на котором можно записать теорему Ферма, но единственной аксиомой: «Ɐ n n = n» (она утверждает, что любое число равно самому себе). Из такой, с позволения сказать, аксиоматики не выведешь даже таблицу умножения, не то что теорему Ферма. Что же случится с алгоритмом, тупо перебирающим бесконечное множество цепочек, составленных из утверждений нашей теории, в поисках доказательства или опровержения теоремы Ферма? Он будет выполняться вечно и никогда не придет к результату, то есть, как говорят программисты, зациклится. Нетрудно догадаться — но можно и строго обосновать, — что вообще никакой алгоритм, ограниченный правилами нашей игрушечной теории, не сможет доказать теорему Ферма. Потому что невозможно найти кошку там, где ее нет. Эта задача попросту неразрешима в нашей теории. Зачем мы придумали такую дурацкую теорию — с единственной и бесполезной аксиомой? Чтобы проиллюстрировать неприятную истину, известную как теорема Геделя о неполноте. Она гласит: в любой формальной теории, язык которой достаточно выразителен, найдутся недоказуемые и неопровержимые утверждения. Их можно записать на языке теории, но нельзя ни доказать, ни опровергнуть исходя из ее аксиом и по ее правилам доказательств. Причем неважно, что это за аксиомы и правила. Главное, чтобы они не противоречили друг другу. Но, может быть, лишь самым сложным областям высшей математики требуются столь выразительные языки? К сожалению, нет. Уже язык арифметики — науки об операциях над целыми числами — слишком выразителен. Можно искусственно обеднить этот язык, но тогда мы не сможем выразить на нем многие важные математические факты (вспомните пример со степенью). Что же это за таинственные утверждения, недоказуемые и неопровержимые в арифметике? Для начала следует определиться, о какой из ее формализаций мы говорим. Есть разные варианты формальной арифметики, но чаще других используется арифметика Пеано. Для нее самый известный пример — теорема Гудстейна. Рубен Гудстейн доказал эту теорему в 1944 году. Десятилетия спустя математики убедились, что эту теорему нельзя ни доказать, ни опровергнуть в арифметике Пеано, хотя и можно сформулировать на ее языке. (В формулировке теоремы Гудстейна нет ничего сложнее возведения в степень, но она довольно длинная. Поэтому мы не будем ее приводить, отослав читателя хотя бы к википедии ). Каким образом Гудстейн доказал теорему, если это, казалось бы, невозможно? Ответ прост: математик не ограничивался методами, разрешенными в арифметике Пеано. Он вообще работал не в формальной теории, а, как все нормальные люди, рассуждал на естественном языке (в его случае — английском). Source: https://naked-science.ru/article/nakedscience/vselennaya-ne-mozhet-byt