Module type Subst.SPECIALIZED
type termtype t= subst
val find_exn : t -> var Scoped.t -> term Scoped.tval get_var : t -> var Scoped.t -> term Scoped.t optionval deref : t -> term Scoped.t -> term Scoped.tval apply : Renaming.t -> t -> term Scoped.t -> termApply the substitution to the given term/type.
- parameter renaming
used to desambiguate free variables from distinct scopes
val bind : t -> var Scoped.t -> term Scoped.t -> tAdd
v->tto the substitution. Both terms have a context.- raises InconsistentBinding
if
vis already bound in the same context, to another term.