Notation andb_prop2 := andb_prop_elim (only parsing).

(* Specifications: *)
Lemma eq_bool_prop_intro : forall b1 b2, (Is_true b1 <-> Is_true b2) -> b1 = b2.
Lemma eq_bool_prop_elim : forall b1 b2, b1 = b2 -> (Is_true b1 <-> Is_true b2).
Lemma negb_prop_elim : forall b, Is_true (negb b) -> ~ Is_true b.
Lemma negb_prop_intro : forall b, ~ Is_true b -> Is_true (negb b).
Lemma negb_prop_classical : forall b, ~ Is_true (negb b) -> Is_true b.
Lemma negb_prop_involutive : forall b, Is_true b -> ~ Is_true (negb b).
Lemma andb_if : forall (A:Type)(a a':A)(b b' : bool), (if b && b' then a else a') = (if b then if b' then a else a' else a').
Lemma negb_if : forall (A:Type)(a a':A)(b:bool), (if negb b then a else a') = (if b then a' else a).