Theory Xor
theory Xor
imports Main
begin
section‹XOR›
text‹Entweder Oder›
definition xor :: "bool ⇒ bool ⇒ bool" (infixr "⊕" 59) where
"a ⊕ b ≡ ¬ (a ⟷ b)"
lemma "(a ⊕ b) = (¬ (a ⟷ b))" by(simp add: xor_def)
lemma xor2: "(a ⊕ b) = ((a ∧ ¬b) ∨ (¬a ∧ b))" by(auto simp add: xor_def)
lemma xor3: "(a ⊕ b) = (a ≠ b)" by(auto simp add: xor_def)
lemma xor4: "(a ⊕ b) = (a = (¬b))" by(auto simp add: xor_def)
lemma xor5: "(a ⊕ b) = ((a ∨ b) ∧ ¬(a ∧ b))" by(auto simp add: xor_def)
text‹Entweder-Oder ist stärker als nur Oder:›
lemma xor_imp_or: "a ⊕ b ⟹ a ∨ b"
by(simp add: xor5)
end