HanoiTowers Sections NuprlLIB Doc
IF YOU CAN SEE THIS go to /sfa/Nuprl/Shared/Xindentation_hack_doc.html
RankTheoremName
4Thm*  n:p,q:Peg.
Thm*  p  q
Thm*  
Thm*  (z:{1...}, s:({1...z}{1...n}Peg).
Thm*  (s is a Hanoi(n disk) seq on 1..z & s(1) = (i.p) & s(z) = (i.q))
[hanoi_sol2_via_permshift]
cites the following:
1Thm*  x,y:Peg. x  y  x  otherPeg(xy)[hanoi_otherpeg_diff3]
1Thm*  x,y:Peg. x  y  otherPeg(xy y[hanoi_otherpeg_diff2]
0Thm*  n:a,z:s:({a...z}{1...n}Peg).
Thm*  s is a Hanoi(n disk) seq on a..z
Thm*  
Thm*  (f:(PegPeg). 
Thm*  (Inj(Peg; Peg; f (x,if(s(x,i))) is a Hanoi(n disk) seq on a..z)
[hanoi_seq_permutepegs]
0Thm*  p,r,q,s:Peg. p  q  r  s  Inj(Peg; Peg; permute(p to r ; q to s))[hanoi_peg_perm_is_inj]
0Thm*  n:a,z,d:s:({a...z}{1...n}Peg).
Thm*  s is a Hanoi(n disk) seq on a..z
Thm*  
Thm*  (x.s(x-d)) is a Hanoi(n disk) seq on a+d..z+d
[hanoi_seq_shift]
3Thm*  n:a:z:{a...}, m:{a...z-1}, f,g:({1...n}Peg).
Thm*  f(n g(n)
Thm*  
Thm*  (s1:({a...m}{1...n-1}Peg), s2:({m+1...z}{1...n-1}Peg).
Thm*  (s1 is a Hanoi(n-1 disk) seq on a..m
Thm*  (s1(a) = f  {1...n-1}Peg
Thm*  (s2 is a Hanoi(n-1 disk) seq on m+1..z
Thm*  (s2(z) = g  {1...n-1}Peg
Thm*  (s1(m) = s2(m+1)
Thm*  (& (i:{1...n-1}. s1(m,i f(n) & s2(m+1,i g(n)))
Thm*  
Thm*  (r1:({a...m}{1...n}Peg), r2:({m+1...z}{1...n}Peg).
Thm*  ((r1 @(mr2) is a Hanoi(n disk) seq on a..z & r1(a) = f & r2(z) = g)
[hanoi_general_exists_lemma2]
0Thm*  p,r,q,s:Peg. p  q  r  s  permute(p to r ; q to s)(q) = s[hanoi_peg_perm_comp2]
0Thm*  p,r,q,s:Peg. p  q  r  s  permute(p to r ; q to s)(p) = r[hanoi_peg_perm_comp1]
0Thm*  n:m,a,z:s1:({a...m}{1...n}Peg), s2:({m+1...z}{1...n}Peg),
Thm*  x:{a...m}. (s1 @(ms2)(x) = s1(x)
[hanoi_seq_join_part1]
0Thm*  n:m,a,z:s1:({a...m}{1...n}Peg), s2:({m+1...z}{1...n}Peg),
Thm*  x:{m+1...z}. (s1 @(ms2)(x) = s2(x)
[hanoi_seq_join_part2]
IF YOU CAN SEE THIS go to /sfa/Nuprl/Shared/Xindentation_hack_doc.html
HanoiTowers Sections NuprlLIB Doc