Под "бесконечной последовательности" пусть для конкретности понимаем детерминированную двоичную последовательность типа 101101000...... у которой каждому натурального n (номеру "разряда"), сопоставлена вполне определенная цифра 0 или 1; для краткости далее буду обозначать такие последовательности как
.
Допустим где-то встречается фраза "построим бесконечную последовательность
..."
Такое "построение", в принципе можно понимать как:
a) мы бесконечно выписываем соответные цифры (этот процесс никогда не закончится, не задумываемся конечные или бесконечные ресурсы при этом нам понадобятся; можно считать что разряды нам выдает оракул и т.д.)
б) можно попытаться обойтись финитным описанием данной бесконечности (типа "для каждого", "существует" и т.д. наподобие известного доказательства бесконечности простых чисел "не используя слова бесконечность" - где мы доказывем, что "для любого конечного n, найдется простое p>n"; или как Коши определил пределы/бесконечно малые не используя бесконечности а только "для любого", "найдется" и т.д.)
Пример "построения
не используя бесконечность":
Буду говорить что "последовательность
построена(построима)" если задан(существует) финитный (разумеется детерминированный) алгоритм
, который по заданному на входе любого конечного натурального числа n, за конечное время выдает либо 0 либо 1; этот выход мы трактуем как n-ую цифру
данной бесконечной последовательности:
В этом смысле, хотя мы и не можем выписать "всю
целиком" конечным способом, она "финитно задана" постольку, поскольку располагая конечным алгоритмом, за конечное время мы однозначно можем вычислить любой ее разряд n, чем она и однозначно определяется.
Думаю, это совпадает с тем что вроде называют "конструктивными" последовательностями; как бы оно не было; любое финитное описание
(например возможность с любыми, но конечными ресурсами выдать любой желаемый n-тый разряд последовательности; или что-то что ее однозначно определяет) в этом смысле было бы "удовлетворительным".
С другой стороны как известно, множество конечных алгоритмов счетно; в то же время как множество последовательностей
имеет мощность континуума.
Т.е. как бы "заведомо существуют", "непостроимые" последовательности
, т.е. такие которые нельзя описать финитным способом (по меньшей мере, конечным алгоритмичеспособом указанном выше).
Теперь собственно вопрос...
Допустим в доказательстве, используется "построение последовательности
"; при этом
"непостроима" (либо не доказано, что "построима") - т.е. возможно
на которой опирается доказательство, принадлежит множеству "неконструктивных" последовательностей.
Тогда можно ли считать, что такое доказательство приемлемо, и в каком смысле?
Ведь доказательства должны быть конечными, опираться на конечными построениями, рассуждениями, объектами и т.д. разве нет?
А построение такого объекта (которое существенно для доказательства) возможно требует бесконечных ресурсов - хотя оно и "декларируется", то нельзя его предъявить ни явно, ни в неявном (но конечном) смысле описанном выше.
П.П. Все из-за того, что уже два дня меня мучит вопрос про теореме Кантора - в смысле можно ли ее формулировать в финитном смысле (через "конечных алгоритмов", "для любого заданного натурального n" и т.д., без допущения "наперед заданных бесконечных списков", и последующего "построения бесконечного опровергаюшего примера" и т.д).
Возможно ли вообще это? Или в "конструктивных терминов", про теореме Кантора (и мощности континуума) вообще бессмысленно говорить в принципе?
И что произойдет, если мы попытаемся провернуть аналогичные рассуждения, в "конструктивных" (финитных) рамках, наподобие описанных выше?
(Вот до чего я пока дошел:)
Допустим, у нас "задан счетный список соответствия", где каждому натуральному числу сопоставлена "построимая последовательность
"; в указанном выше смысле, это на самом деле означает что каждому натуральному n мы сопоставили "свой" алгоритм
который определен над любым входом k (т.е. за конечное время мы можем получить результат
для любых натуральных
).
Тогда нетрудно аналогичным способом получить "противоречие", показывая что всегда можно сконструировать новый алгоритм
который определяет новую построимую последовательность
, которая в данном счетном списке не встречается.
На самом деле однако, из этого разумеется отнюдь не следует, что "построимые последовательности
" несчетны.
Проблема тут в самом оригинальном списке - его невозможно построить "детерминированным образом" - чтобы из номера n, мы однозначно (конечным алгоритмическим образом) могли бы вытащить соответствующий ему алгоритм
(чтобы далее емулировать его над соответным входом k, чтобы получить соответный k-тый разряд и инвертировать и т.д. и тому подобное).
Здесь из получения "противоречия" (возможности всегда предъявить "алгоритм
для построимой последовательности
" не в списке) следует только то, что такого списка соответствий
нельзя "построить" (конструктивно).
Это видно еще из следующего рассуждения:
Упорядочим все возможные алгоритмы лексикографски. Тогда любому натуральному числу n сопоставлен какой-нибудь алгоритм
, и это "исчерпывает" любые алгоритмы, т.е .нет алгоритма которому не было бы сопоставленно какое нибудь n.
Разумеется измежду
встречаются "дурные алгоритмы" типа неостанавливающиеся хотя бы над каким-то входом, дублирующиеся по функциональности и т.д. вообще "не всегда вычисляющие последовательности
" требуемым образом.
Тем не менее, все "хорошие" алгоритмы
генерирующие "построимые последовательности
" тоже имеют номера, откуда заведомо следует что "построимые последовательности" не более чем счетны (как подмножество счетного множества).
Теперь четко видно, что проблема "построения противоречия" т.е. алгоритма
для последовательности
не имеющего номера генерящего ее алгоритма где-то в списке, сводится к проблеме останова (и тому, что нельзя алгоритмически узнать какие из алгоритмов в списке "дурные", и какие генерят построимые последовательности
).
Итак, теперь у меня по аналогию, закрались сомнения:
В оригинальной формулировке теореме Кантора где строится последовательность не принадлежащей данному бесконечному счетному списку, разве не может быть подобная ситуация?
Т.е. чтобы построение такой "последовательности не из списка", означало бы НЕ несчетность всех бесконечных последовательностей, а просто невозможность "детерминированно-конструктивно" упорядочить их в список (таким образом, чтобы алгоритмически по номеру n мы смогли получить n-тую цифру соответной n-той последовательности).
А "на самом деле", какой-то "неконструктивный" список где каждому натуральному n (или даже только некоторым из n) соответствует бесконечная последовательность, и он "исчерпателен" (любая бесконечная последовательность есть в этом списке) - возможно "существует", хотя и "не построим конструктивно"?
Тоесть теперь мне "кажется", что из оригинального построения Кантора, следует разве что:
а) либо бесконечные последовательности несчетны
б) либо бесконечные последовательности "все-таки счетны", но просто не существует метода их упорядочить в список таким образом, чтобы мы по заданному номеру n в списке могли бы "систематически-алгоритмически-детерминированно за конечное время" вытащить n-тый разряд n-той последовательности.
Когда кажется нужно "крестится" а мне что-то не хочется, есть ли тут ошибка, и где она?