| Some definitions of interest. |
|
hanoi_seq | Def s is a Hanoi(n disk) seq on a..z
Def == x,x':{a...z}.
Def == x+1 = x'  ( k:{1...n}. Moving disk k of n takes s(x) to s(x')) |
| | Thm* n: , a,z: , s:({a...z} {1...n} Peg).
Thm* s is a Hanoi(n disk) seq on a..z Prop |
|
hanoi_PEG | Def Peg == {1...3} |
| | Thm* Peg Type |
|
hanoi_seq_deepen | Def (s(?) {to n} h {to n'})(x) == s(x) {to n} h {to n'} |
| | Thm* a,z: , n: , s:({a...z} {1...n} Peg), n': .
Thm* n n'
Thm* 
Thm* ( h:({n+1...n'} Peg). (s(?) {to n} h {to n'}) {a...z} {1...n'} Peg) |
|
hanoi_extend | Def (f {to n} f' {to n'})(i) == if i n f(i) else f'(i) fi |
| | Thm* n: , f:({1...n} Peg), n': .
Thm* n n'  ( f':({n+1...n'} Peg). (f {to n} f' {to n'}) {1...n'} Peg) |
|
int_iseg | Def {i...j} == {k: | i k & k j } |
| | Thm* i,j: . {i...j} Type |
|
nat | Def == {i: | 0 i } |
| | Thm* Type |
|
le | Def A B == B<A |
| | Thm* i,j: . (i j) Prop |
|
le_int | Def i j ==  j< i |
| | Thm* i,j: . (i j)  |