aboutsummaryrefslogtreecommitdiff
path: root/tactics
diff options
context:
space:
mode:
authormsozeau2008-06-18 15:14:05 +0000
committermsozeau2008-06-18 15:14:05 +0000
commitaecc008e57ca056552c8bbb156d2b45b70575c1d (patch)
treeed6fd12bdd314886cceefd969afb116235af2524 /tactics
parentd0a70257ff4261e4ac1738c3de6880d69e393eb9 (diff)
Fix bug in implementation of splitting of class constraints.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11141 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'tactics')
-rw-r--r--tactics/class_tactics.ml45
1 files changed, 4 insertions, 1 deletions
diff --git a/tactics/class_tactics.ml4 b/tactics/class_tactics.ml4
index 9457403cc9..a353a4222f 100644
--- a/tactics/class_tactics.ml4
+++ b/tactics/class_tactics.ml4
@@ -450,7 +450,10 @@ let select_evars evs evm =
let resolve_all_evars debug m env p oevd do_split fail =
let oevm = Evd.evars_of oevd in
let split = if do_split then split_evars (Evd.evars_of (Evd.undefined_evars oevd)) else [Intset.empty] in
- let p = if do_split then fun comp ev evi -> Intset.mem ev comp && p ev evi else fun _ -> p in
+ let p = if do_split then
+ fun comp ev evi -> (Intset.mem ev comp || not (Evd.mem oevm ev)) && p ev evi
+ else fun _ -> p
+ in
let rec aux n p evd =
if has_undefined p oevm evd then
if n > 0 then