Each of these definitions was derived to realize the existential claims of theorems. Here is the "realized" version of the Hanoi existence theorem.
Thm* n:
, p,q:Peg.
Thm* pq
Thm*![]()
Thm* (a:
.
Thm* (HanoiSTD(n disks; from: p; to: q; indexing from: a)/z,s.
Thm* (s is a Hanoi(n disk) seq on a..z
Thm* (& s(a) = (i.p)
{1...n}
Peg
Thm* (& s(z) = (i.q)
{1...n}
Peg)
And here is the realized version of the main lemma it cites.
Thm* 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* ((HanoiHelper(n; s1; f; s2; g)/r1,r2.
Thm* (((r1 @(m) r2) is a Hanoi(n disk) seq on a..z & r1(a) = f & r2(z) = g))
About:
![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
![]() | ![]() | ![]() | ![]() | ![]() | ![]() |