aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthieu Sozeau2016-09-12 15:14:23 +0200
committerMatthieu Sozeau2016-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 17e397d6e5..594bbc8316 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 b668239a6a..8172b57714 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 8ae1a91958..341be92d1d 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).