так вы, как я понял, рассматриваете двоичную арифметику и говорите о логичном переходе на троичную. совершенно согласен.
если мы конечно в какой-то момент согласимся, что двоичная логика это двоичная арифметика.
надо только предварительно договориться, что двоичная логика рассматривается с точки зрения жигалкина
, то есть как арифметика с * и + по модулю 2 (ну и другие расширенные операции), после чего мы очень естественно переходим на троичную арифметику.
значит оператор A xor B мы на тернарную логику не распространяем (боимся
).
мы рассматриваем вместо этого оператор (A + B ) mod 2, который легко переходит в троичную систему как (A + B ) mod 3.
в принципе это то, что я говорил.
но двоичная логика она того... это понятие включает в себя больше, чем реализация пространства бинарных арифметических операторов на поле бинарных чисел
иногда есть смысл рассмотреть именно A xor B или A neqv B кроме A + B.
в двоичной логике эти операторы совпадают, а в троичной уже могут и не совпадать.
вот пример из жизни.
булева логика как она введена в реляционных базах данных.
там для любого типа данных существует значение null ("не определено" или "пусто").
по стандарту ANSI все операции, в которые аргументом входит null (кроме < и > *), должны возвращать null. будь то 13+null или true or null.
сразу же производители бросились для удобства клиента нарушать стандарт.
например от документированных и переключаемых настроек бд MS SQL Server зависит
будет ли 10 + 20 + null равно null или 30,
а так же NULL or TRUE равно TRUE или NULL.
опция называется strict ANSI NULLs.
тернарная логика на алфавите null, false, true? да. даже целых два диалекта.
а вы говорите двоичная арифметика
_________________________
- null определяется как самое маленькое значение - для сортировки.