sig
type term = FOTerm.t
type t
val create : ?size:int -> unit -> t
val clear : t -> unit
val push : t -> unit
val pop : t -> unit
val stack_size : t -> int
val find : t -> term -> term
val iter : t -> (mem:term -> repr:term -> unit) -> unit
val iter_roots : t -> (term -> unit) -> unit
val mk_eq : t -> term -> term -> unit
val mk_less : t -> term -> term -> unit
val is_eq : t -> term -> term -> bool
val is_less : t -> term -> term -> bool
val cycles : t -> bool
end