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