aboutsummaryrefslogtreecommitdiffhomepage
path: root/proofs/tacmach.mli
diff options
context:
space:
mode:
authorGravatar Matthieu Sozeau <mattam@mattam.org>2016-11-04 15:55:52 +0100
committerGravatar Maxime Dénès <mail@maximedenes.fr>2016-11-08 14:56:22 +0100
commitb385fbbbb7868f0994d5ec00cb918cea1e8f18cf (patch)
tree7f7e4585f2a9a93366f7c316f40c36818f4c7b2b /proofs/tacmach.mli
parent6f30019bfd99a0125fdc12baf8b6c04169701fb7 (diff)
Use pf_get_type_of to avoid blowup in pose proof of large proof terms
Diffstat (limited to 'proofs/tacmach.mli')
-rw-r--r--proofs/tacmach.mli8
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