Definition inter (d0 d1 : DTA) : DTA :=
match d0, d1 with
| dta p0 a0, dta p1 a1 => dta (preDTA_produit p0 p1) (iad_conv a0 a1)
end.

(* Specifications: *)
Lemma inter_semantics_0 :
forall (d0 d1 : DTA) (t : term),
dta_compatible d0 d1 ->
(reconnait d0 t /\ reconnait d1 t <-> reconnait (inter d0 d1) t).
Lemma inter_semantics :
forall (d0 d1 : DTA) (sigma : signature) (t : term),
dta_correct_wrt_sign d0 sigma ->
dta_correct_wrt_sign d1 sigma ->
(reconnait d0 t /\ reconnait d1 t <-> reconnait (inter d0 d1) t).