aboutsummaryrefslogtreecommitdiffhomepage
path: root/etc/coq/nested.v
diff options
context:
space:
mode:
authorGravatar David Aspinall <da@inf.ed.ac.uk>2002-06-12 23:29:43 +0000
committerGravatar David Aspinall <da@inf.ed.ac.uk>2002-06-12 23:29:43 +0000
commitb6e92fdf8d860f2f3428807b410e3f97f9b4a6c0 (patch)
tree6cf31732f6615af7f47ea9479772bd03e30c2b90 /etc/coq/nested.v
parent9c87e6a7490fa51d3b9e57b7fdcd8276ed0f84bb (diff)
More test cases, summary of situation.
Diffstat (limited to 'etc/coq/nested.v')
-rw-r--r--etc/coq/nested.v34
1 files changed, 28 insertions, 6 deletions
diff --git a/etc/coq/nested.v b/etc/coq/nested.v
index f0d625b3..410b33ef 100644
--- a/etc/coq/nested.v
+++ b/etc/coq/nested.v
@@ -1,11 +1,26 @@
(* Nested Proofs, and backtrack mechanism in general.
- Bugs:
+
+ BUGS:
+
+ - Still will be one buggy case, when kill-goal command is
+ assumed to be good enough to kill off current goal without
+ calculating the Back commands to do inside. Needs tweaking
+ of PG undo mechanism to allow a single undo function, without
+ forcing the split.
+ Exercise: produce a test case showing this bug(!).
+
+======= Below here fixed [?]
+
+ - Retract 7a -> 6 needs to do 3 sorts of undo commands!
+ Abort, Undo, Back.
+ Algorithm is to use current search-forwards from target span
+ mechanism, which has to cover the whole range of undo to count
+ all the Backs. However, only the initial Undo's which appear
+ before an Abort need to be counted. (See coq-find-and-forget).
- Undo of "Require Omega" in proof uses Undo instead of Back.
[ coq-count-undos needs fixing to use Back as well as Undo ? ]
-======= Below here fixed?
-
- once point 12 is reached, sould have one
block from 3 to 12. With the goalsave test :
OK but the reset command is wrong.
@@ -38,10 +53,17 @@ Case n. (* 5 "Undo" *)
EAuto. (* 6 "Undo" *)
Require Omega. (* 7 This needs "Back 1" to be retracted. *)
- Lemma t2 : O=O. Auto.
- Lemma t4 : O=O. Auto. Save.
+ Lemma t2 : O=O. (* 7a. -> 6: "Abort. Back 1. Undo 1." *)
+ Auto.
+ Lemma t4 : O=O.
+ Auto. (* 7b. -> 6: "Abort. [Undo.] Abort. Back 1. Undo 1." *)
+ (* 7b. -> 2: "Abort. Abort. Abort. Back 1."
+ This is a useful test case because PG splits
+ undo calculation into phases: outwith
+ top-level proof and within top-level proof. *)
+ Save.
Save. (* 8 "Back 1" or "Reset t2". *)
-Intros. (* 9 "Undo" *)
+Intros. (* 9 "Undo": example of retraction 9->6: Undo 2. Back 3. *)
Lemma t3 : O=O. Auto. Save. (* 10 "Back 1" or "Reset t3" *)
EAuto. (* 11 "Undo" *)
Save. (* 12 *)