diff options
| author | Pierre-Marie Pédrot | 2018-12-07 15:59:38 +0100 |
|---|---|---|
| committer | Pierre-Marie Pédrot | 2018-12-07 15:59:38 +0100 |
| commit | fa20a54d9fbe0f3872614a592fcef7ef56b05e49 (patch) | |
| tree | 20ba50d09fe977a7409aa3bd0507762b24d9ba9b /engine/evarutil.mli | |
| parent | e5909ae2043fedf57b64005ba57aedd209e6d42d (diff) | |
| parent | e7d1d0461c51de9ae955bd0ce2a0d977cf7a437a (diff) | |
Merge PR #8811: EConstr-aware functions to produce kernel entries
Diffstat (limited to 'engine/evarutil.mli')
| -rw-r--r-- | engine/evarutil.mli | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/engine/evarutil.mli b/engine/evarutil.mli index 0c8d8c9b8a..0e67475778 100644 --- a/engine/evarutil.mli +++ b/engine/evarutil.mli @@ -181,6 +181,19 @@ val nf_evars_universes : evar_map -> Constr.constr -> Constr.constr exception Uninstantiated_evar of Evar.t val flush_and_check_evars : evar_map -> constr -> Constr.constr +(** [finalize env sigma f] combines universe minimisation, + evar-and-universe normalisation and universe restriction. + + It minimizes universes in [sigma], calls [f] a normalisation + function with respect to the updated [sigma] and restricts the + local universes of [sigma] to those encountered while running [f]. + + Note that the normalizer passed to [f] holds some imperative state + in its closure. *) +val finalize : ?abort_on_undefined_evars:bool -> evar_map -> + ((EConstr.t -> Constr.t) -> 'a) -> + evar_map * 'a + (** {6 Term manipulation up to instantiation} *) (** Like {!Constr.kind} except that [kind_of_term sigma t] exposes [t] |
