(** The Latin _ex falso quodlibet_ means, literally, "from falsehood
    follows whatever you like"; this is another common name for the
    principle of explosion. *)

(** **** Exercise: 2 stars, optional (not_implies_our_not)  *)
(** Show that Coq's definition of negation implies the intuitive one
    mentioned above: *)

Fact not_implies_our_not : forall (P:Prop),
  ~ P -> (forall (Q:Prop), P -> Q).

(* Specifications: *)
Theorem zero_not_one : ~(0 = 1).
Theorem zero_not_one' : 0 <> 1.
Theorem not_False : ~ False.
Theorem contradiction_implies_anything : forall P Q : Prop, (P /\ ~P) -> Q.
Theorem double_neg : forall P : Prop, P -> ~~P.
Theorem contrapositive : forall (P Q : Prop), (P -> Q) -> (~Q -> ~P).
Theorem not_both_true_and_false : forall P : Prop, ~ (P /\ ~P).
Theorem not_true_is_false : forall b : bool, b <> true -> b = false.
Theorem not_true_is_false' : forall b : bool, b <> true -> b = false.
Lemma True_is_true : True.