Нелогичная диагональ
Формальность математического знания — это одновременно и его главное достоинство, и основной источник концептуальных проблем. Пока математик занимается исследованием конкретного математического объекта, он может (как и в любой другой науке) не задумываться над корректностью типовых операций. Однако любая попытка формально описать саму формальность, сделать научный метод предметом научного исследования — заранее обречена на провал. Такая формализация неизбежно окажется неполной, она выделяет лишь одну сторону, один уровень научной работы, абстрагируясь от разного рода неформальных процедур — а именно они делают математику содержательной.
Основания математики — вне математической науки, и никакие метатеории здесь не помогут. Это просто другой уровень рефлексии, заниматься которым наука вообще не должна. Разумеется, во всякой деятельности есть формальные компоненты, которые укладываются в нормы научности — и которым можно научиться. Собственно, вся наука — это фабрика технологий, типовых схем деятельности, воспроизводимых при самых разных обстоятельствах, и в том числе — в самой науке. Научный продукт, знание — это, по сути, большой учебник, кулинарная книга с миллионами типовых рецептов получения приемлемого результата в обычно встречающихся житейских ситуациях. И в этом плане математика ничем не отличается от химии, политической экономии, анатомии, хореографии или разведения роз.
Выделение формальной структуры в какой-либо реальной деятельности предполагает определенный уровень абстракции, по отношению к которому одни стороны действительности считаются существенными, а другие нет. Возникают эти уровни в истории культуры не случайно, однако в пределах общей закономерности возможны какие угодно вариации (для которых также есть иерархия формальности и содержательности). Важно, что разные уровни характеризуются разными формальными особенностями, и не существует застывшего, окончательного знания, поскольку всегда есть возможность перехода к другому способу представления, и практические интересы заставляют нас выходить за рамки устоявшихся теорий.
Формальное знание возможно лишь поскольку мы остаемся в пределах одного уровня иерархии. Чисто формальное объединение нескольких уровней в математике проявляется как противоречие.
Популярный пример — знаменитые теоремы Геделя. Сегодня они формулируются в самых разных терминах, не обязательно сводимых к арифметике, как в первоначальном варианте. Обычный читатель находит эти теории слишком техническими, они перенасыщены частными деталями и не вызывающими доверия искусственными конструкциями ad hoc. Очень уж все это напоминает антураж фокусника, отвлекающий внимание публики от механики трюка.
А суть дела совершенно проста. Всякая формальная система представляется как набор утверждений, каждому из которых приписывается логическое значение "истина" или "ложь". Если выясняется, что одному и тому же утверждению приписаны сразу два значения, такая система называется противоречивой. Но это структурный уровень. Системность предполагает вход и выход, и возможность получения результата по исходному состоянию в соответствии с некоторым набором правил, описывающим внутреннее устройство системы. Строение формальной системы определяется заданием правил вывода, позволяющих по некоторому набору истинных утверждений построить другое истинное утверждение. Конечно, можно применять правила и к ложным утверждениям — однако тогда мы ничего не можем сказать об истинности результата. Для каждой формальной системы возникает, таким образом, понятие выводимости — и надо выяснить, как оно соотносится с истинностью. В частности, формальная система называется полной, если любое истинное утверждение в ней выводимо.
Понятно, что выводимость — это как бы истинность более высокого уровня, следующий уровень иерархии, который в диалектической логике называют отрицанием отрицания. В отличие от непосредственно истинных утверждений, выводимые утверждения истинны не сами по себе, а посредством вывода. На практике, разумеется, можно одно и то же утверждение либо объявить аксиомой, либо вывести из других аксиом; это различные представления (иерархические обращения) той же формальной системы. В любом случае, истинность и выводимость — разные уровни, и смешивать их в рамках одного суждения было бы непоследовательно. Но именно этим и занимаются все разновидности теоремы Геделя!
Механика фокуса основана на так называемом диагональном принципе: утверждение отрывается от своей содержательной стороны, от предметной области, и объявляется формально применимым к чему угодно — в том числе, к самому себе. Тысячи лет таким образом в логике воспроизводится пресловутый парадокс лжеца, на все лады перетолкованный в популярной литературе.
Теорема Геделя (в любой формулировке) предполагает искусственное конструирования рефлексивного суждения, по смыслу означающего: "всякое выводимое утверждение ложно". Если это утверждение выводимо — то оно оказывается одновременно и истинным, и ложным, так что формальная система противоречива. Если оно истинно — то оно не выводимо, и формальная система неполна.
Вот, собственно, и все. Остается только выяснить, каким образом фокусники отвлекают внимание публики.
Для этого в математике (и философии позитивизма) есть стандартный прием: утверждения отождествляются с формой выражения. Нормальному человеку такое обычно в голову не приходит. Когда он говорит: "это яйцо варилось три минуты" — он имеет в виду именно яйцо, и кипящую воду, в которой оно находилось три минуты по показаниям кухонного таймера. А вовсе не набор слов, которым этот факт выражается.
Математик поступает с точностью до наоборот: он заявляет, что любое формальное утверждение существует лишь поскольку оно может быть выражено на некотором формальном языке — и все утверждения можно перечислить, как только мы задали алфавит этого языка. Перевод с одного языка на другой при этом сводится к простой подстановке одних символов вместо других по определенному правилу — и никак не отменяет самой возможности перечисления.
Звучит очень убедительно. Публика зачарована ловкими движениями, которые фокусник использует, чтобы явным образом сконструировать язык и сформулировать на нем теорию, в конечном итоге приводящую к вышеприведенному диагональному утверждению. И в итоге теорема Геделя воспринимается как изящный математический результат, откровение высокой науки.
Хотя как раз науки в этом меньше всего. Наука всегда предметна, она изучает что-то определенное — и высказывается не вообще, а только в пределах своей предметной области. Если мы начинаем обращать внимание на способ получения и представления научных фактов — мы занимаемся уже совсем другим делом; в пределах науки в целом это означает переход от одной предметной области к другой — то есть, от одной частной науки к другой. Смешивать понятия этих разных наук мы не имеем права, даже если соответствующие высказывания звучат похоже, — это банальная логическая ошибка, называемая подменой термина: под одно и то же слово (знак) в пределах одного рассуждения подставляются совершенно разные понятия.
Собственно, к этому и сводится гениальная идея Геделя: все утверждения (которые отождествляются с их формулировками) можно закодировать числами, правила вывода тоже кодируются числами — и любые высказывания в результате сводятся к высказываниям о числах. А поскольку числа — они и в Африке числа, то мы имеем право их сопоставлять как угодно, в том числе диагональным путем. Характер такой логики можно проиллюстрировать простым примером: пусть четные числа относятся к высказываниям о съедобных вещах, а нечетные — о несъедобных; тогда, если купить в магазине две несъедобные вещи, можно сложить их вместе и как следует перекусить...
Еще очевиднее обман становится в следующей формулировке: поскольку все слова записываются одинаковыми буквами — они все означают одно и то же.
Если в математике оставаться в рамках научности — особых проблем не возникает. Даже школьник знает: всякая функция имеет свою область определения. За случайный выход за пределы области определения в школе ставят двойки. Но когда математик приканчивает высшее образование и выходит в самостоятельное творчество — о таких мелочах можно и забыть. Например, в теории категорий многие теоремы доказываются очень лихо — в предположении, что все стрелки (в каком-то смысле) хорошо определены. В конечном итоге результат как раз и определяет способ задания стрелок, который неявно предполагался с самого начала. Это еще одна распространенная ошибка — логический круг, другая сторона диагонального принципа.
Научная теория строит содержательные утверждения по поводу некоторой предметной области — и устанавливает их соответствие действительности, то есть истинность. Формально это выглядит как задание функции истинности на пространстве возможных утверждений X:
,
где F и T — значения истинности (в каких-то ситуациях этих значений может быть больше). На самом деле такая формализация справедлива не всегда — но об этом потом. Выводимость, в тех же условиях, формально определяет другую функцию:
,
при условии, что
.
Геделево утверждение тогда, не вдаваясь в дополнительные уточнения, можно записать как
.
Но последние два функциональных соотношения не принадлежат области определения функций t и d; их область определения — пространство функций на пространстве X. А это уже совсем другая наука... А может быть, даже и не наука — если не получится указать предметную область, по поводу которой формулируются подобные утверждения.
Математический фокус теоремы Геделя, смешение несопоставимых утверждений в одной теории, широко применяется и в других областях математики. Достаточно вспомнить хотя бы великую теорему о неподвижной точке, рассматривающую отображения n-мерного шара в себя
и утверждающую, что всегда найдется точка x, для которой f(x) = x. Здесь смешиваются в кучу область определения и область значений функции, хотя с научной точки зрения совпадать они никак не могут — поскольку, метафорически используя физическую терминологию, у них разные размерности: [x] ≠ [f]. Грубо выражаясь, они стоят на разных концах стрелки, и это различие в позиции делает их качественно различными. Когда мы говорим, что некоторое пространство отображается в себя, это уже маленькое жульничество, поскольку мы отождествляем разные аспекты (или разные употребления) одного и того же. Такое приведение области значений функции к ее области определения есть, вообще говоря, нетривиальная операция, которая не вытекает ни из какой математики — а привносится в науку из практики. Если мы по жизни умеем делать продукты нашей деятельности объектами для другой деятельности — тогда пожалуйста, применяйте вашу формальную систему. Если же такое использование возможно с ограничениями — извольте быть осторожнее в выводах. Собственно, поэтому и приходится теоретические предсказания все время проверять на опыте; сами по себе они лишь гипотезы — хотя бы и железно следующие из всей предыдущей науки.
Отождествление области определения функции с ее областью значений сродни уже упоминавшемуся логическому ляпу с подменой термина. Действительно, если значения аргумента функции можно обозначить точно так же, как значения ее результата, одинаковые обозначения все равно ссылаются на разные объекты. Если мы пронумеруем пальцы на руках числами от 0 до 9, и точно так же пронумеруем пальцы на ногах — от этого ни руки не станут ногами, ни наоборот. Надо еще постараться придумать такую практическую ситуацию, в которой пальцы на ногах и на руках можно было бы реально отождествить (хотя, в данном случае, это все-таки возможно).
Математики обычно обозначают подобные трюки словечком "изоморфизм". Достаточно сказать, что пространство значений совпадает с пространством аргументов "с точностью до изоморфизма" — и, вроде бы, дело сделано, дальше можно ни о чем не заботиться... Однако на самом деле, чтобы подать сигнал с выхода системы на ее вход, приходится задействовать вполне материальную цепь обратной связи — и если такой цепи нет, формальная математическая теория просто неприменима. По счастью, развитие математики идет не по прихоти ее столпов, а следуя потребностям и возможностям практики. Если математику что-то пришло в голову — это чему-то в культуре соответствует. Правда, не всегда чему-то положительному. Например, та или иная математическая идея может быть выражением типичной (методо)логической ошибки.
В качестве еще одной иллюстрации, поговорим о компьютерах. Во многих языках программирования различают значения и их типы. Например, число 1 в целой арифметике — это совсем не то же самое, что вещественное или комплексное число 1, они могут синтаксически в языке представляться одинаково (динамическое выведение типов) — но внутреннее представление их совершенно различно. Не говоря уже о возможных отождествлениях числа 1 с соответствующим кодом ASCII или с текстовой строкой "1". В объектно-ориентированном программировании типы представлены классами, а значения — экземплярами класса. У одного класса может быть сколько угодно экземпляров — и это совершенно разные объекты, никак друг с другом не связанные. Однако все они "изоморфны" друг другу, поскольку их внутреннее представление (набор свойств) сходно, и с ними возможны сходные операции (методы класса). Попробуйте спутать в программе два разных объекта одного типа — и потом придется прыгать с дебаггером и отлавливать глюки. Математические глюки отлавливать сложнее — хотя происхождение их, в общем-то, того же свойства. Тут вмешивается еще и психологический фактор — традиционный пиетет публики перед математической "строгостью", доходящий до почти полной неспособности сомневаться в предъявленных "доказательствах". Особенно если учесть, что понимать математические рассуждения (битком набитые ссылками на кем-то ранее полученные результаты — которые приходится принимать на веру) способны далеко не все.
Но вернемся снова к науке. Как отмечалось, всякая теория занимается построением утверждений о некоторой предметной области, которые потом исследуются на предмет правильности или истинности (что не одно и то же). Традиционная математика смело объявляет все эти утверждения изначально заданными и неизменными. И в науке мы, дескать, только "открываем" всяческие истины. На практике, как мы знаем, дело обстоит совершенно иначе. Развитие любой науки — сложный и драматичный процесс, и далеко не всегда очевидно, куда нас приведет то или иное направление исследования. Область применимости науки не существует сама по себе, подобно платоновской идее, — она формируется вместе с самой наукой. Но если ограничиться чем-то попроще, доступным пониманию математиков, — можно сказать, что утверждения теории надо еще построить из ее элементарных понятий. Понятия эти могут быть адекватными и не очень. Соответственно, утверждения можно строить правильно и неправильно — то есть, что-то в данной науке можно утверждать, а что-то нет. Невооруженным глазом видно, что мы опять приходим все к той же геделевой схеме, согласно которой некоторые осмысленные утверждения окажутся невыразимыми в терминах теории либо противоречивыми. Надстраивать над такой неполной или противоречивой системой еще и неполную и противоречивую логику — занятие, по меньшей мере, странное.
В этом контексте "лингвистический" фокус уже не кажется столь убедительным. Почему, собственно, мы считаем, что алфавит задан раз и навсегда? В жизни так бывает редко, и все время приходится изобретать новые знаки для чего-то такого, чего раньше просто не было. В частности, такое знакотворчество может заключаться в переосмыслении уже имеющихся знаков при использовании их в разных контекстах. Количество знаков потенциально бесконечно — хотя всегда можно закодировать их конечным числом элементов. Достаточно лишь, чтобы конечный код ссылался на (представлял) что-то бесконечное, причем по-разному в разных контекстах. А контекстов может быть сколько угодно... В результате трюк Геделя с арифметизацией логики становится просто невозможен. И надо честно признать, что математика — такая же наука, как и все остальные, что математические теории справедливы только в области своей применимости, ограничены объектами определенного типа. Претензии на царство отменяются — точно так же, как претензии физики на теорию всего.
И вот в таком, собственно научном исследовании диагональный принцип оказывается очень даже полезен — если не преувеличивать общности получаемых выводов. И оказывается возможным — в каких-то практических ситуациях — отождествлять изоморфные пространства. И можно строить — в ограниченных рамках — рекурсивные теории и программы. Но если где-то не срастается, если результат не вяжется с нашими житейскими представлениями, не надо сразу вставать в позу пророка и кивать на недоразвитость обывателя; быть может, что-то неладно в самом математическом королевстве. И тогда следует отказаться от некоторых, вроде бы, самоочевидных отождествлений — и честно расставить математические конструкции по разным уровням иерархии. Тогда и математике будет куда расти.
август 2009
|