Module Name_abstraction.Make
Parameters
module Bindable : Bindable.SSignature
type nonrec t = (Bindable.t, Term.t) tThe type t is the equivalent of an atom abstraction construction "----" in nominal sets.
include Contains_ids.S with type t := t
val ids_for_export : t -> Ids_for_export.tGather all table identifiers to export them.
val create : Bindable.t -> Term.t -> tval pattern_match : t -> f:(Bindable.t -> Term.t -> 'a) -> 'aConcretion of an abstraction at a fresh name.
val pattern_match_for_printing : t -> f:(Bindable.t -> Term.t -> 'a) -> 'aLike pattern_match, but only freshen if Flambda_features.freshen_when_printing is enabled.
val pattern_match_pair :
t ->
t ->
f:(Bindable.t -> Term.t -> Term.t -> 'a) ->
'aConcretion of a pair of abstractions at the same fresh name.
val (let<>) : t -> ((Bindable.t * Term.t) -> 'a) -> 'aSame as pattern_match.
val apply_renaming : t -> Renaming.t -> t