diff options
author | Matthieu Sozeau <mattam@mattam.org> | 2016-11-04 15:55:52 +0100 |
---|---|---|
committer | Maxime Dénès <mail@maximedenes.fr> | 2016-11-08 14:56:22 +0100 |
commit | b385fbbbb7868f0994d5ec00cb918cea1e8f18cf (patch) | |
tree | 7f7e4585f2a9a93366f7c316f40c36818f4c7b2b /proofs | |
parent | 6f30019bfd99a0125fdc12baf8b6c04169701fb7 (diff) |
Use pf_get_type_of to avoid blowup in pose proof of large proof terms
Diffstat (limited to 'proofs')
-rw-r--r-- | proofs/tacmach.mli | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/proofs/tacmach.mli b/proofs/tacmach.mli index f79fa1d4b..59f296f64 100644 --- a/proofs/tacmach.mli +++ b/proofs/tacmach.mli @@ -108,8 +108,16 @@ module New : sig val pf_env : ('a, 'r) Proofview.Goal.t -> Environ.env val pf_concl : ([ `NF ], 'r) Proofview.Goal.t -> types + (** WRONG: To be avoided at all costs, it typechecks the term entirely but + forgets the universe constraints necessary to retypecheck it *) val pf_unsafe_type_of : ('a, 'r) Proofview.Goal.t -> Term.constr -> Term.types + + (** This function does no type inference and expects an already well-typed term. + It recomputes its type in the fastest way possible (no conversion is ever involved) *) val pf_get_type_of : ('a, 'r) Proofview.Goal.t -> Term.constr -> Term.types + + (** This function entirely type-checks the term and computes its type + and the implied universe constraints. *) val pf_type_of : ('a, 'r) Proofview.Goal.t -> Term.constr -> evar_map * Term.types val pf_conv_x : ('a, 'r) Proofview.Goal.t -> Term.constr -> Term.constr -> bool |