let dom lookup op al =
let dom_of x =
try
let d1 = Term.Var.dom_of x in
(try
let d2 = lookup x in
Dom.inter d1 d2
with
Not_found -> d1)
with
Not_found ->
try lookup x with Not_found -> Dom.Real
in
Dom.multl (List.map dom_of al)