aboutsummaryrefslogtreecommitdiff
path: root/tactics
diff options
context:
space:
mode:
authorherbelin2009-07-08 12:30:19 +0000
committerherbelin2009-07-08 12:30:19 +0000
commitc221e1bebd5fabe7c5995c9306b96596026de047 (patch)
tree53280496702a666b4fc6f98dbf7499afccc80ab4 /tactics
parentcb0a4dbc77da083e866e88523dc30244b1e25117 (diff)
Reactivation of pattern unification of evars in apply unification, in
agreement with wish #2117 (pattern unification of evars remained deactivated for 3 years because of incompatibilities with eauto [see commit 9234]; thanks to unification flags, it can be activated for apply w/o changing eauto). Also add test for bug #2123 (see commit 12228). git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12229 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'tactics')
-rw-r--r--tactics/auto.ml1
-rw-r--r--tactics/class_tactics.ml41
-rw-r--r--tactics/equality.ml1
-rw-r--r--tactics/rewrite.ml43
-rw-r--r--tactics/tactics.ml1
5 files changed, 7 insertions, 0 deletions
diff --git a/tactics/auto.ml b/tactics/auto.ml
index 8a2578c302..407733e68e 100644
--- a/tactics/auto.ml
+++ b/tactics/auto.ml
@@ -709,6 +709,7 @@ let auto_unif_flags = {
use_metas_eagerly = false;
modulo_delta = empty_transparent_state;
resolve_evars = true;
+ use_evars_pattern_unification = false;
}
(* Try unification with the precompiled clause, then use registered Apply *)
diff --git a/tactics/class_tactics.ml4 b/tactics/class_tactics.ml4
index 6baedb76af..2b9a48030b 100644
--- a/tactics/class_tactics.ml4
+++ b/tactics/class_tactics.ml4
@@ -104,6 +104,7 @@ let auto_unif_flags = {
use_metas_eagerly = true;
modulo_delta = var_full_transparent_state;
resolve_evars = false;
+ use_evars_pattern_unification = true;
}
let unify_e_resolve flags (c,clenv) gls =
diff --git a/tactics/equality.ml b/tactics/equality.ml
index dcb2d6037a..89a3704eef 100644
--- a/tactics/equality.ml
+++ b/tactics/equality.ml
@@ -66,6 +66,7 @@ let rewrite_unif_flags = {
Unification.use_metas_eagerly = true;
Unification.modulo_delta = empty_transparent_state;
Unification.resolve_evars = true;
+ Unification.use_evars_pattern_unification = true;
}
let side_tac tac sidetac =
diff --git a/tactics/rewrite.ml4 b/tactics/rewrite.ml4
index 6da1101393..52f10d46c6 100644
--- a/tactics/rewrite.ml4
+++ b/tactics/rewrite.ml4
@@ -283,6 +283,7 @@ let rewrite_unif_flags = {
Unification.use_metas_eagerly = true;
Unification.modulo_delta = empty_transparent_state;
Unification.resolve_evars = true;
+ Unification.use_evars_pattern_unification = true;
}
let conv_transparent_state = (Idpred.empty, Cpred.full)
@@ -292,6 +293,7 @@ let rewrite2_unif_flags = {
Unification.use_metas_eagerly = true;
Unification.modulo_delta = empty_transparent_state;
Unification.resolve_evars = true;
+ Unification.use_evars_pattern_unification = true;
}
let setoid_rewrite_unif_flags = {
@@ -299,6 +301,7 @@ let setoid_rewrite_unif_flags = {
Unification.use_metas_eagerly = true;
Unification.modulo_delta = conv_transparent_state;
Unification.resolve_evars = true;
+ Unification.use_evars_pattern_unification = true;
}
let convertible env evd x y =
diff --git a/tactics/tactics.ml b/tactics/tactics.ml
index 3cd8199479..e96806de1c 100644
--- a/tactics/tactics.ml
+++ b/tactics/tactics.ml
@@ -681,6 +681,7 @@ let elim_flags = {
use_metas_eagerly = true;
modulo_delta = empty_transparent_state;
resolve_evars = false;
+ use_evars_pattern_unification = true;
}
let elimination_clause_scheme with_evars allow_K elimclause indclause gl =