sig
type t
val compare : t -> t -> int
val equal : t -> t -> bool
val hash : t -> int
val to_string : t -> string
val pp : Format.formatter -> t -> unit
val parse : (Sl_tpair.t, 'a) MParser.parser
val to_melt : t -> Latex.t
val to_string_list : t -> string list
val empty : t
val is_empty : t -> bool
val find : Sl_term.t -> t -> Sl_term.t
val add : Sl_tpair.t -> t -> t
val union : t -> t -> t
val fold : (Sl_term.t -> Sl_term.t -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (Sl_term.t -> Sl_term.t -> bool) -> t -> bool
val diff : t -> t -> t
val bindings : t -> Sl_tpair.t list
val of_list : Sl_tpair.t list -> t
val subst : Sl_subst.t -> t -> t
val subst_subsumed : t -> Sl_unify.Unidirectional.continuation
val terms : t -> Sl_term.Set.t
val vars : t -> Sl_term.Set.t
val equates : t -> Sl_term.t -> Sl_term.t -> bool
val subsumed : t -> t -> bool
val unify_partial :
?inverse:bool ->
?update_check:Sl_unify.Unidirectional.update_check ->
t Sl_unify.Unidirectional.unifier
val biunify_partial :
?update_check:Sl_unify.Bidirectional.update_check ->
t Sl_unify.Bidirectional.unifier
val remove : Sl_term.t -> t -> t
end