sig
type t = Tags.Elt.t * Sl_pred.t
val compare : t -> t -> int
val equal : t -> t -> bool
val hash : t -> int
val pp : Format.formatter -> t -> unit
val equal_upto_tags : t -> t -> bool
val subst : Sl_subst.t -> t -> t
val subst_tag : Tagpairs.t -> t -> t
val predsym : t -> Sl_predsym.t
val arity : t -> int
val args : t -> Sl_term.t list
val tag : t -> Tags.Elt.t
val tags : t -> Tags.t
val terms : t -> Sl_term.Set.t
val vars : t -> Sl_term.Set.t
val is_tagged : t -> bool
val tag_is_free : t -> bool
val tag_is_exist : t -> bool
val to_string : t -> string
val to_melt : t -> Latex.t
val parse : ?allow_tags:bool -> (t, 'a) MParser.parser
val of_string : string -> t
val unify :
?tagpairs:bool ->
?update_check:Sl_unify.Unidirectional.update_check ->
t Sl_unify.Unidirectional.unifier
val biunify :
?tagpairs:bool ->
?update_check:Sl_unify.Bidirectional.update_check ->
t Sl_unify.Bidirectional.unifier
val norm : Sl_uf.t -> t -> t
end