Конструктивная математика
Конструкти́вная матема́тика (конструктивное направление в математике), математика, строящаяся в соответствии с тем или иным конструктивным математическим мировоззрением, обыкновенно стремящимся связывать утверждения о существовании математических объектов с возможностью их построения и отвергающим в силу этого ряд установок традиционной теоретико-множественной математики, приводящих к появлению чистых теорем существования (в частности, абстракцию актуальной бесконечности и универсальный характер закона исключённого третьего). Конструктивная тенденция в математике проявлялась в той или иной форме на протяжении всей её истории, хотя, по-видимому, только К. Ф. Гаусс впервые отчетливо выразил принципиальное для конструктивной математики различие становящейся (потенциальной) и актуальной математической бесконечности и возразил против употребления последней. Дальнейшие критические шаги в этом направлении были сделаны Л. Кронекером, А. Пуанкаре и особенно Л. Брауэром. В критике Л. Брауэра, совпавшей по времени с кризисом оснований математики конца 19 – начала 20 вв., энергично отвергалась как вера в экзистенциальный характер бесконечных множеств, так и убеждение в допустимости неограниченной экстраполяции классических логических принципов, в особенности закона исключённого третьего. В качестве альтернативы теоретико-множественному подходу Л. Брауэр, а затем и его последователи разработали оригинальную программу построения математики, известную ныне под названием интуиционизм. Интуиционистскую математику Л. Брауэра можно считать первой систематической попыткой построения математики на конструктивной основе. Параллельно успехам интуиционистов в созданной Д. Гильбертом с целью обоснования теоретико-множественной математики теории доказательств был чётко выявлен ряд первоначальных понятий, послуживший впоследствии отправной точкой отличных от интуиционизма конструктивных течений. Значительная часть соответствующих работ (при этом обнаружился достаточно широкий спектр толкования различными исследователями терминов «конструктивный», «эффективный» и прочих) опиралась на успехи, достигнутые (опять-таки под влиянием идей Д. Гильберта) в изучении математического понятия алгоритма. Один из наиболее последовательных и законченных подходов к построению конструктивной математики на этой основе представлен основанной А. А. Марковым советской школой конструктивной математики, формирование основных понятий которой относится к 1950-м гг. Сам термин «конструктивная математика» (конструктивное направление в математике) часто употребляется в узком смысле слова для именования математики, строящейся советским конструктивным направлением; ниже этот термин будет использоваться именно в указанном только что смысле.
Конструктивная математика может быть коротко охарактеризована следующими основными чертами:
(1) предметом изучения являются конструктивные процессы и возникающие в результате их выполнения конструктивные объекты;
(2) рассмотрение конструктивных процессов и объектов производятся в рамках абстракции потенциальной осуществимости с полным исключением идеи актуальной бесконечности;
(3) интуитивное понятие эффективности связывается с точным понятием алгоритма;
(4) используется специальная, учитывающая специфику конструктивных процессов и объектов конструктивная логика.
Понятия конструктивного процесса и конструктивного объекта являются первоначальными; представления о них имеют своим источником практическую материальную деятельность человека. Примерами конструктивных процессов могут служить сборка часов на конвейере, полная или частичная разборка их в ремонтной мастерской, набор текстов (с корректурами) в типографии, формирование и расформирование железнодорожных составов и прочее. Характерной чертой конструктивных процессов является протекающее по отдельным шагам оперирование в рамках некоторых чётко указанных правил с элементарными, заведомо отличимыми друг от друга объектами, считающимися неразложимыми в ходе этих процессов. Возникающие в результате фигуры, составленные из исходных элементарных объектов, и считаются конструктивными объектами. Конструктивная математика не имеет необходимости углубляться в общее понятие конструктивного процесса и объекта, поскольку для ее нужд оказывается вполне достаточным один специальный вид конструктивных объектов – слова в том или ином алфавите.
Рассмотрение слов (это понятие также представляется первоначальным) происходит на следующей основе.
Вначале фиксируется некоторый алфавит, т. е. список неразложимых, уверенно отличимых друг от друга элементарных знаков (букв). Каждая буква алфавита может копироваться; возникающие в результате последовательных актов такого копирования прямолинейные цепочки знаков считаются словами в исходном алфавите. К словам в данном алфавите удобно отнести также и пустое слово, т. е. цепочку, не содержащую ни одного знака. Например, цепочки
(5) «авввссд» и
(6) «книга»
являются словами в русском алфавите. При обращении со словами конструктивная математика – и в этом проявляется её абстрактный характер – использует абстракции отождествления и потенциальной осуществимости. Первая из них позволяет, отвлекаясь от различий копий и оригинала, говорить о разных копиях данной буквы и о ней самой как об одной букве. Например, говорят, что в слово (5) три раза входит буква «в» русского алфавита, тогда как в действительности при написании данного слова воспроизводились три различных конкретных копии исходной буквы. Это соглашение естественным образом распространяется на одинаковые по написанию (графически равные) слова. Например, о двух конкретных словах: слове «книга» и слове (6) говорят как об одном слове. В допущении абстракции отождествления проявляется предполагаемая конструктивной математикой первоначальная способность человека к «чтению» слов, т. е. к многократному и устойчивому опознанию знаковых цепочек как одинаковых или различных. На это обстоятельство как минимальную предпосылку любой научной деятельности указывал Д. Гильберт. Абстракция потенциальной осуществимости позволяет пренебрегать в рассуждениях о написании слов реальными ограничениями в пространстве, времени и материале. Таким образом, о воображаемых очень длинных словах начинают рассуждать как о реально существующих, в частности считается возможным к любому данному слову приписать справа (или слева) любое другое слово. Отсюда вытекает и возможность рассмотрения сколь угодно больших натуральных чисел, а также сложения любых двух натуральных чисел, поскольку натуральными числами можно, например, считать слова вида , , и т. д. в алфавите . Вместе с тем абстракция потенциальной осуществимости не позволяет рассматривать как своего рода завершённые объекты «бесконечные» слова и совокупность «всех» слов в данном алфавите (в частности, не рассматривается как завершённый объект и натуральный ряд). Такого рода рассмотрения требуют привлечения более сильной абстракции – абстракции актуальной бесконечности, которая отвергается конструктивной математикой.
Принятие абстракции потенциальной осуществимости приводит к тому, что наряду с элементарными, целиком обозримыми конструктивными процессами (например, написанием коротких слов) рассматриваются воображаемые, не подлежащие реальному воспроизведению конструктивные процессы. Такие процессы задаются своими предписаниями; сами эти предписания, по существу, и становятся предметом исследования. Задающее конструктивный процесс предписание (для простоты речь идет о процессах, оперирующих со словами) должно быть общепонятным и совершенно однозначно определять шаг за шагом последовательное построение слов, причем шаги должны быть элементарными, т. е. не предполагать ничего, кроме умения читать, писать (и стирать) слова. Шаги эти, таким образом, сводятся к написанию и графическому сравнению некоторых слов, а также к замене вхождений одних слов в другие третьими словами. Окончание процесса определяется самим предписанием и может зависеть от результатов, полученных на шагах, предшествующих заключительному, причем принятие решения о заключительном характере данного шага также должно носить описанный только что элементарный характер. Возможна ситуация, когда никакой шаг не оказывается заключительным, т. е. после каждого совершённого шага данное предписание требует совершить следующий шаг. Такому предписанию не соответствует никакой потенциально выполнимый конструктивный процесс, однако здесь оказывается удобной условная терминология, согласно которой соответствующее предписание определяет неограниченно продолжаемый (потенциально бесконечный) процесс. Для оправдания этой терминологии можно было бы также расширить исходные представления о конструктивных процессах, рассматривая наряду с потенциально реализуемыми процессами более абстрактные образования – процессы, отождествляемые с их предписаниями. В связи с появлением неограниченно продолжаемых конструктивных процессов возникает вопрос о средствах, при помощи которых можно убедиться в обрываемости задаваемого данным предписанием конструктивного процесса. Конструктивная математика принимает здесь важный принцип, называемый принципом конструктивного подбора и позволяющий устанавливать такие факты методом от противного, т. е. приводя к нелепости предположение о неограниченной продолжаемости соответствующего конструктивного процесса. Примеры предписаний:
(7) написать;
(8) к произвольному слову в алфавите приписать справа ;
(9) пункт 1: написать и перейти к пункту 2; пункт 2: стереть (т. е. заменить эту букву пустым словом) и перейти к пункту 1;
(10) пункт 1: к произвольному слову в алфавите приписать справа и перейти к пункту 2; пункт 2: если обрабатываемое в данный момент слово совпадает с , то закончить процесс, в противном случае вернуться к пункту 1;
(11) пункт 1: написать 0 и перейти к пункту 2; пункт 2: к обрабатываемому в данный момент слову приписать справа и перейти к пункту 3; пункт 3: если получилось совершенное натуральное число, то закончить процесс, в противном случае приписать к обрабатываемому в данный момент слову справа и перейти к пункту 2.
Предписание (7) задает конструктивный процесс, оканчивающийся за один шаг написанием однобуквенного слова . Процесс выполнения (9) неограниченно продолжаем. В настоящее время (к 2023) неизвестно, заканчивается ли конструктивный процесс, задаваемый (11) [в (11) для краткости использовались понятия теории чисел; ясно, что возможно более длинное предписание этого рода, опирающееся исключительно на возможности чтения, написания и сравнения слов в алфавите ]. Несколько особый характер имеют предписания (8) и (10): их выполнение может начинаться с любого слова в указанном алфавите, при этом конструктивный процесс, определяемый (8), всегда заканчивается, в то время как в случае предписания (10) он неограниченно продолжаем при некоторых исходных словах. Предписания указанных типов принято называть алгоритмами (в данном контексте речь идет об алгоритмах, оперирующих со словами).
К необходимости рассмотрения алгоритмов приводит конструктивная трактовка экзистенциальных утверждений. Утверждение о существовании конструктивного объекта с данным свойством, т. е. утверждение вида
(12) ,
в соответствии с представлениями о конструктивных объектах как результатах конструктивных процессов считается в конструктивной математике установленным только в том случае, когда указан потенциально выполнимый конструктивный процесс, заканчивающийся построением искомого объекта. Соответственно, установление параметрического утверждения существования
(13) («для всякого существует , такой, что »)
предполагает указание «общего» конструктивного процесса, начинающегося с произвольного конструктивного объекта данного исходного типа и заканчивающегося построением искомого . Другими словами, (13) выражает существование алгоритма, находящего , исходя из . Из такой трактовки существования вытекает и конструктивное понимание дизъюнкции: суждение (« или ») считается установленным, только если предъявлен конструктивный процесс, заканчивающийся указанием его верного члена. Дальнейшее разъяснение смысла суждений более сложной структуры и выработка правил обращения с ними, соответствующих исходным конструктивным установкам, составляет задачу конструктивной семантики и конструктивной логики. Приведенная конструктивная трактовка утверждений существования и дизъюнкции существенно отличается от традиционной: в теоретико-множественной математике, например, суждение (12) может быть доказано приведением к нелепости его отрицания. Такое доказательство обыкновенно не содержит никакого способа построения искомого конструктивного объекта. Конструктивная математика считает, что подобное рассуждение доказывает не (12), а его «двойное отрицание», т. е. . Последнее суждение рассматривается в конструктивной математике как, вообще говоря, более слабое, чем (12). Таким образом, конструктивная математика не принимает закона снятия двойного отрицания, а следовательно, и закона исключённого третьего (на отсутствие оснований для принятия последнего указывает и конструктивная трактовка дизъюнкции).
Первоначальные математические структуры – натуральные, целые и рациональные числа – непосредственно могут трактоваться как слова некоторых простых типов в фиксированном алфавите, при этом соответствующие отношения равенства и порядка легко сводятся к графическому совпадению и различию слов. Введение более сложных структур – действительных чисел, функций над ними и т. д. – осуществляется в конструктивной математике на основе понятия алгоритма, играющего в ней примерно такую же роль, какую играет в традиционной математике понятие функции. Считая интуитивные представления об алгоритмах слишком расплывчатыми для таких построений, конструктивная математика делает здесь принципиальный шаг, стандартизируя используемые алгоритмы посредством принятия одного из современных точных определений этого понятия вместе с соответствующей гипотезой типа тезиса Чёрча, принципа нормализации и т. д., утверждающих совпадение оперативных возможностей, доставляемых алгоритмами в интуитивном и точном смысле слова.
Фактически наибольшее применение в конструктивной математике получили нормальные алгорифмы Маркова. К необходимости уточнения понятия алгоритма приводит также и конструктивная трактовка существования. Например, отрицание суждения (13) есть утверждение о невозможности некоторого алгоритма, между тем интуитивные представления, достаточные для опознания в качестве алгоритма того или иного конкретного предписания, в принципе не позволяют получать сколько-нибудь нетривиальные теоремы невозможности. На основе изложенных принципов и опираясь на современную теорию алгоритмов, конструктивная математика строит ряд математических дисциплин, в том числе и конструктивный математический анализ, включая сюда элементы функционального анализа, дифференциальные уравнения, теорию функций комплексного переменного и т. д. Получаемые таким образом теоретические модели, основанные на более скромной, чем обычно, системе абстракций, хотя и уступают традиционным в прозрачности и элегантности, тем не менее, по-видимому, способны обслужить тот же круг приложений.
Имея общий критический источник с интуиционистской математикой Л. Брауэра и заимствовав из неё ряд конструкций и идей, конструктивная математика обнаруживает определённое сходство с последней. Вместе с тем здесь имеются и принципиальные отличия как общефилософского, так и конкретно-математического характера. Прежде всего конструктивная математика не разделяет свойственное интуиционизму убеждение в первоначальном характере математической интуиции, считая, что сама эта интуиция формируется под влиянием практической деятельности человека. Соответственно, абстрагирование в конструктивной математике идёт не от умственных построений, как в интуиционизме, а от простейших, реально наблюдаемых конструктивных процессов. В математическом плане конструктивная математика не принимает выводящую за рамки конструктивных процессов и объектов концепцию свободно становящейся последовательности и основанную на ней интуиционистскую теорию континуума как среды свободного становления. С другой стороны, интуиционистская математика не принимает правила конструктивного подбора и не считает необходимым элиминировать интуитивные алгоритмы при помощи соответствующих точных определений. Следует заметить, что в последние годы наметилась определенная тенденция к сближению конструктивного и интуиционистского подходов: в некоторых конструктивных исследованиях, особенно относящихся к семантике, используются индуктивные определения и соответствующие им индуктивные доказательства, напоминающие построения Л. Брауэра при доказательстве его так называемой бар-теоремы (см. Бар-индукция), занимающей одно из центральных мест в интуиционистской математике.