diff -r fdb6c5034c24 -r 400e9512f1d3 src/HOL/Library/Boolean_Algebra.thy --- a/src/HOL/Library/Boolean_Algebra.thy Tue Nov 05 19:15:00 2019 +0100 +++ b/src/HOL/Library/Boolean_Algebra.thy Mon Nov 04 20:38:15 2019 +0000 @@ -211,7 +211,7 @@ definition xor :: "'a \ 'a \ 'a" (infixr "\" 65) where "x \ y = (x \<^bold>\ \ y) \<^bold>\ (\ x \<^bold>\ y)" -sublocale xor: abel_semigroup xor +sublocale xor: comm_monoid xor \ proof fix x y z :: 'a let ?t = "(x \<^bold>\ y \<^bold>\ z) \<^bold>\ (x \<^bold>\ \ y \<^bold>\ \ z) \<^bold>\ (\ x \<^bold>\ y \<^bold>\ \ z) \<^bold>\ (\ x \<^bold>\ \ y \<^bold>\ z)" @@ -222,6 +222,8 @@ (simp only: conj_disj_distribs conj_ac disj_ac) show "x \ y = y \ x" by (simp only: xor_def conj_commute disj_commute) + show "x \ \ = x" + by (simp add: xor_def) qed lemmas xor_assoc = xor.assoc