aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorherbelin2010-03-24 11:35:22 +0000
committerherbelin2010-03-24 11:35:22 +0000
commitd69a67fc06051fd72895b60de4b908317511687f (patch)
tree9e3aa9f8cdec678244134c83c294cd46cb95711f
parent701b33460aa98a82daee05758c80faeac469e86c (diff)
Fixed bug #2260 (check of resolution of all evars in the declaration
of a lemma was no longer done). git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12885 85f007b7-540e-0410-9357-904b9bb8a0f7
-rw-r--r--test-suite/failure/evarlemma.v3
-rw-r--r--toplevel/lemmas.ml5
2 files changed, 6 insertions, 2 deletions
diff --git a/test-suite/failure/evarlemma.v b/test-suite/failure/evarlemma.v
new file mode 100644
index 0000000000..ea753e79c5
--- /dev/null
+++ b/test-suite/failure/evarlemma.v
@@ -0,0 +1,3 @@
+(* Check success of inference of evars in the context of lemmas *)
+
+Lemma foo x : True.
diff --git a/toplevel/lemmas.ml b/toplevel/lemmas.ml
index 48666c5145..247fbbc0a5 100644
--- a/toplevel/lemmas.ml
+++ b/toplevel/lemmas.ml
@@ -312,10 +312,11 @@ let start_proof_with_initialization kind recguard thms hook =
let start_proof_com kind thms hook =
let evdref = ref (create_evar_defs Evd.empty) in
- let env = Global.env () in
+ let env0 = Global.env () in
let thms = List.map (fun (sopt,(bl,t,guard)) ->
- let (env, ctx), imps = interp_context_evars evdref env bl in
+ let (env, ctx), imps = interp_context_evars evdref env0 bl in
let t', imps' = interp_type_evars_impls ~evdref env t in
+ Sign.iter_rel_context (check_evars env Evd.empty !evdref) ctx;
let len = List.length ctx in
(compute_proof_name sopt,
(nf_isevar !evdref (it_mkProd_or_LetIn t' ctx),