К содержанию

Задание 2

Таблицы истинности

Когда истинны логические операции, как найти строки таблицы, где формула равна 1, и подписать столбцы фрагмента — вручную и программой.

4 подтемы · 31 задача · базовый · ≈ 3 мин

Подтема 1 из 4

Логические операции

Пять логических операций — отрицание, И, ИЛИ, импликация и равнозначность: когда каждая истинна, а когда ложна.

Как устроена тема

В задании 2 дана логическая формула и несколько строк её таблицы истинности. Над столбцами не написано, какой столбец какой переменной принадлежит, а часть клеток пустая. Вот задача, которую мы будем решать всю тему: формула F = ¬x ∧ (y ∨ z) ∧ (z → w), а ниже — три разные строки её таблицы, в каждой F = 1.

????F
101
001
1011

Нужно определить, какой переменной соответствует каждый столбец, и записать буквы в порядке столбцов слева направо — например, zyxw. В таблицах истинности 1 означает истину, 0 — ложь. Пустая клетка — не третье значение: в ней стоит 0 или 1, просто его не показали.

Для этого нужны три умения — каждому посвящена своя подтема, а в четвёртой те же наборы получим программой. У каждой подтемы своя страница, идём по ним по порядку:

  1. Логические операции — ты сейчас здесь: когда истинна каждая операция.
  2. Формула и её таблица — при каких значениях переменных формула равна 1.
  3. Фрагмент и порядок столбцов — как подобрать столбцы, и ответ задачи темы.
  4. Решение программой — те же наборы — программой на Python.

Отрицание

Отрицание меняет значение на противоположное. Записывается ¬A и читается «не A»: если A — «число чётное», то ¬A — «число нечётное». Два отрицания возвращают исходное значение: ¬¬A = A.

A¬A
01
10

Скобки показывают, что именно отрицается. В ¬(x ∧ y) сначала вычисляют x ∧ y, а потом меняют результат; в ¬x ∧ y меняют только x. При x = 0, y = 0 первое выражение равно 1, второе — 0. Иногда отрицание пишут чертой сверху — тогда смотри, над какой частью она проходит.

Тонкости:отрицание скобки

¬(x ∨ y) не равно ¬x ∨ ¬y: при x = 1, y = 0 слева ¬1 = 0, справа 0 ∨ 1 = 1. Отрицание скобки не раскладывают на части — сначала вычисляют скобку, затем меняют её значение.

Конъюнкция

И (конъюнкция, A ∧ B) истинно, только когда истинны обе части. Например, для прохода нужны и пропуск, и разрешение: без любого из них пройти нельзя.

ABA ∧ B
000
010
100
111

Поэтому из A ∧ B = 1 следует сразу A = 1 и B = 1, а из A ∧ B = 0 — только то, что хотя бы одна часть равна 0. Частей может быть больше: A ∧ B ∧ C = 1, только если все три равны 1.

Дизъюнкция

ИЛИ (дизъюнкция, A ∨ B) истинно, когда истинна хотя бы одна часть. Условие «предъяви паспорт или загранпаспорт» выполнено, если есть хотя бы один документ, — и тем более если есть оба.

ABA ∨ B
000
011
101
111

В речи «или» иногда значит «одно из двух, но не оба»; в логике две единицы тоже дают 1. Из A ∨ B = 0 следует, что обе части равны 0, а из A ∨ B = 1 — только то, что хотя бы одна равна 1. A ∨ B ∨ C = 0, только если все три равны 0.

Импликация

Импликация A → B ложна в единственном случае: A = 1, B = 0. Её читают «если A, то B»: A — условие, B — требование. Возьмём правило «если участник набрал проходной балл, его допускают к следующему этапу»: A — балл набран, B — допуск.

ABA → BПочему
001Балла нет, допуска нет — правило не нарушено
011Балла нет, но допустили по другой причине — не нарушено
100Балл есть, а допуска нет — нарушение
111Балл есть и допуск есть — правило выполнено

Запомни одну запрещённую пару 1 → 0 — остальные три дают 1. У стрелки есть направление: A → B и B → A — разные выражения. При A = 0, B = 1 первое равно 1, а второе — 0.

Тонкости:импликация через ИЛИ

Чтобы не попасть в пару 1 → 0, достаточно, чтобы A было ложно или B истинно: A → B = ¬A ∨ B. Отсюда два частных случая, полезных в рассуждениях: при A = 1 значение стрелки равно B, при B = 0 — равно ¬A.

Равнозначность

Равнозначность A ≡ B истинна, когда значения одинаковы — два нуля тоже. Её ещё называют эквивалентностью. Результат 1 означает «одинаковы», 0 — «различаются».

ABA ≡ B
001
010
100
111

Из A ≡ B = 1 нельзя заключить, что A = B = 1: подходит и пара 0, 0. Все четыре операции с двумя частями — на одной схеме:

Четыре операции на одних и тех же парах A, B. У И единица одна — на паре 1, 1; у ИЛИ ноль один — на 0, 0; у импликации ноль один — на 1, 0; равнозначность даёт 1 на двух одинаковых парах.

Итого

  • ¬Aменяет 0 на 1 и 1 на 0; у ¬(…) сначала скобка
  • A ∧ B1 только при двух единицах
  • A ∨ B0 только при двух нулях
  • A → B0 только при 1 → 0; направление не меняют
  • A ≡ B1, когда значения одинаковы, 0 ≡ 0 тоже
  • Пустая клеткаскрывает 0 или 1

Проверьте себя

Ответь сначала сам, потом открой ответ.

Вопрос 1
При A = 0, B = 1 найди ¬A, A ∧ B, A ∨ B, A → B, B → A и A ≡ B.
ОтветСкрыть ответ
Ответ
По порядку: 1, 0, 1, 1, 0, 0. В A → B слева 0 — запрещённой пары 1 → 0 нет. В B → A слева 1, справа 0 — это она, результат 0. Значения A и B разные, поэтому A ≡ B = 0.
Вопрос 2
Перечисли все пары A, B, при которых: а) A ∧ B = 0; б) A ∨ B = 1; в) A → B = 0; г) A ≡ B = 1.
ОтветСкрыть ответ
Ответ
а) 00, 01, 10 — хотя бы один ноль. б) 01, 10, 11 — хотя бы одна единица. в) Только 10. г) 00 и 11 — значения совпадают. В каждой паре сначала A, затем B.
Вопрос 3
Правило: «если идёт дождь, то я беру зонт», A — дождь, B — зонт. Какой случай нарушает правило? Почему «дождя нет, а зонт взят» — не нарушение?
ОтветСкрыть ответ
Ответ
Нарушение — дождь есть, а зонта нет: A = 1, B = 0. Когда дождя нет (A = 0), правило ничего не требует, поэтому зонт без дождя его не нарушает.
Вопрос 4
Чему равны x ∨ ¬x и x ∧ ¬x при x = 0 и при x = 1?
ОтветСкрыть ответ
Ответ
x ∨ ¬x = 1 и x ∧ ¬x = 0 при обоих значениях: одно из x и ¬x всегда равно 1, а оба сразу — никогда.
Вопрос 5
Известно, что A → B = 1 и A = 1. Что можно сказать о B? А если известно только A → B = 1 и B = 1 — что можно сказать об A?
ОтветСкрыть ответ
Ответ
В первом случае B = 1: при A = 1 и B = 0 стрелка была бы ложна. Во втором об A ничего сказать нельзя: 0 → 1 и 1 → 1 оба дают 1.

Практика

Для проверки ответов нужен JavaScript. Условия, подсказки и решения доступны ниже.

Стрелки при A = B = 1

При A = 1, B = 1 найди A → B, B → A, A ≡ B и ¬A ∨ B.

Введите четыре значения через пробел в порядке вопроса.

И ложно, ИЛИ истинно

Найди все пары A, B, при которых одновременно A ∧ B = 0 и A ∨ B = 1.

Введите пары AB через пробел в порядке возрастания, каждую — цифрами подряд.

Стрелка и равнозначность при двух нулях

При A = 0, B = 0 найди A → B, A ≡ B и ¬(A ∨ B).

Введите три значения через пробел в порядке вопроса.

Две стрелки сразу

Найди все пары A, B, при которых одновременно A → B = 1 и B → A = 1.

Введите пары AB через пробел в порядке возрастания, каждую — цифрами подряд.

Отрицание скобки

При x = 1, y = 0 найди ¬(x ∨ y) и ¬x ∨ ¬y.

Введите два значения через пробел в порядке вопроса.