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 not_true_is_false : forall b:bool, b <> true -> b = false.