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 automate_A_D : forall (q qd qa d : Ensf) (g0 : Elt), automate q qd qa d -> automate_A (add g0 q) (singleton g0) qa (union d (delta_D g0 qd)).