aboutsummaryrefslogtreecommitdiffhomepage
path: root/kernel
diff options
context:
space:
mode:
authorGravatar herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7>2008-03-10 21:52:06 +0000
committerGravatar herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7>2008-03-10 21:52:06 +0000
commit6b01f89b083bf8acc666264222131d6ce2bb06bf (patch)
tree45f4e4184c8592dd409dbc6f0d9955f571113d77 /kernel
parentb31b50f72144a5aa0eef4801aab1819c7aff6f35 (diff)
fold travaille maintenant sur la forme beta-iota-zeta réduite du
corps de la constante (comme unfold le fait ici), de telle sorte que "unfold f; fold f" marche (cf bug 1789) git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@10652 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'kernel')
-rw-r--r--kernel/closure.ml9
-rw-r--r--kernel/closure.mli1
2 files changed, 7 insertions, 3 deletions
diff --git a/kernel/closure.ml b/kernel/closure.ml
index 01d31441d..2ee2443ff 100644
--- a/kernel/closure.ml
+++ b/kernel/closure.ml
@@ -165,12 +165,15 @@ let betadeltaiotanolet = mkflags [fBETA;fDELTA;fIOTA]
let betaiota = mkflags [fBETA;fIOTA]
let beta = mkflags [fBETA]
let betaiotazeta = mkflags [fBETA;fIOTA;fZETA]
+
+(* Removing fZETA for finer behaviour would break many developments *)
+let unfold_side_flags = [fBETA;fIOTA;fZETA]
+let unfold_side_red = mkflags [fBETA;fIOTA;fZETA]
let unfold_red kn =
let flag = match kn with
| EvalVarRef id -> fVAR id
- | EvalConstRef kn -> fCONST kn
- in (* Remove fZETA for finer behaviour ? *)
- mkflags [fBETA;flag;fIOTA;fZETA]
+ | EvalConstRef kn -> fCONST kn in
+ mkflags (flag::unfold_side_flags)
(************************* Obsolète
(* [r_const=(true,cl)] means all constants but those in [cl] *)
diff --git a/kernel/closure.mli b/kernel/closure.mli
index ea8bccede..926e152e0 100644
--- a/kernel/closure.mli
+++ b/kernel/closure.mli
@@ -76,6 +76,7 @@ val betadeltaiota : reds
val betaiotazeta : reds
val betadeltaiotanolet : reds
+val unfold_side_red : reds
val unfold_red : evaluable_global_reference -> reds
(***********************************************************************)