Булевы
высказывания
[предыдущая глава]  [оглавление]  [следующая глава]

Обычная школьная алгебра работает с натуральными, целыми, рациональными и действительными числами. Таких чисел бесконечно много. А что, если взять всего лишь пару объектов и выдумать для них разные операции вроде того же сложения или умножения? Тогда мы получим новую разновидность алгебры, а при желании - много новых разновидностей, поскольку операции можно определять разными способами. Одна такая алгебра получила название "булевой" по имени ее изобретателя Дж. Буля. Операции в булевой алгебре продуманы таким образом, чтобы ее можно было использовать в логических рассуждениях.

Мы привыкли к тому, что числа применяются для обозначения количества - большего или меньшего. Но если чисел всего два, то может быть только два варианта количества,.. тогда это странно было бы называть "количеством". Поэтому те два объекта, с которыми оперирует булева алгебра, числами называть некорректно. Просто два каких-то объекта. Какие именно - зависит от области применения булевой алгебры или, как говорят математики, от интерпретации.

Булева алгебра может применяться в компьютерной технике. Здесь интерпретация заключается в том, что значок 0 означает одно напряжение между какими-нибудь контактами какой-нибудь схемы (скажем, 0 вольт), а значок 1 - другое (скажем, +5 вольт).

Второй вариант применения булевой алгебры - логические рассуждения. Здесь два объекта интерпретируются как истина (будем обозначать как true) и ложь (будем обозначать как false). Далее мы будем называть символы true и false булевыми величинами, а переменные, которые их обозначают - булевыми переменными.

Есть одна тонкость, которую люди, впервые столкнувшиеся с математической логикой, понимают с трудом. Поэтому придется сделать пространное отступление.

Что называть истиной, а что - ложью,- это вопрос, как говорится, "тонкий". Есть разные критерии истины, о которых можно долго говорить. Математическая логика подобных разговоров избегает, как говорят "абстрагируется" от них. Предполагается, что кто-то каким-то образом выяснил, что некое утверждение истинно (true), а другое - ложно (false). Неважно, как он это делает, пусть хоть Афродите молится - лишь бы выяснил. Дальше уже можно применять булеву алгебру для различных операций с этими true и false. Результат будет получен, опять же, в виде true и false. Теперь тот, кто применял булеву алгебру к откровениям Афродиты, должен сам истолковать, что же будет означать для него такая "истина" и такая "ложь".

Вот вам более привычный пример - из арифметики. В ней есть абстрактные числа, для которых заданы правила сложения, вычитания и так далее. Мы можем сложить 13 + 12 и получить 25. А вот что означают эти самые 13, 12 и 25 - это уже дело того, кто применяет арифметику. Может, это 13 килограммов картошки и 12 килограммов картошки, которые свалили в одну кучу и получили 25 килограммов. А может это обогреватель с температурой в 13 градусов тепла, который нагрели еще на 12 градусов и получили в результате обогреватель с температурой 25 градусов. Это были примеры правильного применения арифметики. А что, если сложить 12 килограммов картошки и 13 градусов тепла - что получится? 25? 25 чего? Килограммов или градусов? Наверное ни то, ни другое - ведь такое применение арифметики неправильно. Или мы можем взять 12 кучек песка и еще 13 кучек песка и высыпать их все в одно место. В результате получится вовсе не 25 кучек песка, а одна большая куча. Снова неправильное применение арифметики.

Так же и с булевой алгеброй. Можно для выяснения "истины" и "лжи" долго бить в бубен или лбом об пол. Будет достигнут некий результат... который можно подставить в формулы булевой алгебры. Потом что-то получится в процессе вычислений... и это может оказаться "истиной" или "ложью" с точки зрения специалиста по битию в бубен. Если булева алгебра будет постоянно выдавать правильные ответы (как с картошкой), тогда для этой цели она будет признана пригодной. Вопрос о том, для чего пригодна булева алгебра, а для чего - не пригодна остается за рамками самой булевой алгебры.

Итак, будем рассматривать интерпретацию булевой алгебры "истина"/"ложь". Пусть нам был дан некий фрагмент текста x и мы каким-то способом (который остается за рамками булевой алгебры) выясняем: истинный ли этот фрагмент текста или насколько истинный. Результат выяснения мы будем обозначать так: Tr(x). В некоторых случаях выяснить нам не удастся ничего, например, если этот фрагмент текста бессмысленный или непонятный. Если истинность установить можно, то такие тексты мы будем называть "высказываниями".

[высказывание]: Высказывание - это фрагмент текста, для которого можно выяснить его истинность (хотя бы приблизительно).

В булевой алгебре рассматриваются только те высказывания, для которых истинность может принимать два значения: либо истина (true), либо ложь (false). Другие значения - нельзя. Оба значения сразу - нельзя. Ни одного значения вообще - тоже нельзя. Подобные высказывания называются булевыми высказываниями. Любые другие тексты в булевой алгебре не рассматриваются. Не то, чтобы это было запрещено уголовным кодексом, просто таковы "область применимости" этого раздела математики.

[булево высказывание]: Булево высказывание - это такое высказывание, для которого рассматриваются только два значения истинности: true и false.

Поскольку в булевой алгебре есть только два значения истинности, то такую логическую систему называют двузначной. Есть и другие двузначные логические системы. Есть в математике и многозначные системы, которые допускают промежуточные градации между "истиной" и "ложью", так сказать "полутона", которые по смыслу соответствуют таким выражениям, как "сомнительно", "скорее всего истина", "вряд ли" и т.п. Тут важно отметить, что причины, по которым рассматриваются только две градации истинности, также остаются за рамками булевой алгебры.

Вопросы и задания для самостоятельной работы

  1. Приведите пример (или примеры) практического применения булевой алгебры.
  2. Что значит формула Tr(y)?
  3. Чем высказывания отличаются от других текстов?
  4. Приведите пример булева высказывания.
  5. Приведите пример небулева высказывания.
  6. Приведите пример текста, который не является высказыванием.
  7. В каких случаях можно применять булеву алгебру?
  8. В чем заключается абстрагирование в булевой алгебре?