Краткий ответ, да. a = false, b = false, c = true
является контрпримером, потому что ваше уравнение идентично (!!a || !!b || !c)
.
Длинный ответ:
!a!=!!b^!!-!a||!+!a|!c
есть
(((!a) != (!!b)) ^ (!!(-!a))) || ((!+!a)|!c)
, который уменьшается до
((Boolean(a) == Boolean(b)) ^ (!a)) || (Boolean(a) | !c)
, поэтому все a
, b
и c
рассматриваются только как значения true / falsey, и результат должен быть 1
или 0
, поскольку |
и ^
оба являются принудительными логическими значениями на номера.
Итак, очевидно (из проверки права ||
), если либо a
является правдивым, либо c
ложным, вы получите 1
.
Если a
неверно, а c
верно, у вас есть две возможности,
b
является правдой, в этом случае предложение ^
равно 1
, поэтому право на ||
никогда не достигается.
b
является ложным, в этом случае предложение ^
равно 0
, поэтому право на ||
доминирует, чтобы произвести 0
.