Definition predta_inter_def_0 (t : term) : Prop :=
  forall (d0 d1 : preDTA) (a0 a1 : ad),
  predta_compatible d0 d1 ->
  reconnaissance d0 a0 t ->
  reconnaissance d1 a1 t ->
  reconnaissance (preDTA_produit d0 d1) (iad_conv a0 a1) t.Definition predta_inter_def_1 (t : term) : Prop :=
  forall (d0 d1 : preDTA) (a0 a1 : ad),
  predta_compatible d0 d1 ->
  reconnaissance (preDTA_produit d0 d1) (iad_conv a0 a1) t ->
  reconnaissance d0 a0 t /\ reconnaissance d1 a1 t.

(* Specifications: *)
Lemma predta_inter_0 : forall (a : ad) (tl : term_list), (forall u : term, term_list_occur u tl -> predta_inter_def_0 u) -> predta_inter_def_0 (app a tl).
Lemma predta_inter_1 : forall (a : ad) (tl : term_list), (forall u : term, term_list_occur u tl -> predta_inter_def_1 u) -> predta_inter_def_1 (app a tl).
Lemma predta_inter_direct : forall (d0 d1 : preDTA) (a0 a1 : ad) (t : term), predta_compatible d0 d1 -> reconnaissance d0 a0 t -> reconnaissance d1 a1 t -> reconnaissance (preDTA_produit d0 d1) (iad_conv a0 a1) t.
Lemma predta_inter_reciproque : forall (d0 d1 : preDTA) (a0 a1 : ad) (t : term), predta_compatible d0 d1 -> reconnaissance (preDTA_produit d0 d1) (iad_conv a0 a1) t -> reconnaissance d0 a0 t /\ reconnaissance d1 a1 t.