= «Джон Бэрримор – брат Этель Берримор» и y = «Этель Бэрримор – сестра Джона Бэрримора» эквивалентны (равны). Обозначение «x · y» отражает общую часть двух классов x и y (члены которой принадлежат одновременно x и y) или конъюнкцию (пересечение) суждений x и y (то есть «x и y»). Например, если x – класс всех деревенских дурачков, а y — класс всех существ с черными волосами, то x · y — класс черноволосых деревенских дурачков. Для утверждений x и y конъюнкция x · y (или слово «и») означает, что должны быть верны оба утверждения. Например, если Управление дорожного движения говорит, что «вы должны пройти проверку периферического зрения и сдать экзамен на права», это значит, что нужно исполнить оба требования. По Булю, если два класса не имеют общих членов, то символ «x + y» отражает класс, состоящий из всех членов как класса х, так и класса у. В этом случае утверждение «x + y» соответствует «или x, или y, но не то и другое сразу». Например, если x – это утверждение «колышки квадратные», а у – утверждение «колышки круглые», то x + y означает «колышки или круглые, или квадратные». Подобным же образом «x – y» отражает класс тех членов х, которые при этом не члены у, или утверждение «х, но не у». Буль обозначил универсальный класс (содержащий все возможные рассматриваемые члены) как 1, а пустой или нулевой класс (в котором вообще нет членов) как 0. Обратите внимание, что нулевой класс (множество) определенно не то же самое, что число 0: число 0 – это количество членов в нулевом классе. А еще обратите внимание, что нулевой класс – не то же самое, что ничего, потому что класс без ничего – все равно класс. Например, если все газеты в Албании печатаются на албанском, то класс всех албаноязычных газет в Албании по идее Буля обозначается 1, а класс всех испаноязычных газет в Албании – 0. С точки зрения утверждений 1 означает стандартную истину (например, «люди смертны»), а 0, соответственно, – стандартную ложь (например, «люди бессмертны»).
Исходя из этих договоренностей, Буль сумел сформулировать набор аксиом, определяющий алгебру логики. Например, можете сами убедиться, что при помощи вышеприведенных определений очевидно истинное суждение «Все или х, или не х» в булевой алгебре может быть записано как x + (1 – x) = 1, что верно и в обычной алгебре. Подобным же образом и утверждение об общей части между любым классом и нулевым классом выражается как 0 · x = 0, что также означает, что конъюнкция любого утверждения с ложным утверждением ложна. Например, конъюнкция «сахар сладкий и люди бессмертны» порождает ложное утверждение, несмотря на то, что первая часть истинна. Обратите внимание, что опять же это «равенство» в булевой алгебре остается истинным, даже если воспринимать его как нормальное алгебраическое выражение.
Чтобы показать все возможности своих методов, Буль попытался применить логические символы ко всему, что казалось ему важным. В частности, он проанализировал даже доводы философов Сэмюэля Кларка и Баруха Спинозы в пользу существования Бога и относительно его качеств. Однако пришел он при этом к довольно-таки пессимистическому выводу: «Думаю, после изучения доводов Кларка и Спинозы невозможно не прийти к глубочайшему убеждению о тщетности всех попыток доказать – целиком и полностью a priori – существование Беспредельного Существа и судить о Его качествах и Его отношениях со Вселенной». Несмотря на резонность вывода Буля, не все, очевидно, были так уж убеждены в тщетности подобных попыток, поскольку обновленные версии онтологических доводов в пользу существования Бога появляются и по сию пору[124].
В целом Буль сумел математически обуздать логические связки «и», «или», «если… то» и «не», которые сейчас лежат в самой основе компьютерных операций и самых разных коммутационных схем. Поэтому многие считают его одним из «провозвестников», приблизивших эру цифровых технологий. И все же булева алгебра была новой и неслыханной, а потому несовершенной. Во-первых, у Буля получалось писать несколько нестрого и не вполне понятно, поскольку он прибегал к системе обозначений, слишком похожей на обычную алгебру. Во-вторых, Буль путал утверждения («Аристотель смертен»), предикаты («х смертен») и утверждения с квантором всеобщности («х смертен для любого х»). Наконец, впоследствии Фреге и Рассел утверждали, что алгебра коренится в логике. Поэтому можно возразить, что следует строить алгебру на логике, а не наоборот.
Однако в книге Буля содержалась одна идея, которой предстояло стать очень плодотворной. Речь идет о понимании тесной связи логики с понятием классов или множеств. Вспомним, что булева алгебра в равной степени применима к классам и к логическим утверждениям. В самом деле, когда все члены одного множества X – еще и члены другого множества Y (X — подмножество Y), это можно выразить в виде логической импликации в виде «если X, то Y». Например, то, что все кони – подмножество множества всех четвероногих животных, можно написать в виде логического утверждения «Если X – конь, то он четвероногое животное».
В дальнейшем усовершенствованием и расширением булевой алгебры логики занимались многие ученые, однако полностью исследовал подобие между логикой и множествами и вывел всю эту концепцию на принципиально новый уровень Готлоб Фреге (рис. 48).
Рис. 48
Фридрих Людвиг Готлоб Фреге родился в Германии, в городе Висмаре, где и его отец, и мать в разное время были директорами старшей школы для девочек. Он изучал математику, физику, химию и философию, сначала в Йенском университете, потом еще два года в Геттингенском университете. Получив образование, он в 1874 году начал читать в Йене лекции и на протяжении всей своей профессиональной карьеры преподавал там математику. Несмотря на солидную педагогическую нагрузку, Фреге в 1879 году сумел напечатать свою первую революционную работу по логике[125]. Небольшая книга называлась «Исчисление понятий, или Подражающий арифметике формальный язык чистого мышления» (в научном обиходе ее обычно называют «Begriffsschrift»). В ней Фреге разработал оригинальный логический язык, который затем развил в двухтомном труде «Основные законы арифметики» («Grundgesetze der Arithmetic»). Задачи, которые ставил перед собой Фреге, были, с одной стороны, очень узкими, но с другой – необычайно честолюбивыми. Первоначально он сосредоточился на арифметике и хотел показать, что даже такие знакомые понятия, как натуральные числа 1, 2, 3…, можно свести к логическим конструкциям. Таким образом, Фреге полагал, что можно доказать все истины арифметики при помощи нескольких логических аксиом. Иными словами, по Фреге даже утверждения вроде 1 + 1 = 2 – не эмпирические истины, основанные на наблюдении: они выводятся из логических аксиом. Книга «Begriffsschrift» Фреге оказала такое влияние, что современный гарвардский логик Уиллард Ван Орман Куайн (1908–2000) однажды написал: «Логика – наука очень старая, а с 1879 года еще и великая».
Стержневым понятием философии Фреге было представление о том, что истина не зависит от человеческого суждения. В «Основных законах арифметики» он пишет (Frege 1893, 1903): «Быть истинным – не то же самое, что считаться истинным в глазах одного человека или даже всех, и одно ни в коем случае не сводится к другому. Нет никакого противоречия в том, что истинно что-то, что все считают ложным. Под “законами логики” я подразумеваю не психологические законы, по которым люди считают что-то истинным, а законы истины… они [законы истины] – краевые камни, заложенные в фундамент вечности, и наше мышление может перелиться через них, но не сдвинуть их с места».
Логические аксиомы Фреге имеют общий вид «для всех… если… то». Например, одна из аксиом выглядит так: «для всех p, если не (не-р), то р»[126]. В целом эта аксиома гласит, что если утверждение, противоречащее рассматриваемому, ложно, то само утверждение истинно. Например, если утверждение, что вам не надо останавливать машину на красный сигнал светофора, ложно, то вам совершенно точно надо останавливать машину на красный сигнал светофора. Чтобы в полной мере развить логический «язык», Фреге дополнил набор аксиом очень важным новым инструментом. Он заменил традиционный «субъектно-предикатный» стиль классической логики понятиями, позаимствованными у математической теории функций. Позволю себе краткое объяснение. Когда математическое выражение записывают как f (x) = 3x + 1, это означает, что f – это функция переменной x, а значение этой функции можно получить, умножив значение переменной на 3 и прибавив к результату 1. Фреге определил свои так называемые концепты как функции. Например, предположим, что вы хотите обсудить концепт «ест мясо». Этот концепт будет символически описан функцией F (x), и значение этой функции будет «истина», если x – лев, и «ложь», если x – олень. Если речь идет о числах, то концепт (функция) «меньше 7» пометит все числа, равные и больше 7, как «ложь», а все числа меньше 7 – как «истину». Фреге называл объекты, для которых тот или иной концепт принимал значение «истина», «подпадающими под» этот концепт.
Как я уже отметил, Фреге был убежден, что любое утверждение, имеющее отношение к натуральным числам, можно познать и вывести исключительно на основе логических определений и законов. Подобным же образом он начал свое описание темы натуральных чисел, не требуя никакого априорного понимания идеи «числа». Например, на логическом языке Фреге два концепта равномощны (то есть с ними ассоциируется одно и то же число), если есть взаимно однозначное соответствие между объектами, «подпадающими под» один концепт, и объектами, «подпадающими под» другой. То есть крышки от мусорных баков равномощны самим мусорным бакам (если у каждого бака есть крышка), и это определение не требует никакого упоминания о числах. Затем Фреге предлагает интереснейшее логическое определение числа 0. Представьте себе ко