Notation "x ≤ y ≤ z" := (x ≤ y ∧ y ≤ z) (at level 70, y at next level).
Notation "x < y ≤ z" := (x < y ∧ y ≤ z) (at level 70, y at next level).
Notation "x ≤ y < z" := (x ≤ y ∧ y < z) (at level 70, y at next level).
Infix "∈" := In (at level 70).
(* Compatibilité 8.4 *)
Infix "=?" := beq_nat (at level 70, no associativity).
Obligation Tactic := idtac.
Scheme Equality for prod.
Scheme Equality for list.
Set Implicit Arguments.
Section Trivial.

Lemma neq_None_eq_Some :
forall (A: Type) (x: option A), x <> None <-> (exists a, x = Some a).