let vars_of = function | True -> Term.Set.empty | False -> Term.Set.empty | Equal(a, b) -> Term.Set.union (Term.vars_of a) (Term.vars_of b) | Diseq(a, b) -> Term.Set.union (Term.vars_of a) (Term.vars_of b) | In(a, _) -> Term.vars_of a