I. Основы алгебры логики
Работа компьютера основана на алгебраической системе логики, разработанной в XIX в. английским математиком-самоучкой Джорджем Булем. {Буль старался решить вопрос, над которым за сто лет до него размышлял Лейбниц, — как подчинить логику математике. Он надеялся, что его система, "очистив логические аргументы от словесной шелухи", облегчит поиск правильного заключения и сделает его всегда достижимым. Рассмотрим основные положения этой системы.}
Опр. Высказывание — это любое предложение, в отношении которого имеет смысл утверждение об его истинности или ложности.
При этом высказывание или истинно, или ложно и не может быть одновременно и истинным, и ложным.
Примеры высказываний:
"Май – весенний месяц" – это истинное утверждение
(«Новороссийск – приморский город»);
"2+3=6" – ложное утверждение
(«На Кубани выращивают бананы»).
Возможны предложения без логического значения. Например:
«Зимой дни короче, чем летом» – не имеет логического значения в силу своей неполной определенности: не уточнено полушарие
("Вася – самый высокий человек в классе" – это утверждение может быть как истинным, так и ложным).
Истина и ложь образуют 2 логических значения. Обозначаются «True»/«False», «И.»/«Л.», «1»/«0».
Парадоксы представляют собой высказывания, которые имеют содержательный смысл, но не могут принимать определенного логического значения. Например, «парадокс лжеца»:
высказывание жителя острова Крит: «Все критяне – лжецы» (в современной интерпретации «Я – лжец»).
Предположение об истинности данного высказывания означает, что человек – лжец. Поскольку человек – лжец, то он лжет и в данном случае, следовательно, данное высказывание ложно. Аналогично, можно рассмотреть ситуацию, когда это высказывание ложно.
В алгебре логики все высказывания обозначаются буквами A, B, C и т. д., что позволяет манипулировать ими подобно тому, как в математике манипулируют обычными числами {и переменными}.
Над высказываниями могут выполняться следующие логические операции:
операция И – логическое умножение, конъюнкция, обозначается «&»;
операция ИЛИ – логическое сложение, дизъюнкция, обозначается «V»;
операция НЕ – отрицание, обозначается «¯».
Результаты этих операций определяются по правилам, указанным в следующей таблице:
A | B | A & B | A V B | |
0 (Л) 0 (Л) 1 (И) 1 (И) | 0 (Л) 1 (И) 0 (Л) 1 (И) | 0 (Л) 0 (Л) 0 (Л) 1 (И) | 0 (Л) 1 (И) 1 (И) 1 (И) | 1 (И) 0 (Л) |
Используя логические операции, можно получить более сложные высказывания. Например, если мы обозначим высказывания
5<3, X=1, 7=7
соответственно буквами A, B, и C, то:
высказывание "A И B И C" будет ложным, независимо от значения X,
высказывание "A ИЛИ B ИЛИ C" – истинно при любом значении X,
высказывание "A И B ИЛИ C" – истинно при любом значении X,
высказывание "A И ( B ИЛИ C)" – ложно при любом значении X,
высказывание "A ИЛИ B И C" – истинно при X=1 и ложно при X¹1.
Итак, логические действия двоичны по своей сути. Они оперируют лишь с двумя сущностями: {"истина" или "ложь", "да" или "нет", "открыт" или "закрыт", нуль или единица, называемыми логическими значениями.}
{Хотя система Буля допускает множество других операций, указанных трех уже достаточно для того, чтобы производить сложение, вычитание, умножение и деление или выполнять такие операции, как сравнение символов и чисел.}