diff options
author | msozeau <msozeau@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2011-04-13 14:28:35 +0000 |
---|---|---|
committer | msozeau <msozeau@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2011-04-13 14:28:35 +0000 |
commit | d51c733cb7a3034921fc63a07588e5f0d1e98525 (patch) | |
tree | 80e53c7a10e2757649bcbe2ee62aa639ff36e4b9 /tactics | |
parent | 9369925f8edebf18a7d9cc9516521f193117f3f8 (diff) |
- Make typeclass transparency information directly available
- Fix pretyping to consider remaining unif problems with the
right transparency information.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@13996 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'tactics')
-rw-r--r-- | tactics/class_tactics.ml4 | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/tactics/class_tactics.ml4 b/tactics/class_tactics.ml4 index 64c5c5a9e..f754a926d 100644 --- a/tactics/class_tactics.ml4 +++ b/tactics/class_tactics.ml4 @@ -320,7 +320,8 @@ let hints_tac hints = match sgls with | None -> gls', s' | Some (evgls, s') -> - (gls' @ List.map (fun (ev, x) -> (Some ev, x)) evgls, s') + (* Reorder with dependent subgoals. *) + (gls' @ List.map (fun (ev, x) -> Some ev, x) evgls, s') in let gls' = list_map_i (fun j (evar, g) -> @@ -601,7 +602,10 @@ let initial_select_evars onlyargs = (fun evd ev evi -> Typeclasses.is_class_evar evd evi) let resolve_typeclass_evars debug m env evd onlyargs split fail = - resolve_all_evars debug m env (initial_select_evars onlyargs) evd split fail + let evd = Evarconv.consider_remaining_unif_problems + ~ts:(Typeclasses.classes_transparent_state ()) env evd + in + resolve_all_evars debug m env (initial_select_evars onlyargs) evd split fail let solve_inst debug depth env evd onlyargs split fail = resolve_typeclass_evars debug depth env evd onlyargs split fail |