(* 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.