aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Matthieu Sozeau <mattam@mattam.org>2016-09-12 15:14:23 +0200
committerGravatar Matthieu Sozeau <mattam@mattam.org>2016-09-12 15:16:36 +0200
commit6234ecf5f5752768175d510749cc48a97c2c0dbe (patch)
tree5af084fac65ed3ea1f2a13572b58feee0b896db3
parent7a3ef81f20e159bcf4d40227d36c54abbe69c3e9 (diff)
Refolding: disable in 8.4 compat file, document
-rw-r--r--CHANGES6
-rw-r--r--doc/refman/RefMan-tac.tex10
-rw-r--r--theories/Compat/Coq84.v3
3 files changed, 19 insertions, 0 deletions
diff --git a/CHANGES b/CHANGES
index 17e397d6e..594bbc831 100644
--- a/CHANGES
+++ b/CHANGES
@@ -28,6 +28,12 @@ Tactics
- Flag "Bracketing Last Introduction Pattern" is now on by default.
- Flag "Regular Subst Tactic" is now on by default.
+- New flag "Refolding Reduction", now disabled by default, which turns
+ on refolding of constants/fixpoints (as in cbn) during the reductions
+ done during type inference and tactic retyping. Can be extremely
+ expensive. When set off, this recovers the 8.4 behaviour of unification
+ and type inference. Potential source of incompatibility with 8.5 developments
+ (the option is set on in Compat/Coq85.v).
- New flag "Shrink Abstract" that minimalizes proofs generated by the abstract
tactical w.r.t. variables appearing in the body of the proof.
On by default and deprecated. Minor source of incompatibility
diff --git a/doc/refman/RefMan-tac.tex b/doc/refman/RefMan-tac.tex
index b668239a6..8172b5771 100644
--- a/doc/refman/RefMan-tac.tex
+++ b/doc/refman/RefMan-tac.tex
@@ -3293,6 +3293,16 @@ reduced to \texttt{S t}.
\end{Variants}
+\begin{quote}
+\optindex{Refolding Reduction}
+{\tt Refolding Reduction}
+\end{quote}
+
+This option (off by default) controls the use of the refolding strategy
+of {\tt cbn} while doing reductions in unification, type inference and
+tactic applications. It can result in expensive unifications, as
+refolding currently uses a potentially exponential heuristic.
+
\subsection{\tt unfold \qualid}
\tacindex{unfold}
\label{unfold}
diff --git a/theories/Compat/Coq84.v b/theories/Compat/Coq84.v
index 8ae1a9195..341be92d1 100644
--- a/theories/Compat/Coq84.v
+++ b/theories/Compat/Coq84.v
@@ -25,6 +25,9 @@ Global Set Nonrecursive Elimination Schemes.
(** See bug 3545 *)
Global Set Universal Lemma Under Conjunction.
+(** Feature introduced in 8.5, disabled by default and configurable since 8.6. *)
+Global Unset Refolding Reduction.
+
(** In 8.4, [constructor (tac)] allowed backtracking across the use of [constructor]; it has been subsumed by [constructor; tac]. *)
Ltac constructor_84_n n := constructor n.
Ltac constructor_84_tac tac := once (constructor; tac).