intros R1 R2 u v inclus_R1_R2 Der_R1.
elim Der_R1; auto.
Qed.
Definition Derive_inv (R : Ensf) (x y : Word) :=
match x return Prop with
| nil =>
(* nil  *)  False (* cons *)
| cons A w =>
ex2 (fun u : Word => dans (couple A (word u)) R)
(fun u : Word =>
ex2 (fun v : Word => cons A v = x :>Word)
(fun v : Word => Append u v = y :>Word)) \/
ex2 (fun v : Word => Derive R w v)
(fun v : Word => cons A v = y :>Word)
end.

(* Specifications: *)
Lemma Derive_inv1 :
forall (R : Ensf) (u v : Word), Derive R u v -> Derive_inv R u v.