Светлый фон

Конструктивная математика, кроме распознавания неосуществимости (невычислимости) объектов, интересна еще тем, что разрешает оперировать лишь со счетным множеством объектов (поскольку счетно множество всех конечных текстов), но достаточна для полного описания областей математики, в которых количество объектов традиционно считается несчетным. Например, конструктивное действительное число задается парой алгоритмов и потому их количество счетно. Несчетности классических действительных чисел в конструктивной математике соответствует «неперечислимость» конструктивных действительных чисел — невозможность построения алгоритма, который по параметру N будет выдавать какое-то действительное число и когда-нибудь, при каком-то N, выдаст каждое действительное число. Это невозможно, даже если разрешить выдавать действительные числа с повторами. Помните классическое «диагональное» доказательство несчетности действительных чисел? «Предположим, что счетно и выпишем их десятичные представления одно под другим». Так вот счетность одно, а для «выписывания» требуется больше чем счетность, требуется перечислимость, должен быть алгоритм перечисления, кого на первое место поставить, кого на второе и т.д. Так что классическое доказательство несчетности не проходит из-за отсутствия алгоритма перечисления действительных чисел. Жить с конструктивной математикой, конечно, сложнее, чем с классической, но теорема Левенгейма—Скулема о том, что всякая непротиворечивая теория имеет счетную модель, позволяет надеяться на полноту конструктивного подхода.

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