From aecc008e57ca056552c8bbb156d2b45b70575c1d Mon Sep 17 00:00:00 2001 From: msozeau Date: Wed, 18 Jun 2008 15:14:05 +0000 Subject: 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 --- tactics/class_tactics.ml4 | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'tactics') 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 -- cgit v1.2.3