aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7>2013-01-29 18:15:16 +0000
committerGravatar herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7>2013-01-29 18:15:16 +0000
commit95a75639355c20cb39528f4a9b68f3060a659f88 (patch)
treea80a77a0ba7171fe5f0ad05a9c7f97121ec4dbed
parentfc6496dcc326852533ea4d860cdea85c6ee79b3b (diff)
Fixing bug #2969 (admit failing after Grab Existential Variables due
to inconsistency in using evar_hyps which is unfiltered and evar_env which is filtered). git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16175 85f007b7-540e-0410-9357-904b9bb8a0f7
-rw-r--r--proofs/goal.ml2
-rw-r--r--test-suite/bugs/closed/2969.v25
2 files changed, 26 insertions, 1 deletions
diff --git a/proofs/goal.ml b/proofs/goal.ml
index 1a7e9a983..a2efc10f0 100644
--- a/proofs/goal.ml
+++ b/proofs/goal.ml
@@ -474,7 +474,7 @@ module V82 = struct
(* Old style hyps primitive *)
let hyps evars gl =
let evi = content evars gl in
- Evd.evar_hyps evi
+ Evd.evar_filtered_hyps evi
(* Access to ".evar_concl" *)
let concl evars gl =
diff --git a/test-suite/bugs/closed/2969.v b/test-suite/bugs/closed/2969.v
new file mode 100644
index 000000000..ff75a1f32
--- /dev/null
+++ b/test-suite/bugs/closed/2969.v
@@ -0,0 +1,25 @@
+(* Check that Goal.V82.byps and Goal.V82.env are consistent *)
+
+(* This is a shorten variant of the initial bug which raised anomaly *)
+
+Goal forall x : nat, (forall z, (exists y:nat, z = y) -> True) -> True.
+evar nat.
+intros x H.
+apply (H n).
+unfold n. clear n.
+eexists.
+reflexivity.
+Grab Existential Variables.
+admit.
+
+(* Alternative variant which failed but without raising anomaly *)
+
+Goal forall x : nat, True.
+evar nat.
+intro x.
+evar nat.
+assert (H := eq_refl : n0 = n).
+clearbody n n0.
+exact I.
+Grab Existential Variables.
+admit.