Rank | Theorem | Name |
3 | Thm* n: , p,q:Peg.
Thm* p q
Thm* 
Thm* ( a: , z:{a...}, s:({a...z} {1...n} Peg).
Thm* (s is a Hanoi(n disk) seq on a..z & s(a) = ( i.p) & s(z) = ( i.q)
Thm* (
Thm* (( x:{a...z-1}, y:{x+1...z}, p',q':Peg.
Thm* ((( u:{a...x}. s(u,n) = p) & ( u:{y...z}. s(u,n) = q)
Thm* ((& s(x) = ( i.p') {1...n-1} Peg & s(y) = ( i.q') {1...n-1} Peg
Thm* ((& p p'
Thm* ((& q q')) | [hanoi_sol2_analemma] |
cites the following: |
0 | Thm* p,q:Peg.
Thm* p q
Thm* 
Thm* ( a: , z:{a...}, f:({a...z} Peg).
Thm* (f(a) = p & f(z) = q
Thm* (
Thm* (( x:{a...z-1}, y:{x+1...z}.
Thm* ((( u:{a...x}. f(u) = p)
Thm* ((& f(x+1) p
Thm* ((& f(y-1) q
Thm* ((& ( u:{y...z}. f(u) = q))) | [hanoi_pegseq_analemma] |
2 | Thm* n: , f,g:({1...n} Peg), j:{1...n}.
Thm* ( k:{1...n}. Moving disk k of n takes f to g)
Thm* 
Thm* f(j) g(j)  Moving disk j of n takes f to g | [hanoi_step_at_change] |
0 | Thm* x,y:Peg. x y  otherPeg(x; y) = otherPeg(y; x) | [hanoi_otherpeg_sym] |
1 | Thm* n: , f,g:({1...n} Peg), k:{1...n}.
Thm* Moving disk k of n takes f to g
Thm* 
Thm* f = ( i.otherPeg(f(k); g(k))) {1...k-1} Peg | [hanoi_step_at_otherpeg] |
0 | Thm* n: , f,g:({1...n} Peg), k:{1...n}.
Thm* Moving disk k of n takes f to g  Moving disk k of n takes g to f | [hanoi_step_at_sym] |
1 | Thm* x,y:Peg. x y  x otherPeg(x; y) | [hanoi_otherpeg_diff3] |
2 | Thm* x,y:Peg. x y  y otherPeg(x; y) | [hanoi_otherpeg_diff4] |