Module Flambda2_term_basics.Coercion
include module type of struct include Flambda2_identifiers.Int_ids.Coercion end
type variable = Flambda2_identifiers.Int_ids.Variable.ttype rec_info_expr = Flambda2_identifiers.Int_ids.Rec_info_expr.ttype t = private Flambda2_identifiers.Int_ids.Coercion.t = | Id| Change_depth of {from : Flambda2_term_basics.Coercion.rec_info_expr;to_ : Flambda2_term_basics.Coercion.rec_info_expr;
}
val change_depth :
from:Flambda2_term_basics.Coercion.rec_info_expr ->
to_:Flambda2_term_basics.Coercion.rec_info_expr ->
Flambda2_term_basics.Coercion.tval id : Flambda2_term_basics.Coercion.tval is_id : Flambda2_term_basics.Coercion.t -> boolval inverse :
Flambda2_term_basics.Coercion.t ->
Flambda2_term_basics.Coercion.tval compose :
Flambda2_term_basics.Coercion.t ->
then_:Flambda2_term_basics.Coercion.t ->
Flambda2_term_basics.Coercion.t optionval equal :
Flambda2_term_basics.Coercion.t ->
Flambda2_term_basics.Coercion.t ->
boolval hash : Flambda2_term_basics.Coercion.t -> intval map_depth_variables :
Flambda2_term_basics.Coercion.t ->
f:
(Flambda2_term_basics.Coercion.variable ->
Flambda2_term_basics.Coercion.variable) ->
Flambda2_term_basics.Coercion.tinclude Flambda2_nominal.Contains_names.S
with type t := Flambda2_term_basics.Coercion.t
val free_names :
Flambda2_term_basics.Coercion.t ->
Flambda2_nominal.Name_occurrences.tCompute the free names of a term. Such computation covers all kinds of bindable names (variables, continuations, ...)
val apply_renaming :
Flambda2_term_basics.Coercion.t ->
Flambda2_nominal.Renaming.t ->
Flambda2_term_basics.Coercion.tApply a renaming throughout a term.
include Flambda2_nominal.Contains_ids.S
with type t := Flambda2_term_basics.Coercion.t
val ids_for_export :
Flambda2_term_basics.Coercion.t ->
Flambda2_nominal.Ids_for_export.tGather all table identifiers to export them.
val print : Stdlib.Format.formatter -> Flambda2_term_basics.Coercion.t -> unitval free_names_in_types :
Flambda2_term_basics.Coercion.t ->
Flambda2_nominal.Name_occurrences.tval compose_exn :
Flambda2_term_basics.Coercion.t ->
then_:Flambda2_term_basics.Coercion.t ->
Flambda2_term_basics.Coercion.t