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)).
Lemma Derive_P_A_2_imp_Der_P_A_2_App : forall x y : Word, Derivestar_P_A_2 (x, y) (nil, nil) -> forall u v : Word, Append u v = x -> inmonoid X u -> ex2 (fun w : Word => Append u w = y) (fun w : Word => Derivestar_P_A_2 (v, w) (nil, nil)).
Lemma Derive_P_A_2_imp_Der_P_A_2_cons : forall (u : Elt) (x y : Word), Derivestar_P_A_2 (cons u x, y) (nil, nil) -> dans u X -> ex2 (fun w : Word => cons u w = y) (fun w : Word => Derivestar_P_A_2 (x, w) (nil, nil)).
Lemma Derivestar_P_A_2_x : forall x : Word, inmonoid X x -> Derivestar_P_A_2 (x, x) (nil, nil).
Lemma Derivegstar_imp_Derivestar_P_A_2 : forall x y : Word, Derivegstar X R x y -> inmonoid X y -> Derivestar_P_A_2 (x, y) (nil, nil).
Lemma Derive_P_A_2_imp_Derive_P_A : forall x y : Word * Word, Derive_P_A_2 x y -> Derive_P_A X d x y.
Lemma Derivestar_P_A_2_imp_Derivestar_P_A : forall x y : Word * Word, Derivestar_P_A_2 x y -> Derivestar_P_A X d x y.
Lemma Derive_P_A_imp_Derive_P_A_2 : forall x y : Word * Word, Derive_P_A X d x y -> Derive_P_A_2 x y.
Lemma Derivestar_P_A_imp_Derivestar_P_A_2 : forall x y : Word * Word, Derivestar_P_A X d x y -> Derivestar_P_A_2 x y.
Theorem Derivestar_imp_Derivestar_P_A : forall x y : Word, Derivestar R x y -> inmonoid X y -> Derivestar_P_A X d (x, y) (nil, nil).