aboutsummaryrefslogtreecommitdiff
path: root/ltac
diff options
context:
space:
mode:
authorMatthieu Sozeau2016-10-19 13:33:28 +0200
committerMatthieu Sozeau2016-10-22 11:32:06 +0200
commitccb173a440fa2eb7105a692c979253edbfe475ee (patch)
tree4b1dc0c82e3da6b1219adcc195aa6626d5ae3d74 /ltac
parent379c2403b1cd031091a2271353f26ab24afeb1e5 (diff)
Unification constraint handling (#4763, #5149)
Refine fix for bug #4763, fixing #5149 Tactic [Refine.solve_constraints] and global option Adds a new multi-goal tactic [Refine.solve_constraints] that forces solving of unification constraints and evar candidates to be solved. run_tactic now calls [solve_constraints] at every [.], preserving (mostly) the 8.4/8.5 behavior of tactics. The option allows to unset the forced solving unification constraints at each ".", letting the user control the places where the use of heuristics is done. Fix test-suite files too.
Diffstat (limited to 'ltac')
-rw-r--r--ltac/extratactics.ml45
1 files changed, 5 insertions, 0 deletions
diff --git a/ltac/extratactics.ml4 b/ltac/extratactics.ml4
index d0318fb5f6..e6498e02b2 100644
--- a/ltac/extratactics.ml4
+++ b/ltac/extratactics.ml4
@@ -370,6 +370,11 @@ TACTIC EXTEND simple_refine
| [ "simple" "refine" uconstr(c) ] -> [ refine_tac ist true c ]
END
+(* Solve unification constraints using heuristics or fail if any remain *)
+TACTIC EXTEND solve_constraints
+[ "solve_constraints" ] -> [ Refine.solve_constraints ]
+END
+
(**********************************************************************)
(* Inversion lemmas (Leminv) *)