Ltac destr_bool :=
 intros; destruct_all bool; simpl in *; trivial; try discriminate.(** Interpretation of booleans as propositions *)

Definition Is_true (b:bool) :=
  match b with
    | true => True
    | false => False
  end.

Lemma bool_dec : forall b1 b2 : bool, {b1 = b2} + {b1 <> b2}.