+nlemma eqbool_to_eq : ∀b1,b2:bool.(eq_bool b1 b2 = true) → (b1 = b2).
+ #b1; #b2; #H;
+ nletin K ≝ (bool_destruct ?? (b1 = b2) H);
+ nelim b1 in K:(%) ⊢ %;
+ nelim b2;
+ nnormalize;
+ ##[ ##2,3: #H; napply H
+ ##| ##1,4: #H; napply (refl_eq ??)
+ ##]
+nqed.
+
+nlemma eq_to_eqbool : ∀b1,b2.b1 = b2 → eq_bool b1 b2 = true.
+ #b1; #b2; #H;
+ nletin K ≝ (bool_destruct ?? (eq_bool b1 b2 = true) H);
+ nelim b1 in K:(%) ⊢ %;
+ nelim b2;
+ nnormalize;
+ ##[ ##2,3: #H; napply H
+ ##| ##1,4: #H; napply (refl_eq ??)
+ ##]
+nqed.
+
+nlemma andb_true_true_l: ∀b1,b2.(b1 ⊗ b2) = true → b1 = true.
+ #b1; #b2; #H;
+ nletin K ≝ (bool_destruct ?? (b1 = true) H);
+ nelim b1 in K:(%) ⊢ %;
+ nelim b2;
+ nnormalize;
+ ##[ ##3,4: #H; napply H
+ ##| ##1,2: #H; napply (refl_eq ??)
+ ##]
+nqed.
+