3. Основные принципы конструктивного обоснования математики Попытки конструктивного обоснования математики, и в частности построения математического анализа, предпринимались еще основоположниками интуиционизма. Отвергая абстракцию актуальной бесконечности, Брауэр предлагал строить математический анализ на основе понятия потенциальной бесконечности. В этих целях он считал возможным использовать так называемые свободно становящиеся последовательности, которые, однако, не являются конструктивными процессами. Вейль, хотя и рассматривает конструктивные объекты, но применяет к ним обычную, классическую логику. Главным препятствием для разработки конструктивной математики в то время А. А. Марков считает отсутствие точного понятия алгорифма. Интуитивно под алгорифмом понимают обычно вычислительный процесс, ведущий от варьируемых данных к искомому результату. Характерными особенностями алгорифма являются: а) точность предписания, не оставляющая место произволу, его общепонятность, короче — определенность алгорифма; б) возможность исходить из варьируемых данных — массовость алгорифма; с) направленность на получение некоторого результата — результативность. Такое описание, по мнению А. А. Маркова, годится в лучшем случае для положительных высказываний. В силу нечеткости понятия алгорифма никакие отрицательные результаты не могли быть получены на той стадии развития математики 50 . Приведенное выше расплывчатое, интуитивное понятие алгорифма, было уточнено в исследованиях А. Чёрча, С. К. Клини, А. Тьюринга, Э. Поста. Чёрч предложил использовать для этого исчисление -конверсии, Клини — теорию рекурсивных функций, Тьюринг — теорию идеализированных вычислительных машин, получивших название машин Тьюринга, Пост — теорию «конечных» комбинаторных процессов. Позже А. А. Марков предложил свою теорию нормальных алгорифмов, которая оказалась весьма удобной для конструктивной математики. Хотя к уточнению понятия алгорифма разные исследователи шли разными путями, их теории оказались эк50 Марков А. А. Теория алгорифмов, с. 3. 159 вивалентными. На основе точного понятия алгорифма оказалось возможным установить ряд отрицательных результатов сначала в логике, а затем и в математике. О них мы будем говорить в следующей главе. Но особенно большое значение алгорифмы имеют для обоснования и построения конструктивной математики. Применение точного понятия алгорифма открыло совершенно новые перспективы для построения конструктивной математики как науки. В исследованиях советской школы для этого используется теория нормальных алгорифмов, созданная А. А. Марковым. В дальнейшем мы ограничимся освещением принципов конструктивного обоснования математики, выдвинутых именно этой школой. Интуитивное понятие алгорифма, как мы видели, предполагает наличие инструкции или любого другого предписания, которое применяется к некоторой совокупности исходных данных, составляющей область определения алгорифма. Для уточнения этого расплывчатого понятия, необходимо, во-первых, установить, какие исходные объекты входят в область определения алгорифма, т. е. к каким объектам применим этот алгорифм. Во-вторых, следует точно описать, в чем заключается суть той инструкции, которая последовательно применяется к преобразованию исходных объектов, и как эта инструкция составляется. В теории нормальных алгорифмов в качестве конструктивных объектов рассматриваются абстрактные слова в некотором алфавите. Поэтому первое, что необходимо для построения,— это установить алфавит, из букв которого образуются слова как исходные объекты алгорифма. Второй шаг построения алгорифма связан с образованием его схемы. Такая схема строится из букв данного алфавита и некоторых вспомогательных знаков и представляет список подстановок следующего вида: где P1, Q1 обозначают некоторые слова, а знак показывает, что точка может стоять или не стоять после стрелки. Подстановка считается применимой к данному слову, если в нем целиком содержится слово Рi, Тогда 160 слово Qi будет результатом применения подстановки Qi к данному слову. Третий шаг построения алгорифма связан с установлением цравил действий над исходными словами, которые определяются схемой алгорифма. Просматривая список подстановок, мы находим подстановку, которая применима к данному слову. Если в ней после стрелки стоит точка, тогда прекращаем работу. Если нет, то результат применения рассматривается как новое исходное слово и процесс повторяется сначала. Такое стандартное предписание характеризует процесс последовательного преобразования любого исходного слова Р, который сводится в сущности к последовательности отдельных шагов, на каждом из которых возникает некоторое слово. Если в результате последовательного осуществления отдельных шагов наступает окончание процесса, то в этом случае говорят, что данный алгорифм применим к некоторому слову Р. Слово Q, получаемое на последнем шаге процесса, называют результатом применения алгорифма к слову Р 51. Часто также говорят, что данный алгорифм перерабатывает слово Р в слово Q и записывают это в виде равенства: (Р) =Q, где - знак данного алгорифма. Вполне допустимы также случаи, когда окончание процесса применения алгорифма может и не наступить. Важно при этом обратить внимание на то, что теория нормальных алгорифмов строится в рамках абстракции потенциальной осуществимости. Действительно, нормальный алгорифм определяется своим алфавитом и схемой. Как слова его алфавита, так и схема представляют потенциально осуществимые конструктивные объекты. Сам процесс построения нормального алгорифма рассматривается, так же как потенциально осуществимый. «Алгорифмом в алфавите A,-подчеркивает А. А. Марков,- называется точное общепонятное предписание, определяющее потенциально осуществимый процесс последовательного преобразования абстрактных слов в А, процесс, допускающий любое слово в А в качестве исходного» 52. Нет необходимости при этом требовать, чтобы процесс применения алгорифма к данному слову P был полностью представлен перед нами от начала до конца. 51 52 Марков А. А. О конструктивной математике.- Тр. Матем. инта им. В. А. Стеклова, 1962, т. 67, с. 10. Марков А. А. Теория алгорифмов, с. 51. 6 Г. И. Р у з а в и н 161 Но как в этом можно убедиться? Здесь мнения конструктивистов расходятся. А. А. Марков считает возможным использовать в этих целях метод рассуждения «от противного». Алгорифм признается применимым к слову Р, если предположение о его неограниченной продолжаемости процесса применения опровергнуто приведением к нелепости 53 . Интуиционисты отвергают такой способ рассуждения, считая его интуитивно недостаточно ясным. Возражая им, А. А. Марков справедливо отмечает, что «интуитивная ясность» не может считаться критерием истинности в математике. Важно, что при этом полностью выполняются тробования конструктивного обоснования математики. «Я настаиваю на том,— пишет А. А. Марков,— что никакого выхода за рамки конструктивного направления при этом не происходит: абстракция актуальной бесконечности не привлекается, существование продолжает совпадать с потенциальной осуществимостью построения. Если мы утверждаем на основании доказанной невозможности неограниченной продолжаемости детерминированного процесса, что этот процесс закончится, то при этом делается совершенно определенный способ построения: продолжать процесс до его завершения» 54 . Опираясь на эти соображения, А. А. Марков считает возможным использовать в конструктивной математике способ рассуждения который он назвал методом конструктивного подбора. «Пусть для свойства имеется алгорифм, выясняющий для всякого натурального числа п, обладает ли п свойством Если опровергнуто предположение о том, что пи одно число не обладает свойством то имеется натуральное число со свойством Найти это натуральное число можно тогда путем перебора натуральных чисел, начиная с нуля, причем для каждого рассматриваемого натурального числа мы выясним, пользуясь алгорифмом, наличие которого предполагается, обладает ли п свойством » 55. Итак, при обосновании математики с точки зрения конструктивного направления все операции с математическими объектами сводятся к применению соответствующих алгорифмов к некоторым словам фиксированного ал53 54 55 Марков А. А. О к о н с т р у к т и в н о й м а т е м а т и к е , с. 11. Т а м ж е , с. 11. Т а м ж е , с. 11. 162 фавита. С помощью слов абстрактного алфавита можно представить, как мы видели, самые разнообразные матаматические объекты (числа, полиномы, матрицы и т. п.). В результате такого перевода мы получаем возможность рассуждать о математических объектах как словах абстрактного алфавита, а действия над ними рассматривать как применение алгорифмов к отображающим их словам» Предполагается, конечно, что при этом соблюдаются основные принципы конструктивного подхода: к конструктивным объектам применяется абстракция потенциальной бесконечности или более слабая абстракция потенциальной осуществимости и конструктивная логика. Поскольку наибольший интерес для математики представляет проблема обоснования математического анализа, то мы вкратце рассмотрим, как принципы конструктивизма могут быть использованы именно для этой цели. Основная задача при конструктивном построении анализа заключается в том, чтобы найти такие исходные предпосылки и понятия, которые были бы более ясными и убедительными, чем традиционные теоретико-множественные принципы, на которых обычно строится анализ. При этом главное внимание обращается, как правило, на вычислительные и конструктивные возможности анализа. Это значит, что объекты анализа должны быть конструктивными или вычислимыми числами и функциями. В зависимости от того, какие объекты при этом берутся в качестве основных, различают несколько подходов при построении нетрадиционного, конструктивного математического анализа. Мы упомянем лишь три наиболее разработанные программы построения такого анализа. Английский математик Р. Л. Гудстейн строит свой рекурсивный анализ на сравнительной простой логической 56 основе исчисления равенств . Американский математик Э. Бишоп, основываясь на интуитивном понимании конструктивности, развил свою систему анализа, которая занимает промежуточное положение между интуиционистскими и алгоритмическими подходами. Отказываясь признать как интуиционистский, так и алгорифмическии способ уточнения понятия вычислимости, он в сущности исходит из допущения, что любое утверждение анализа должно выражать некоторый факт вычислительного характера с натуральными числами. 56 Гудстейн Р. Л. Р е к у р с и в н ы й а н а л и з . М., 1972. 163 Наиболее общим к построению конструктивного анализа является подход, опирающийся на точное понятие алгорифма, который разрабатывается, в частности, советской школой конструктивного направления. Характерные особенности такого подхода определяются как принципами конструктивного направления, так и свойствами вычислимых объектов анализа. Как уже отмечалось выше, в качестве конструктивных объектов при этом выступают, слова некоторого фиксированного алфавита. С помощью слов можно легко записать все первоначальные понятия математического анализа. Натуральные числа, как мы видели, можно представить как слова двухбуквенного алфавита, рациональные — четырехбуквенного. Понятие же действительного числа, которое лежит в основе анализа, определяется более сложным образом. В классическом анализе оно рассматривается как сечение в актуально бесконечном множестве рациональных чисел (Дедекинд), как бесконечная десятичная дробь (Вейерштрасс) или же как фундаментальная последовательность рациональных чисел, удовлетворяющая критерию Коши. Этот критерий устанавливает, что для любого положительного числа существует такой номер N, после которого абсолютная величина разности между двумя любыми членами последовательности будет оставаться меньше , т. е. Чтобы определить действительное число с точки зрения конструктивной математики, можно в качестве основы воспользоваться канторовским определением, но совершенно по-иному интерпретировать его. Кантор исходил из представления об актуальной бесконечности и рассматривал существование в теоретико-множественном смысле. Поскольку конструктивисты всё это отрицают, то они видоизменяют это определение таким образом, чтобы ясно был виден его конструктивный характер. Для этого необходимо, во-первых, чтобы последовательность рациональных чисел была определена конструктивно, а именно задана с помощью алгорифма. Во-вторых, существование натурального числа N, зависящего от , должно рассматриваться с точки зрения потенциальной возможности его построения. А это предполагает наличие алгорифма, который по данному строит N. Следовательно конструктивное действительное число определяется парой алгорифмов, применимых к любому натуральному числу. «Коротко говоря, конструктивное 164 действительное число,— указывает Маркой,— может быть определено как запись нормального алгорифма, перерабатывающего натуральные числа в члены фундаментальной последовательности рациональных чисел, сходящейся 57 достаточно быстро» . Конструктивная последовательность рациональных чисел называется фундаментальной, если для всякого положительного числа п существует такое натуральное число m, что для всех чисел i и j, начиная с ту выполняется соотношение: . Алгорифм определяет конструктивную последовательность рациональных чисел. Чтобы эффективно оценить скорость ее сходимости, необходимо наличие специального алгорифма , с помощью которого характеризуется эта сходимость,т.е.i, Эту пару алгорифмов, определяющих конструктивное действительное число, называют дуплексом. Арифметические действия над конструктивными действительными числами сводятся к операциям над соответствующими алгорифмами. Так, например, когда речь идет о сумме таких чисел, то это означает, что имеется алгорифм, который перерабатывает всякую пару конструктивных действительных чисел в сумму этих чисел. Центральным понятием конструктивного анализа является понятие конструктивной функции. Если ограничиться конструктивными действительными переменными, то конструктивной функцией от таких переменных будет называться натуральный алгорифм в соответствующем алфавите, если соблюдено следующее условие: всякий раз, когда алгорифм F применим к числу х и х=у, то он применим также и к y, причем F(x) и F(y) суть равные конструктивные действительные числа. Аналогичным образом определяются другие понятия конструктивного анализа. Как нетрудно видеть, основная идея построения этого анализа состоит в том, чтобы найти конструктивные аналоги соответствующих понятий обычного анализа, т. е. по сути дела заменить все встречающиеся в них обычные действительные числа конструктивными. Иными словами, всюду, где в традиционном анализе идет речь о числах и их последовательностях, в конструктивном анализе имеют дело с алгорифмами, перерабатывающими соответст57 Марков А. А. О конструктивной математике.- Тр. Матем. инта им. В. А. Стеклова, 1962, т. 67, с. 12. 165 вующие числа. Вот почему сам этот подход нередко называют алгорифмическим. Многие теоремы конструктивного анализа будут существенно отличаться от теорем классического анализа. Так, например, в последней всякая монотонно возрастающая последовательность действительных чисел, ограниченная сверху, всегда имеет предел. На этом фундаментальном положении основывается доказательство целого ряда теорем классического анализа. В конструктивном анализе аналогичная последовательность конструктивных чисел может не иметь предела. Совершенно иным оказывается и отношение между понятиями непрерывности и разрывности функций. В классическом анализе отсутствие разрыва означает непрерывность функции в данной точке. В конструктивной математике требование непрерывности связано с более сильным требованием, чем отсутствие разрыва. В самом деле, непрерывность конструктивной функции означает, что мы умеем строить по данному положительному числу такое весьма малое положительное число , что при выполнении неравенства выполняется также неравенство Иными словами, в этом случае мы располагаем алгорифмом, который по данному строит число . Совершенно иначе обстоит дело с понятием разрыва функции в данной точке. Для этого достаточно, чтобы при выполнении первого из неравенств не выполнялось второе, т. е. значение функции для заданного а и конструктивного действительного числа отличалось бы больше, чем на , Но отсутствие разрыва конструктивной функции в данной точке не означает ее непрерывности в этой точке именно потому, что для этого необходимо располагать алгорифмом, строящим по данному число , а для отсутствия разрыва это вовсе не обязательно. Сравнивая конструктивный анализ с классическим, можно прийти к выводу, что наиболее важные различия между ними обнаруживаются тогда, когда заходит речь о теоремах существования общего характера. И это вполне понятно, так как конструктивная математика связывает существование с фактическим или потенциальным построением объекта, существование которого утверждается. Классическая же математика доказывает такое существование, опираясь на чисто логические критерии, основанные на использовании закона исключенного 166 третьего. Там же, где речь идет о конкретных задачах, допускающих вычисление или построение объекта, результаты конструктивного анализа совпадают с известными результатами классического анализа или отличаются от него в некоторых деталях. Однако само техническое построение конструктивного анализа требует гораздо более сложного и громоздкого математического аппарата. Некоторые разделы классического анализа не могут быть построены конструктивно главным образом потому, что не удается найти конструктивные аналоги тех исходных понятий, которые лежат в основе таких классических разделов анализа. Этим объясняется то сдержанное, если не сказать индиферентное отношение большинства математиков к тем усилиям, которые были приложены конструктивистами в перестройке традиционного математического анализа.