Миша заполнял таблицу истинности функции (x ∧ y) ∨ (y ≡ z) ∨ w, но успел заполнить лишь фрагмент из трёх различных её строк, даже не указав, какому столбцу таблицы соответствует каждая из переменных w, x, y, z.
| (x ∧ y) ∨ (y ≡ z) ∨ w | ||||
| 1 | 0 | 0 | 0 | |
| 0 | 1 | 0 | ||
| 0 | 1 | 1 | 0 |
Определите, какому столбцу таблицы соответствует каждая из переменных w, x, y, z.
В ответе напишите буквы w, x, y, z в том порядке, в котором идут соответствующие им столбцы (сначала буква, соответствующая первому столбцу; затем буква, соответствующая второму столбцу, и т. д.). Буквы в ответе пишите подряд, никаких разделителей между буквами ставить не нужно.
Пример. Функция задана выражением ¬x ∨ y, зависящим от двух переменных, а фрагмент таблицы имеет следующий вид.
| ¬x ∨ y | ||
| 0 | 1 | 0 |
В этом случае первому столбцу соответствует переменная y, а второму столбцу — переменная x. В ответе следует написать yx.
Рассмотрим данное выражение. Преобразуем логическое выражение (x ∧ y) ∨ (y ≡ z) ∨ w и получим систему, при которой оно ложно:
Значение выражения ложно только тогда, когда переменная w равна 0. Следовательно, столбцы, в которых содержится единица, не могут соответствовать переменной w, то есть переменной w соответствует первый столбец.
Значения переменных y и z не могут быть равны. Из первой строки заключаем, что третий и четвёртый столбец не могут соответствовать этим переменным, из третьей строки заключаем, что столбцы два и четыре не могут соответствовать этим переменным. Только столбцы два и три могут соответствовать переменным y и z. Следовательно, четвёртый столбец соответствует переменной x.
Рассмотрим третью строку таблицы. Переменная x равна 1, значит, для ложности выражения переменная y должна принимать значение 0. Вторая переменная при этом равна 1, откуда получаем, что вторая переменная соответствует z. Оставшийся столбец — переменная y.
Таким образом, ответ: wzyx.
Ответ: wzyx.
Приведем другое решение.
Составим таблицу истинности для выражения (x ∧ y) ∨ (y ≡ z) ∨ w вручную или при помощи языка Python:
print("x y z w")
for x in range(0, 2):
for y in range(0, 2):
for z in range(0, 2):
for w in range(0, 2):
if not((x and y) or (y == z) or w):
print(x, y, z, w)
Далее выпишем те наборы переменных, при которых данное выражение равно 0. В наборах переменные запишем в порядке х, y, z, w.
Получим следующие наборы:
(0, 0, 1, 0),
(0, 1, 0, 0),
(1, 0, 1, 0).
Сопоставим эти наборы с приведенным в задании фрагментом таблицы истинности.
Единственная переменная, которая принимает значение 1 два раза, — это переменная z. Следовательно, переменной z соответствует второй столбец. Поскольку переменная w принимает значения 0 во всех наборах, то переменной w соответствует первый столбец. Переменная y принимает значение 1, только когда переменная z принимает значение 0, поэтому переменной y соответствует третий столбец. Следовательно, переменной x соответствует четвертый столбец.

