Ваша формула:
( (B'C)' * (B'D')' )'
Предположим, что '
является отрицанием, а *
и сопоставление используются для соединения; дизъюнкция не показана, но будет обозначена +
. Давайте перепишем формулу, используя вместо этого not
и and
:
not (not (not B and C) and not (not B and not D))
Давайте также укажем, какие not
идут с какими and
:
not (not (not B and C) and not (not B and not D))
^1 ^2 ^2 ^1 ^3 ^3
Таким образом, мы можем исключить три not
и заменить соответствующие and
тремя nand
:
(not B nand C) nand (not B nand not D)
Мы сразу видим, что исходная формула не была выражена с использованием только nand
s, поскольку удаление пар not
s и and
s с использованием определения nand
не устраняло не-nand
операторов.
Однако исходная формула состоит только из and
и not
. Поскольку любую формулу можно написать только с помощью nand
s, эта может. Ленивый способ - просто использовать not x = x nand x
три раза, чтобы удалить каждый из оставшихся not
.
person
Patrick87
schedule
27.11.2017
NAND(x, y)
точно эквивалентенNOT(AND(x, y))
(по определению), но неясно, как это относится к примеру в вашем вопросе. - person Oliver Charlesworth   schedule 26.11.2017