type t = | Relation of string * Term.t list | Equal of Term.t * Term.t | Bottom | Neg of t | Conj of t * t | Disj of t * t | Impl of t * t | Iff of t * t | Forall of t | Exists of t val match_term : Term.t -> t -> t -> Term.match_result val occurs : Term.t -> t -> bool