(***************)
(** * Equality *)
(***************)

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

(* Specifications: *)
Lemma eqb_subst : forall (P:bool -> Prop) (b1 b2:bool), eqb b1 b2 = true -> P b1 -> P b2.
Lemma eqb_reflx : forall b:bool, eqb b b = true.
Lemma eqb_prop : forall a b:bool, eqb a b = true -> a = b.
Lemma eqb_true_iff : forall a b:bool, eqb a b = true <-> a = b.