(**********************************)
(** * A synonym of [if] on [bool] *)
(**********************************)

Definition ifb (b1 b2 b3:bool) : bool :=
  match b1 with
    | true => b2
    | false => b3
  end.

(* 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.
Lemma negb_involutive : forall b:bool, negb (negb b) = b.
Lemma negb_involutive_reverse : forall b:bool, b = negb (negb b).