(***************************)
(** * Properties of [andb] *)
(***************************)

(* Specifications: *)
Lemma andb_true_iff :
forall b1 b2:bool, b1 && b2 = true <-> b1 = true /\ b2 = true.
Lemma andb_false_iff :
forall b1 b2:bool, b1 && b2 = false <-> b1 = false \/ b2 = false.
Lemma andb_true_eq :
forall a b:bool, true = a && b -> true = a /\ true = b.
Lemma andb_false_intro2 : forall b1 b2:bool, b2 = false -> b1 && b2 = false.
(** [false] is a zero for [andb] *)
Lemma andb_false_r : forall b:bool, b && false = false.
Lemma andb_false_l : forall b:bool, false && b = false.
Notation andb_b_false := andb_false_r (only parsing).