sig
type term = Var of Var.var | App of Symb.symbol * Term.term list
val vars : Term.term -> Var.VarSet.t
val vars_of_terms : Term.term list -> Var.VarSet.t
val list_vars : Term.term -> Var.var list
val list_vars_of_terms : Term.term list -> Var.var list
val is_linear : Term.term -> bool
val symbols : Term.term -> Symb.SymbolSet.t
val symbols_of_terms : Term.term list -> Symb.SymbolSet.t
val occurs : Var.var -> Term.term -> bool
val fprintf : Format.formatter -> Term.term -> unit
val rename : Var.var Var.VarMap.t -> Term.term -> Term.term
val compare : Term.term -> Term.term -> int
val eq : Term.term -> Term.term -> bool
val linearize : Term.term -> Term.term * Var.var Var.VarMap.t
val pr_term : Format.formatter -> Term.term -> unit
end