(* sens direct : induction sur la hauteur *)
Definition dt_kill_empty_def_0 (n : nat) : Prop :=
forall (d : preDTA) (a : ad) (t : term),
term_high t <= n ->
reconnaissance d a t ->
reconnaissance (preDTA_kill (dta_non_empty_states d) d) a t.

Lemma dt_kill_empty_d_1 :
forall (n : nat) (d : preDTA) (p : prec_list) (tl : term_list),
dt_kill_empty_def_0 n ->
term_high_0 tl <= n ->
liste_reconnait d p tl ->
exists p' : prec_list,
prec_list_kill (dta_non_empty_states d) p = Some p' /\
liste_reconnait (preDTA_kill (dta_non_empty_states d) d) p' tl.