(**********************************)
(** * A synonym of [if] on [bool] *)
(**********************************)
Open Scope bool_scope.
(*********************)
(** * De Morgan laws *)
(*********************)

(* Specifications: *)
Lemma negb_orb : forall b1 b2:bool, negb (b1 || b2) = negb b1 && negb b2.
Lemma negb_andb : forall b1 b2:bool, negb (b1 && b2) = negb b1 || negb b2.
(***************************)
(** * Properties of [negb] *)
(***************************)
Lemma negb_involutive : forall b:bool, negb (negb b) = b.
Lemma negb_involutive_reverse : forall b:bool, b = negb (negb b).
Notation negb_elim := negb_involutive (only parsing).