let data_separated m (t1, d1) (t2, d2) =
let r1 = assigned_of_data t1 [] d1 in
let r2 = assigned_of_data t2 [] d2 in
let p = ref F.p_true in
List.iter
(fun a ->
List.iter
(fun b ->
p := F.p_and !p (M.separated m a b)
) r2
) r1 ;
!p