((NOT A) XOR B) と A→B ("iff....then") (~A→~B) は論理的に同じであるため (たとえば、認証が発生しない限りログインは発生しません)、実用的な用途またはは単なる論理トートロジーであり、プログラマーは XOR を使用する場所と if を使用する場所を任意に決定できます。
書き換えの例は payment→delivery ("iff payment() == 'complete' then delivery()") を ((NOT payment()) XOR delivery()) に書き換えたものです
編集:真理値表
A: お支払い B: 配送
AB A' (A→B) (A' XOR B) (A' OR B) TTFTTT TFFFFF
失敗したところ
AB A' (A→B) (A' XOR B) (A' OR B) TFFFFF
そして、A が false の場合は単に false B であり、以下のすべては B が false であることを意味します (NOT A であるため)。
AB A' (A→B) (A' XOR B) (A' OR B) FTTTFT _ _ FFTTTT
またはgoal → score ^ ¬goal→¬score
、決定論があり、他の方法がないようにします(ゴールを決めなければ得点できません)。