intros R x y.
elim x.
unfold Derive_inv in |- *.
intuition.
(*Intro temp; Elim temp; Clear temp.*)
intros x0 w Hyp_rec.
unfold Derive_inv in |- *.
(*Simpl.*)
exists x0.
exists w; trivial.
Qed.

(* Specifications: *)
Lemma Derive_inv3 :
forall (R : Ensf) (x y : Word),
Derive R x y ->
exists A : _,
(exists2 w : _,
cons A w = x &
(exists2 u : _,
dans (couple A (word u)) R &
(exists2 v : _, cons A v = x & Append u v = y)) \/
(exists2 v : _, Derive R w v & cons A v = y)).