Definition isregular_D (l : wordset) : Prop :=
  exists q : Ensf,
    (exists g0 : Elt,
       (exists qa : Ensf,
          (exists d : Ensf,
             automate q (singleton g0) qa d /\
             (forall w : Word, chemin g0 g0 q d w -> w = nil :>Word) /\
             eqwordset (reconnait q (singleton g0) qa d) l))).Definition transition_D (g0 x : Elt) : Elt := couple g0 (couple epsilon x).Definition delta_D (g0 : Elt) (qd : Ensf) : Ensf := map (transition_D g0) qd.

Lemma chemin_A_g0_e2 : forall (q qd qa d : Ensf) (g0 e1 e2 : Elt) (w : Word), automate q qd qa d -> ~ dans g0 q -> chemin_A (add g0 q) (union d (delta_D g0 qd)) e1 e2 w -> e1 = g0 :>Elt -> dans e2 qa -> exists e : Elt, dans e qd /\ chemin_A (add g0 q) (union d (delta_D g0 qd)) e e2 w.