January 30th, 2021

Краткая форма опровержения доказательств Кантора

Если не вдаваться в детали, для доказательства того, что вещественные числа нельзя занумеровать натуральными, Кантор для любого произвольного предполагаемого способа нумерации вещественных чисел даёт алгоритм построения некоторого «числа», которого не может быть среди занумерованных.

Построение этого «числа» — ключевой момент доказательства, поскольку именно при помощи рассуждений об этом числе, вроде бы построенном на базе предположения о возможности занумеровать все вещественные числа, опровергается это самое предположение и делается вывод, что верно обратное — то есть занумеровать вещественные числа невозможно.

Само по себе сие содержит логический изъян, поскольку для полноты доказательство недостаточно продемонстрировать, что некоторое предположение приводит к противоречию — кроме того, надо ещё доказать, что к противоречию не приводит отрицание этого предположения. Что совершенно не обязательно.

И сейчас будет как раз тот самый случай, когда отрицание предположения тоже приводит к противоречию.

Предположим, что доказательство Кантора верно и, таким образом, вещественные числа невозможно занумеровать.

Любой конечный текст любого конечного алфавита может быть сохранён в виде последовательности битов, то есть, по сути, любой такой текст всегда является натуральным числом в любой выбранной нами системе кодирования.

Collapse )

Контр-Канторовский процесс

Предположим, что возможно написание функции, которая генерирует «Канторовское число» на базе любого списка — как конечного, так и бесконечного.

Смысл генерации такого числа — исключить нахождение оного в каждой строке предоставленного списка.

При этом вариантов больше одного.

Несмотря на то, что в варианте Кантора у каждого числа цифра после десятичной точки, соответствующая порядковому номеру этого числа в списке, менялась на какую-то другую, можно менять, например, цифру, соответствующую порядковому номеру, умноженному на два.

Выберем какую-то одну из них — например, «классическую», и назовём её kantor1(list).

Collapse )