+lemma eqbool_switch : ∀b1,b2.eq_bool b1 b2 = eq_bool b2 b1.
+ do 2 intro;
+ elim b1; elim b2;
+ reflexivity.
+qed.
+
+lemma andbool_switch : ∀b1,b2.and_bool b1 b2 = and_bool b2 b1.
+ do 2 intro;
+ elim b1; elim b2;
+ reflexivity.
+qed.
+
+lemma orbool_switch : ∀b1,b2.or_bool b1 b2 = or_bool b2 b1.
+ do 2 intro;
+ elim b1; elim b2;
+ reflexivity.
+qed.
+
+lemma xorbool_switch : ∀b1,b2.xor_bool b1 b2 = xor_bool b2 b1.
+ do 2 intro;
+ elim b1; elim b2;
+ reflexivity.
+qed.
+
+
+lemma orb_false_false :
+ ∀b1,b2:bool.((or_bool b1 b2) = false) → b1 = false.
+ intros 2;
+ elim b1 0;
+ elim b2;
+ simplify in H;
+ try destruct H;
+ reflexivity.
+qed.
+
+lemma orb_false_false_r :
+ ∀b1,b2:bool.((or_bool b1 b2) = false) → b2 = false.
+ intros 2;
+ elim b1 0;
+ elim b2;
+ simplify in H;
+ try destruct H;
+ reflexivity.
+qed.
+