• Статья подготовлена командой itpy, подписывайтесь на наш телеграм канал!
Какие существуют операции?
Начать статью хотелось бы с перечисления этих самых логических операций.
Всего, для подготовки к КЕГЭ следует знать 5 операций:Конъюнкция или логическое умножение
Дизъюнкция или логическое сложение
Инверсия или логическое отрицание
Импликация или логическое следование
Эквивалентность или логическое тождество
Далее, продолжим по списку.
Как и в любом изучении следует начать с определения, а дальше разбираться с практической частью, поэтому мы так и поступим для общего удобства :)
Конъюнкция или логическое умножение
Конъю́нкция (от лат. conjunctio — «союз, связь») — логическая операция, по смыслу максимально приближенная к союзу «и». Синонимы: логи́ческое «И», логи́ческое умноже́ние, иногда просто «И».
Конъюнкция может быть бинарной операцией (т. e. иметь два операнда), тернарной операцией (т. e. иметь три операнда), или n-арной операцией (т. e. иметь n операндов).
Наиболее часто встречается следующее обозначение:
a /\ b
Но в Python мы используем другое обозначение:
a and b
Из заголовка пункта становится понятно, что в целом-то, конъюнкция представляет из себя ни что иное, как умножение одного операнда, на другой операнд.
Дизъюнкция или логическое сложение
Дизъю́нкция (от лат. disjunctio — «разобщение»), логи́ческое сложе́ние, логи́ческое ИЛИ, включа́ющее ИЛИ; иногда просто ИЛИ — логическая операция, по своему применению максимально приближённая к союзу «или» в смысле «или то, или это, или оба сразу».
Дизъюнкция может быть операцией как бинарной (имеющей два операнда), так и n-арной (имеющей n операндов) для произвольного n.
Запись может быть префиксной — знак операции стоит перед операндами (польская запись, подробнее здесь ⇒ [Польская запись]), инфиксной — знак операции стоит между операндами или постфиксной — знак операции стоит после операндов. При числе операндов более двух префиксная и постфиксная записи экономичнее.
Наиболее частое обозначение:
a \/ b
Для Python:
a or b
По аналогии с конъюнкцией, получаем узкое представление о том, что такое дизъюнкция.
Инверсия или логическое отрицание
Отрица́ние (инве́рсия, от лат. inversio — переворот, логи́ческое «НЕ») в логике — унарная операция над суждениями, результатом которой является суждение, «противоположное» исходному.
Тавтология двойной инверсии в математической логике - это выражение, которое всегда истинно независимо от значений переменных. Оно имеет вид "¬¬A", где "A" - некоторое высказывание. То есть, если "A" истинно, то "¬A" ложно, и наоборот. А двойная инверсия "¬¬A" снова делает выражение истинным.
Обозначается знаком ¬ перед или чертой — над суждением.
В Python:
not(a)
Импликация или логическое следование
Имплика́ция (от лат. implicatio — «связь; сплетение») — бинарная логическая связка, по своему применению приближенная к союзам «если…, то…».
Суждение, выражаемое импликацией, выражается также следующими способами:
- a (посылка) является условием, достаточным для выполнения b (следствия):
- b (следствие) является условием, необходимым для истинности a (посылки).
Импликация играет очень важную роль в умозаключениях. С её помощью формулируются определения различных понятий, теоремы, научные законы.
При учёте смыслового содержания высказываний импликация подразумевает причинную связь между посылкой и заключением.
Импликация записывается как a ⇒ b; применяются также стрелки другой формы и направленные в другую сторону, но всегда указывающие на следствие. А в Python запись выглядит следующим образом: a <= b.
Эквиваленция или логическое тождество
Логическая равнозначность или эквивале́нция (или эквивале́нтность) — это логическое выражение, которое является истинным тогда, когда оба простых логических выражения имеют одинаковую истинность.
Специфика союза “эквиваленция” состоит в том, что эквивалентное суждение признается истинным, когда оба входящие в ее состав исходные суждения имеют одинаковое значение истинности: либо они одновременно истинные, либо одновременно ложные.
Логический смысл высказывания вида A↔Β равносилен смыслу выражения (A→Β)&(A←Β). Данные выражения принимают значение «истина» в одних и тех же случаях: 1) когда А и В истинны, 2) когда А и В ложны. Таким образом, функция эквиваленции выразима посредством функций конъюнкции и импликации.
Логическую эквивалентность a и b иногда обозначают как a≡b, a::b, Eab, или a⟺b, в зависимости от используемой нотации. В Python a==b
Теперь стоит поговорить про так называемые таблицы истинности.
Таблицы истинности
Таблица истинности — таблица, описывающая логическую функцию.
Под «логической функцией» в данном случае понимается функция, у которой значения переменных (параметров функции) и значение самой функции выражают логическую истинность. Например, в двузначной логике они могут принимать значения «истина» либо «ложь» (1 либо 0).
Табличное задание функций встречается не только в логике, но и в логических функциях. Таблицы оказались довольно удобными, и с начала XX века за ними закрепилось это специальное название. Особенно часто таблицы истинности применяются в булевой алгебре.
Вот несколько примеров таблиц описывающих операции, про которые мы узнали выше:
1. Конъюнкция Бинарная:
Тренарная:
2. Дизъюнкция Бинарная:
Тренарная:
3. Инверсия
4. Импликация
Импликация как булева функция ложна лишь тогда, когда a (посылка) истинна, а b (следствие) ложно. Иными словами, операция A→B — это сокращённая запись выражения ¬A∨B
5. Эквиваленция
Правила построения таблицы истинности
При составлении таблицы истинности важно учитывать следующий порядок выполнения
- Инверсия
- Конъюнкция
- Дизъюнкция
- Импликация
- Эквиваленция
Далее требуется определить количество столбцов и строк. Строки определяются по формуле 2^n + 1, а количество столбцов по формуле — количество переменных + количество операций (учитывая приоритет). Только после определения всего этого, можно будет перейти к заполнению таблицы
Так, например, для бинарного выражения — (A \/ B) /\ (¬A \/ ¬B) /\ (A \/ ¬B), получится такая таблица: