Как в психологии двойное связывание, есть ли способ сказать, что одно выражение подразумевает другое, и наоборот?
valid_last_error: attached last_error implies not attached last_success_message
valid_last_success_message: attached last_success_message implies not attached last_error
будет выглядеть примерно так:
valid_last_error: attached last_error double_binded_not attached last_success_message
, что может быть эквивалентно
valid_last_error: attached last_error never_with attached last_success_message
- T означает True booleanвыражение
- F для False
- R для результата
подразумевает (a, b: BOOLEAN): BOOLEAN
a b R
T T T
T F F
F T T
F F T
и (a, b: BOOLEAN): BOOLEAN
a b R
T T T
T F F
F T F
F F F
или (a, b: BOOLEAN): BOOLEAN
a b R
T T T
T F T
F T T
F F F
xor (a, b: BOOLEAN): BOOLEAN
a b R
T T F
T F T
F T T
F F F
double_implies (a, b: BOOLEAN): BOOLEAN
a b R
T T F
T F T
F T T
F F T
в качестве, возможно, более объясняющего примера (более известного) вместо записи
invalid_index_implies_off: index < 1 implies off
off_implies_invalid_index: off implies index < 1
мы могли бы написать:
index_coherent_with_off: index < 1 never_both off
, который бы просто добавил функцию в класс BOOLEAN, такую как
alias never_with, alias reversible_implies (v: like Current): like Current
do
if Current and v then
Result := False
else
Result := True
end
end
Надеюсь, теперь все поняли мою точку зрения ... Яне знаю, существует ли такой арифметический оператор.
Мы могли бы расширить его на переменное число параметров