Логическая функция задаётся выражением
Ниже представлен фрагмент таблицы истинности функции содержащий неповторяющиеся строки, при которых функция
истинна.
Определите, какому столбцу таблицы истинности функции соответствует каждая переменная
Решениие программой
print(’x y z w’)
a = (0, 1)
for x in a:
for y in a:
for z in a:
for w in a:
if (w and (x or not(y)) and not(w == z)) == True:
print(x, y, z, w)
Решениие руками
Заметим, что во всех трех строках Чтобы конъюнкция была истинна (все высказывания, входящие в нее, должны быть истинны),
всегда должна равняться единице. Этому условию соответствует только первый столбец, т.к в других присутствует хотя бы один ноль. Также
и
должны быть истинны, чтобы конъюнкция была истинна.
Если то
Мы уже знаем, что Тогда чтобы операция эквивалентности
была ложна,
должна быть равна 0 (операция эквивалентности ложна, если одно высказывание, входящее в нее, ложно, а другое истинно). Тогда
— это второй или третий столбец, потому что первый — это уже
а в четвертом во второй строке содержится единица.
Рассмотрим вторую строчку. Её удобно рассматривать, так как нам известно, что в первом столбце будет единица (так как он соответствует значит, нам известны все значения в этой строке. Таким образом, в этой строке две единицы и два нуля. Если
то
(так как в строке всего две единицы, которые при таком предположении уже соответствуют
и
Но тогда
Такое нам не подходит, ведь функция
должна быть истинна. Значит,
должна быть равна 1. Она будет соответствовать четвертому столбцу.
Разберемся со вторым и третьим столбцами. Предположим, что соответствует третьему столбцу, тогда
— это второй столбец. Рассмотрим первую строку.
значит, чтобы
была истинна,
должна быть равна 1 и
Тогда таблица истинности из условия будет выглядеть так:
Нам сказано, что в приведенном фрагменте таблицы истинности содержатся неповторяющиеся строки. Если то третья строка будет совпадать со второй. Если
то третья строка будет совпадать с первой. Значит, наше предположение было неверным. Тогда второй столбец — это
а третий — это
Тогда таблица будет выглядеть так:
Если то
(чтобы
была истинна). Если
то
может быть любым (так как одно из высказываний, входящих в дизъюнкцию, уже истинно), но такие значения уже содержатся в первых двух строках.
Значит, итоговая таблица будет выглядеть так: