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 app_insert_r (A : Type) (l1 l1' l l2 l2' : list A):
l1 ++ l2 = l1' ++ l2' -> length l2 = length l2' -> l1 ++ l ++ l2 = l1' ++ l ++ l2'.