intros.
elimtype
(ex2 (fun w : Word => Append (cons u nil) w = y)
(fun w : Word => Derivestar_P_A_2 (x, w) (nil, nil))).
intros w eg_App Der.
exists w; trivial.
apply Derive_P_A_2_imp_Der_P_A_2_App with (cons u x); auto.
Qed.

Lemma Derivestar_P_A_2_x :
forall x : Word, inmonoid X x -> Derivestar_P_A_2 (x, x) (nil, nil).