n:
, f,g:({1...n}
Peg), a:
.
Thm* z:{a...}, s:({a...z}
{1...n}
Peg).
Thm* s is a Hanoi(n disk) seq on a..z & s(a) = f & s(z) = g
The proof is by induction on
{1...0}
Peg, a
x.f)
x.f) is a Hanoi(0 disk) seq on a..a
Peg
Now taking as our inductive hypothesis
f,g:({1...n-1}
Peg), a:
.
z:{a...}, s:({a...z}
{1...n-1}
Peg).
s is a Hanoi(n-1 disk) seq on a..z & s(a) = f & s(z) = g
and assuming {1...n}
Peg, a
z:{a...}, s:({a...z}
{1...n}
Peg).
(*) s is a Hanoi(n disk) seq on a..z & s(a) = f & s(z) = g
Is the largest disk already in place? That is, is
s:({a...z}
{1...n-1}
Peg).
s is a Hanoi(n-1 disk) seq on a..z
& s(a) = f{1...n-1}
Peg
& s(z) = g{1...n-1}
Peg
which will suffice to show our goal by the following lemma
Thm* n:
, f,g:({1...n}
Peg).
Thm* f(n) = g(n)
Thm*![]()
Thm* (a:
, z:{a...}.
Thm* ((s:({a...z}
{1...n-1}
Peg).
Thm* ((s is a Hanoi(n-1 disk) seq on a..z
Thm* ((& s(a) = f{1...n-1}
Peg
Thm* ((& s(z) = g{1...n-1}
Peg)
Thm* (![]()
Thm* ((s:({a...z}
{1...n}
Peg).
Thm* ((s is a Hanoi(n disk) seq on a..z & s(a) = f & s(z) = g))
If, on the other hand, g(n)
z:{a...}, m:{a...z-1}, s1:({a...m}
{1...n}
Peg),
(A) s2:({m+1...z}
{1...n}
Peg).
(A) (s1 @(m) s2) is a Hanoi(n disk) seq on a..z & s1(a) = f & s2(z) = g
where
Continued at
About:
![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
![]() | ![]() | ![]() | ![]() | ![]() | ![]() |