aboutsummaryrefslogtreecommitdiffhomepage
path: root/theories/Program/Equality.v
diff options
context:
space:
mode:
authorGravatar msozeau <msozeau@85f007b7-540e-0410-9357-904b9bb8a0f7>2010-03-07 22:51:23 +0000
committerGravatar msozeau <msozeau@85f007b7-540e-0410-9357-904b9bb8a0f7>2010-03-07 22:51:23 +0000
commit042a9e9156c183e705a5d5dddd4f2842fa57b943 (patch)
treef00519f096c28d37b65ef567e6fb56444b911db0 /theories/Program/Equality.v
parenta7ff18e50ab655adcc4b7df0547a4dfddd2148a6 (diff)
Reorder resolution of type class and unification constraints.
Fix a bug in dependent elimination when treating defined variables in the context. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12851 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'theories/Program/Equality.v')
-rw-r--r--theories/Program/Equality.v1
1 files changed, 1 insertions, 0 deletions
diff --git a/theories/Program/Equality.v b/theories/Program/Equality.v
index 79c9bec53..c3c5f9c95 100644
--- a/theories/Program/Equality.v
+++ b/theories/Program/Equality.v
@@ -324,6 +324,7 @@ Ltac simplify_one_dep_elim_term c :=
refine (simplification_existT2 _ _ _ _ _ _ _) ||
refine (simplification_existT1 _ _ _ _ _ _ _ _)
| ?x = ?y -> _ => (* variables case *)
+ (unfold x) || (unfold y) ||
(let hyp := fresh in intros hyp ;
move hyp before x ; revert_until hyp ; generalize dependent x ;
refine (solution_left _ _ _ _)(* ; intros until 0 *)) ||