Module Logtk.Unif_subst
Unification Substitution
type term
= Subst.term
type var
= Subst.var
type t
val empty : t
Empty
val is_empty : t -> bool
Both substitution and constraints are empty
val constr_l : t -> Unif_constr.t list
Constraints
val constr_l_subst : Subst.Renaming.t -> t -> (term * term) list
Apply the substitution to the constraint
val make : Subst.t -> Unif_constr.t list -> t
val of_subst : Subst.t -> t
val map_subst : f:(Subst.t -> Subst.t) -> t -> t
val add_constr : Unif_constr.t -> t -> t
val deref : t -> term Scoped.t -> term Scoped.t
val bind : t -> var Scoped.t -> term Scoped.t -> t
val update : t -> var Scoped.t -> term Scoped.t -> t
val mem : t -> var Scoped.t -> bool
val merge : t -> t -> t
val compose : scope:Scoped.scope -> t -> t -> t
module FO : sig ... end