Ерунду Вы пишете. Во-первых, ни откуда не следует, что эта последовательность содержит все высказывания.
Ага, понял, в каждой строке все высказывания, а по диагонали только подмножество всех высказываний. Конечно, ни откуда не следует, что это подмножество равно множеству всех высказываний, но и обратное, тоже, ниоткуда не следует. Мы просто этого не знаем.
Во-вторых, даже если это и так, ниоткуда не следует, что найдётся алгоритм, перечисляющий высказывания именно в таком порядке.
Странное утверждение, указанный "диагональный" алгоритм, по определению, перечисляет именно эти высказывания и именно в этом порядке.
Тем более, что существует континуум последовательностей, перечисляющих все высказывания, и только счётное множество алгоритмов.
Вот-вот, в этом то и вопрос, а Вы говорите об этом так, как будто это уже давно решено. Это решено на уровне: ни откуда не следует, что диагональная последовательность
содержит все высказывания, хотя и обратное тоже ниоткуда не следует. Мы просто этого не знаем.
Вы говорите: "последовательностей больше, чем алгоритмов". Но при этом, ни одной "неалгоритмической" последовательности предъявить не можете...Можете, разве что, предъявить последовательности, которые являются их "бирками", указывающими на их существование, но не сами последовательности (или алгоритм их построения). Это тоже самое, как в моем примере, когда за разными числами
, могут скрываться одни и те же утверждения арифметики.
Нет, алгоритмы не являются утверждениями…
А тексты алгоритмов являются утверждениями ?
… и нам будет неудобно, если мы не сможем отличать запись алгоритма от высказывания.
Почему ?
Например, пока мы накладываем ограничение: код и данные нельзя смешивать, то действуют такие-то правила, теоремы, ограничения. Если же они перемешаны и не различимы (управление передается на данные, которые становятся кодом), то указанные ограничения не действуют. Точно также и здесь, пока мы желаем различать алгоритмы от высказываний, эти ограничения есть, как только откажемся, снимутся и ограничения.
Поэтому кодирование алгоритмов должно быть таким, чтобы мы могли распознавать коды алгоритмов и отличать их от других слов на синтаксическом уровне.
А можно ли это сделать, для произвольного текста ? Конечно, я имею в виду язык программирования, на котором можно написать все высказывания арифметики.
Цитата:
Существует "универсальный алгоритм", который, получив на входе запись какого-нибудь алгоритма и входные данные для него, воспроизводит действия этого алгоритма.
Универсальный алгоритм, является одной из причин разногласий в вопросе о существовании неалгоритмических последовательностей.
Если по выдаваемой последовательности невозможно установить, какой алгоритм ее выдает, подлинный или виртуальный, то и упорядочить универсальные алгоритмы, по выписываемым ими последовательностям нельзя. Нельзя по данной последовательности определить, какой из универсальных алгоритмов ее исполняет. Соответственно, нельзя определить, есть ли алгоритм, выписывающий "диагональную" последовательность в одной из строк таблицы.
Кроме того, любая, явно представленная последовательность алгоритмическая. Как и последовательность высказываний, утверждающих существование некой неалгоритмической последовательности, сама вполне алгоритмическая, и может использоваться, как "бирка" (для "пустоты").
Если же не гнаться за перечислением непременно всех высказываний, то подобным рассуждением можно показать, что не существует алгоритма, перечисляющего все алгоритмы "для перечисления бесконечных последовательностей высказываний".
Покажете ?
Наверно, таких "несуществующих" алгоритмов континуум.