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.