intros x y Der.
unfold Derive_P_A_2_nind in |- *.
elim Der.
intros w u x0 dans_x0_X.
apply or_introl.
exists x0; auto.
intros v w u x0 dans_couple_Der.
apply or_intror.
exists x0.
exists w.
auto.
exists u; auto.
Qed.
Definition Derivestar_P_A_2 := Rstar Conf Derive_P_A_2.

(* Specifications: *)
Lemma Der_cons_inv :
forall (x : Elt) (u v : Word),
dans x X ->
Derivestar_P_A_2 (cons x u, v) (nil, nil) ->
ex2 (fun v2 : Word => v = cons x v2)
(fun v2 : Word => Derivestar_P_A_2 (u, v2) (nil, nil)).