Разбор задачи 2

Логическая функция F задаётся выражением ((x → y ) ≡ (z → w)) ∨ (x ∧ w).

Дан частично заполненный фрагмент, содержащий неповторяющиеся строки таблицы истинности функции F.

Определите, какому столбцу таблицы истинности соответствует каждая из переменных xyzw.

Переменная 1 Переменная 2 Переменная 3 Переменная 4 Функция
??? ??? ??? ??? F
1 0
1 1 0
1 1 1 0

 

В ответе напишите буквы xyzw в том порядке, в котором идут соответствующие им столбцы (сначала  — буква, соответствующая первому столбцу; затем  — буква, соответствующая второму столбцу, и т. д.). Буквы в ответе пишите подряд, никаких разделителей между буквами ставить не нужно.

Пример. Пусть задано выражение x → y, зависящее от двух переменных x и y, и фрагмент таблицы истинности:

Переменная 1 Переменная 1 Функция
??? ??? F
0 1 0

 

Тогда первому столбцу соответствует переменная y, а второму столбцу соответствует переменная x. В ответе нужно написать: yx.

РЕШЕНИЕ

Правила перевода в python

Логическая операция python
Отрицание ¬ not()
Логическое умножение ∧ and
Логическое сложение ∨ or
Следование X ⟶ Y x <= y
Равносильность ≡ ==

print("x y z w")
for x in 0,1:
    for y in 0,1:
        for z in 0,1:
            for w in 0,1:
                if not(((x <= y) == (z <= w)) or (x and w)):
                    print(x, y, z, w)