(19steps total) Remark PrintForm Definitions Lemmas HanoiTowers Sections NuprlLIB Doc
IF YOU CAN SEE THIS go to /sfa/Nuprl/Shared/Xindentation_hack_doc.html
At: hanoi sol2 ala generalPROGworks 2 3 1 1

1. n : 
2. 0<n
3. p,q:Peg.
3. p  q
3. 
3. (a:. 
3. (HanoiSTD(n-1 disks; from: p; to: q; indexing from: a)/z,s.
3. (s is a Hanoi(n-1 disk) seq on a..z & s(a) = (i.p) & s(z) = (i.q))
4. p : Peg
5. q : Peg
6. p  q
7. a : 
8. p = otherPeg(p; q)
9. otherPeg(p; q) = q
10. m : {a...}
11. s1 : {a...m}{1...n-1}Peg
12. <m,s1> = HanoiSTD(n-1 disks; from: p; to: otherPeg(p; q); indexing from: a)
13. s1 is a Hanoi(n-1 disk) seq on a..m
14. s1(a) = (i.p)
15. s1(m) = (i.otherPeg(p; q))
  (HanoiSTD(n-1 disks; from: otherPeg(p; q); to: q; indexing from: m+1)/z,s2.
  (<z,HanoiHelper(n; s1; i.p; s2; i.q)/r1,r2. r1 @(m) r2>)
  /z,s.
  s is a Hanoi(n disk) seq on a..z
  & s(a) = (i.p)  {1...n}Peg
  & s(z) = (i.q)  {1...n}Peg


By: Let
(whatnot = HanoiSTD(n-1 disks; from: otherPeg(p; q); to: q; indexing from: m+1))
THEN
New:[z | s2] Analyze-2
THEN
Inst: Hyp:3 Using:[otherPeg(p; q) | q | m+1] THEN Rewrite'-1 by Hyp:-2
THEN
OnAllClauses Reduce THEN Repeat Analyze-1


Generated subgoal:

1 16. z : {m+1...}
17. s2 : {m+1...z}{1...n-1}Peg
18. <z,s2>
18. =
18. HanoiSTD(n-1 disks; from: otherPeg(p; q); to: q; indexing from: m+1)
19. s2 is a Hanoi(n-1 disk) seq on m+1..z
20. s2(m+1) = (i.otherPeg(p; q))
21. s2(z) = (i.q)
  (HanoiHelper(n; s1; i.p; s2; i.q)/r1,r2. r1 @(m) r2)
  is a Hanoi(n disk) seq on a..z
  & (HanoiHelper(n; s1; i.p; s2; i.q)/r1,r2. r1 @(m) r2)(a) = (i.p)
  & (HanoiHelper(n; s1; i.p; s2; i.q)/r1,r2. r1 @(m) r2)(z) = (i.q)

8 steps

About:
pairspreadproductintnatural_numberaddsubtractless_than
lambdaapplyfunctionequalimpliesandall
IF YOU CAN SEE THIS go to /sfa/Nuprl/Shared/Xindentation_hack_doc.html

(19steps total) Remark PrintForm Definitions Lemmas HanoiTowers Sections NuprlLIB Doc