package tyabt
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Module type Tyabt.SSource
Output signature of the functor Make.
An abstract binding tree (ABT). 'valence is a phantom type parameter representing the valence of the ABT.
type 'valence view = | Abs : 'sort Variable.t * 'valence t -> ('sort -> 'valence) view(*An abstractor, which binds a variable within a term.
*)| Op : ('arity, 'sort) Operator.t * ('arity, 'sort) operands -> 'sort va view(*An operator applied to operands.
*)| Var : 'sort Variable.t -> 'sort va view(*A variable.
*)
A view of an ABT.
val abs : 'sort Variable.t -> 'valence t -> ('sort -> 'valence) tConstructs an abstractor ABT.
val op : ('arity, 'sort) Operator.t -> ('arity, 'sort) operands -> 'sort va tConstructs an operation ABT.
val var : 'sort Variable.t -> 'sort va tConstructs a variable ABT.
Applies 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.
val pp_print : Format.formatter -> _ t -> unitPretty-prints an ABT.