Логическая функция F задаётся выражением (w → x) ∧ ((y → z) ≡ (x → y)). На рисунке приведён частично заполненный фрагмент таблицы истинности функции F, содержащий неповторяющиеся строки. Определите, какому столбцу таблицы истинности функции F соответствует каждая из переменных x, y, z, w.
| Переменная 1 | Переменная 2 | Переменная 3 | Переменная 4 | Функция |
|---|---|---|---|---|
| 0 | 1 | 1 | 0 | 1 |
| 1 | 0 | 1 | ||
| 1 | 0 | 1 |
В ответе напишите буквы x, y, z, w в том порядке, в котором идут соответствующие им столбцы (сначала — буква, соответствующая первому столбцу; затем — буква, соответствующая второму столбцу, и т. д.). Буквы в ответе пишите подряд, никаких разделителей между буквами ставить не нужно.
Пример. Пусть задано выражение x → y, зависящее от двух переменных x и y, и фрагмент таблицы истинности:
| Переменная 1 | Переменная 2 | Функция |
|---|---|---|
| ??? | ??? | F |
| 0 | 1 | 0 |
Тогда первому столбцу соответствует переменная y, а второму столбцу соответствует переменная x. В ответе нужно написать: yx.
Составим таблицу истинности для выражения (w → x) ∧ ((y → z) ≡ (x → y)) и выпишем те наборы переменных, при которых данное выражение равно 1. В наборах переменные запишем в порядке х, y, z, w. Получим следующие наборы:
(0, 0, 0, 0),
(0, 0, 1, 0),
(0, 1, 1, 0),
(1, 1, 1, 0),
(1, 1, 1, 1).
Сопоставим эти наборы с приведенным в задании фрагментом таблицы истинности.
Заметим, что наборы (0, 0, 0, 0) и (1, 1, 1, 1) можно не рассматривать, поскольку в каждой строке таблицы истинности есть как минимум один ноль и одна единица.
Первая строка таблицы может соответствовать только набору (0, 1, 1, 0). Следовательно, переменные x и w соответствуют либо первому столбцу, либо четвёртому столбцу, переменные y и z равны 1, значит, переменные y и z соответствуют либо второму столбцу, либо третьему столбцу.
Теперь рассмотрим вторую строку таблицы истинности. Заметим, что значение ячейки в первом столбце равно 1, а значение ячейки в четвёртом столбце равно 0, то есть одна из переменных x или w равна 1, а вторая равна 0. Значит, эта строка может соответствовать только набору (1, 1, 1, 0). Тогда первый столбец таблицы истинности соответствует переменной x, а четвёртый столбец соответствует переменной w.
Теперь рассмотрим третью строку таблицы истинности. Заметим, что значение ячейки во втором столбце равно 1, а значение ячейки в третьем столбце равно 0, то есть одна из переменных y или z равна 1, а вторая равна 0. Значит, эта строка может соответствовать только набору (0, 0, 1, 0). Тогда второй столбец таблицы истинности соответствует переменной z, а третий столбец соответствует переменной y.
Ответ: xzyw.
Приведём другое решение.
Составим таблицу истинности для выражения (w → x) ∧ ((y → z) ≡ (x → y)) вручную или при помощи языка 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 (w <= x) and ((y <= z) == (x <= y)):
print(x, y, z, w)
Далее выпишем те наборы переменных, при которых данное выражение равно 1. В наборах переменные запишем в порядке х, y, z, w и отбросим неподходящие наборы (0, 0, 0, 0) и (1, 1, 1, 1), как и в основном решении. Останутся наборы:
(0, 0, 1, 0),
(0, 1, 1, 0),
(1, 1, 1, 0).
Заметим, что во всех этих наборах переменная z принимает значение 1. Следовательно, ей может соответствовать только второй столбец таблицы истинности. Переменная w во всех наборах принимает значение 0. Следовательно, ей соответствует четвертый столбец таблицы.
Первая строка таблицы истинности (два нуля и две единицы) соответствует набору (0, 1, 1, 0), в котором, кроме переменной z, единичное значение принимает также переменная y. Следовательно, переменной y соответствует третий столбец таблицы. Тогда первый столбец — это переменная x.

