All streams
Search
Write a publication
Pull to refresh
5
0
Send message
Почему?

На вход поданы два аргумента — код программы и строка, на которой нужно предсказать остановку.
Какой из входных параметров некорректен?
В каких случаях он выбрасывал бы исключение?
Если на вход подано что?
На языке «проблемы остановки» утверждение должно звучать так: не существует алгоритма, который берет другой алгоритм (то есть преобразователь из строки в строку) и определяет остановится этот алгоритм на себе самом или нет.

Если бы такой алгоритм существовал, то можно было бы построить диагональную функцию: она на входе f смотрит на то, останавливается ли f(f), если не останавливается — возвращает 0, если останавливается — возвращает f(f) + 1.
Чуть подробнее вот тут: habr.com/en/post/512518/#comment_21901770
Так утечки во внутреннюю капсулу не было (в 7:25:20 астронавтов попросили замерить, нулевые результаты они сообщили в 7:27:05).
Дайте я начну с конца.

Там же формальная грамматика, она, в некотором смысле, даже проще чисел.


Эм, нет, любая теория, в которой можно выразить Х, как минимум не слабее Х.


Любая теория, в которой можно доказать Х, не слабее Х.
Но сформулировать, конечно, можно в более слабой.
Например, после того как мы вложили логику первого порядка в числа, можно сформулировать утверждение «2 + 2 = 5» (которое очень сильное).

Вся наша метатеория — она про то, «что такое доказательство» (с синтаксической точки зрения). Строки и числа можно сопоставить не изучая вопроса «какая аксиоматика поверх чисел».

Единственное тонкое место здесь — когда мы говорим, что «если теория непротиворечива, то нельзя получить доказательств ложных утверждений в этой теории». Но это утверждение — оно про корректность наших правил вывода, они опять не зависят от кодирования. Да, если мы в метатеорию добавим некорректное правило вывода — все сломается.
Так снаружи она тоже безопасная — все уже смыло и унесло ветром.
Они продували область между внешней обшивкой и капсулой (у них там же служебный отсек). И вот в этой области и было повышенное содержание одного и компонентов топлива.
Так риск не для космонавтов (у них во внутренней капсуле ничего превышено и не было), а для тех, кто им помогать выйти будет.
От увеличения аксиоматики (добавлении аксиомы о непротиворечивости) множество выводимых утверждений же только растет, разве нет?

Что вкладывается в «корректность» отношения?
Там же формальная грамматика, она, в некотором смысле, даже проще чисел.
Есть вторая теорема Геделя: в системе нельзя доказать ее непротиворечивость (это достаточно короткая формула, которую можно явно выписать).
Так основной результат заключается в том, что доказуемость утверждения можно сформулировать в терминах самой арифметики, не выходя за ее примеры.

Один из частный случаев теоремы Геделя: есть диафантово уравнение (т.е. просто многочлен с целыми коэффициентами, даже не очень большой, можно явно написать все, кроме одной константы.), у которого нету корней (если арифметика Пеано непротиворечива), но доказать это (в рамках арифметики Пеано) невозможно.
Мы же в интернете. Все утверждения — это просто числа (соответствующие utf8-строкам). В каком месте тут софистика?

Если мы запрещаем (без дополнительной проверки) синтаксический вывод — нужно границы явно провести, где синтаксически еще можно, а где уже нельзя.
И если мы добавляем семантическую проверку, то смысл синтаксического вывода во многом теряется — если есть семантическая проверка, то и истинность можно уж заодно проверить.
Мы же где-то чуть раньше обсуждали, что любое утверждение об утверждениях является потенциально самореферентным.

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

Но тогда нужно запретить и утверждения про числа, например, — мы можем заменить утверждение его utf8 записью, которая является числом.
Тогда у нас неправильный синтаксис, и его нужно ослаблять. Например, пойти по пути конструктивизма или, даже, исключения правила исключенного третьего.

Если нет корректности (т.е. синтаксически из верного утверждения можно сделать бессмысленное или неверное, делая только синтаксически-эквивалентные замены), то непонятно как вообще про какие-то доказательства можно говорить вообще.
Может неожиданно выясниться, что нет принципа математической индукции.

Умножение на любое конкретное число в арифметики Пресбургера есть, нет умножения как операции двух аргументов.
«саморефлексивные утверждение некорректны» само по себе является корректным?

Вполне, оно же говорит про некорректные утверждения, что не мешает ему быть корректным.

А тут уже получаем самореферентность: «Корректные утверждения не саморефлективны.»

Тогда у нас есть беда: эти два утверждения эквивалентны (просто потому что «Все А есть не Б» и «Все Б есть не А» — это синтаксически одно и то же).
Мы же не пытаемся сделать какой-то вывод.
Мы же пока просто пытаемся понять является ли оно корректным, а не вывести из этого что-то.

Еще раз: Как выглядит ограничение на корректные утверждения?

Еще одна точка — «саморефлексивные утверждение некорректны» само по себе является корректным?
Не совсем согласен. Стандартная интерпретация натуральных чисел — это все-таки что-то достаточно понятное (и существующее, если ZFC непротиворечиво).
Хороший пример — это уравнения Матиясевича. Есть конкретное диафантово уравнение, у которого нету корней, но в стандартной арифметике Пеано этого доказать нельзя.
А почему собственно?
Если оно некорректно, то оно не является саморефлексевным (потому что утверждает что-то про множество корректных утверждений, в которое не входит).
А значит мы должны считать его корректным.
Вроде, у нас было два ограничения на корректность: «быть не саморефлексевным и касаться только корректных утверждений». Что я упускаю?
Добавление еще одной сущности только усложняет рассуждения, а не упрощает.

Например, является ли корректным утверждение «среди корректных утверждений есть истинное»?
Я, вроде, нигде не пользовался явной формой анализатора.
Мне всего лишь было важно алгоритмически определить останавливается A(A) или нет.
Для Вашего анализатора алгоритм для f будет выглядеть вот так:
f(A):
Если Анализатор(А,А) = 1 { вернуть 1 }
Иначе { вернуть А(А) + 1 }

Information

Rating
Does not participate
Registered
Activity