Простейшие логические операции (закрепление)
Поскольку элементарные логические операции - ключевая часть логики, их необходимо помнить наизусть. Вместо тупой зубрежки для закрепления я рассмотрю их еще раз, немного под другим углом зрения.
1. Как они выражаются в естественной речи
А давайте-ка составим русско-логический и логически-русский словари. Пусть x и y - высказывания (т.е. завершенные по смыслу утверждения). Тогда вот так будут выглядеть правила перевода с языка математической логики на естественный язык и обратно:
Язык логики: “НЕ x”
Язык логики: “NOT x”
Естественный язык: “Неправда, что x.”
Язык логики: “x И y”
Язык логики: “x AND y”
Естественный язык: “x, и y.”
Язык логики: “x ИЛИ y”
Язык логики: “x OR y”
Естественный язык: “x, или y, или и то, и другое вместе.”
Язык логики: “x XOR y”
Естественный язык: “Либо x, либо y, но не то, и другое вместе.”
На естественном языке часто выражаются короче. Но я выбрал те формулировки, которые подходят в любом случае и не допускают неоднозначных толкований. Т.е. эти правила представляют собой некий многословный, но очень надежный эталон перевода, который потом можно попытаться сократить.
2. Логические операции как функции
Если говорить строго математически, то всякая функция - это некоторое бинарное отношение типа “гомоморфизм”. Понятия “гомоморфизм” и “бинарное отношение” подробно рассматривались в 5 параграфе. Вкратце поясню, что это значит в данном случае: для каждого аргумента (или набора аргументов) функции существует ровно одно значение. На “входе” функции задается какой-то аргумент (или аргументы), на “выходе” получаем какой-то результат.
Операции - это те же функции, просто запись немножко в другой форме. Вот, например, функция “синус”. У нее 1 аргумент, и пишется она так: “sin(x)”. А вот логическая операция отрицания. У нее тоже 1 аргумент, только пишется она без скобок: “НЕ x”. В математике есть и другие “нестандартные” формы записи. Например, факториал - тоже функция от 1 аргумента, а пишется вот так: “x!”.
Функции от двух аргументов пишутся как-нибудь так: “f(x, y)”. Пример из школьной программы - функция логарифма: “logx y”. Тоже нестандартная форма записи. Математики развлекаются по-всякому. Логические операции И, ИЛИ, XOR - это тоже функции от двух аргументов с нестандартной формой записи. Например: “x ИЛИ y”. Всякие арифметические операции, кстати, тоже функции. Например “x + y” можно было бы записать как-нибудь так: “sum(x, y)”.
3. Как их вычислять
Запоминать правила вычисления можно по-разному. Я предложу несколько способов, а вы сами выберете тот, который вам больше подойдет.
Таблицы истинности
Вы, наверное, помните еще со школы, что функции иногда можно задавать таблицами: слева - аргумент (или аргументы), справа - значение. Для табличного представления логических функций зачем-то придумали особое название: “таблицы истинности”. Наверное, это особо круто звучит.
Вот эти таблички:
x НЕ x
false true
true false
x y x И y
false false false
false true false
true false false
true true true
x y x ИЛИ y
false false false
false true true
true false true
true true true
x y x XOR y
false false false
false true true
true false true
true true false
Тут, наверное, и пояснять особо нечего. Последняя колонка - результат, остальные колонки - аргументы. Все просто.
Cловесные правила
Можно запомнить операции через простые словесные правила:
Операция “НЕ” переворачивает аргумент наоборот.
Операция “И” дает true, когда оба аргумента true. А иначе false.
Операция “ИЛИ” дает false, когда оба аргумента false. А иначе true.
Операция “XOR” дает true, когда ровно один аргумент true. А иначе false.
Правила с пересчетом
Эти операции можно описать еще и так: задать вопрос: сколько аргументов должны быть true, чтобы результат был true?
“НЕ” - ровно 0 аргументов
“XOR” - ровно 1 аргумент
“И” - ровно 2 аргумента
“ИЛИ” - от 1 до 2 аргументов
Анонс на следующий раз:
Мы рассмотрим законы поглощения. Вы увидите, как из них очень просто получаются разнообразные следствия, для которых древние философы придумывали витиеватые наименования типа "закона исключенного третьего".