Page
Library
Module
Module type
Parameter
Class
Class type
Source
Tyabt.MakeSourceFunctor building an implementation of abstract binding trees given a signature.
An abstract binding tree (ABT). 'valence is a phantom type parameter representing the valence of the ABT.
A list of operands.
type 'valence view = | Abs : 'sort Variable.t * 'valence t -> ('sort -> 'valence) viewAn abstractor, which binds a variable within a term.
*)| Op : ('arity, 'sort) Operator.t * ('arity, 'sort) operands -> 'sort va viewAn operator applied to operands.
*)| Var : 'sort Variable.t -> 'sort va viewA variable.
*)A view of an ABT.
Constructs an abstractor ABT.
Constructs an operation ABT.
Constructs a variable ABT.
val subst :
'sort Sort.t ->
('sort Variable.t -> 'sort va t option) ->
'valence t ->
'valence tApplies a substitution to the ABT.
Checks two ABTs for alpha-equivalence. Two ABTs are alpha-equivalent iff they are structurally equal up to renaming of bound variables.
Pretty-prints an ABT.