(* lemmes d'équivalence sémantique entre la fonction calculatoire (Fixpoint) *)
(* et la définition par Inductive *)
Definition sem_equiv_prop_t (t : term) :=
forall (d : preDTA) (a : ad) (n : nat),
rec_term d a t n = true -> reconnaissance d a t.
Definition sem_equiv_prop_l (l : term_list) :=
forall (d : preDTA) (p : prec_list) (n : nat),
rec_list_terms d p l n = true -> liste_reconnait d p l.

Lemma semantic_equiv_0_6 :
forall (n : nat) (t : term) (t0 : term_list),
(forall (d : preDTA) (a : ad) (m : nat),
rec_term d a t m = true -> reconnaissance d a t) ->
(forall (d : preDTA) (p : prec_list) (m : nat),
rec_list_terms d p t0 m = true -> liste_reconnait d p t0) ->
forall (d : preDTA) (p : prec_list),
rec_list_terms d p (tcons t t0) n = true -> liste_reconnait d p (tcons t t0).