論理
プログラマの数学より
&&と||はAという条件によってBを調べるかどうか判断している
条件付き論理積(&&)
A && B
A = false のとき Bは調べずにfalse
A = true のとき Bの値に等しい
#以下のプログラムは同じ if(A && B) 処理 end if(A) if(B) 処理 end end
条件付き論理和(||)
A || B
A = true のとき Bは調べずにtrue
A = false のとき Bの値に等しい
(rubyやってるとnilガードの時に学ぶと思う)
#以下のプログラムは同じ if(A || B) 処理 end if(A) 処理 else if(B) 処理 end end
双対性
ある論理式の中で以下の3つをそれぞれ交換すると論理式全体を否定した論理式ができる
true ↔ false
A ↔ ¬A
∧ ↔ ∨
(¬A)∨(¬B) = ¬(A∧B)