(* d et (kill_empty d) reconnaissent le meme langage *)

(* Specifications: *)
Lemma dt_kill_empty_semantics :
forall (d : preDTA) (a : ad) (t : term),
reconnaissance d a t <->
reconnaissance (preDTA_kill (dta_non_empty_states d) d) a t.
Lemma dta_kill_empty_states_semantics :
forall (d : DTA) (t : term),
reconnait d t <-> reconnait (DTA_kill_empty_states d) t.
Lemma dta_kill_empty_states_lazy_semantics :
forall (d : DTA) (t : term),
reconnait d t <-> reconnait (DTA_kill_empty_states_lazy d) t.