Решение на Python:
Составим таблицу истинности для выражения вручную или при помощи языка Python:
from itertools import product
print("w z x y")
for w, x, y, z in product((0, 1), repeat=4):
if ( not z and y and x and not w ) or ( not z and y and not x and not w ) or ( z and y and x and not w ):
print(w, z, x, y)
Далее выпишем те наборы переменных, при которых данное выражение равно 1.
В наборах переменные запишем в порядке w, z, x, y.
Получим следующие наборы:
(0, 0, 0, 1),
(0, 0, 1, 1),
(0, 1, 1, 1),
Сопоставим эти наборы с приведённым в задании фрагментом таблицы истинности.
Поскольку только переменная w принимает значение 0 во всех строках, то ей соответствует 1-й столбец.
Рассмотрим строку таблицы истинности №1. Заметим, что только она может соответствовать набору (0, 0, 0, 1). Так как единственное значение 1 среди переменных принимает переменная y, то ей соответствует 4-й столбец.
Рассмотрим оставшиеся строки таблицы истинности. Тогда 3-й столбец соответствует переменной x, а 2-й столбец — переменной z.
Следовательно, переменные идут по столбцам в порядке wzxy.
Логическое решение:
Шаг 1. Находим столбец w
Во всех найденных наборах переменная w принимает значение 0.
В таблице этому соответствует 1-й столбец.
1-й столбец — это w.
Шаг 2. Что должно выполняться в остальных столбцах
Остаются условия:
- ( ¬z ∧ y ∧ x ∧ ¬w ) ∨ ( ¬z ∧ y ∧ ¬x ∧ ¬w ) ∨ ( z ∧ y ∧ x ∧ ¬w ) = 1
Важно: каждая строка таблицы должна гарантировать выполнение этих условий, а не «позволять подобрать значения».
Шаг 3. Подбор переменных
Если считать:
- 1-й столбец — w
- 2-й столбец — z
- 3-й столбец — x
- 4-й столбец — y
то во всех 3 строках фрагмента условия выполняются.
Итоговый ответ
Переменные идут по столбцам в порядке:
wzxy