|   | 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) | 
 | 
| int_iseg | Def  {i...j} == {k: | i k & k j } | 
 | |   | Thm*   i,j: . {i...j}   Type | 
 | 
| int_upper | Def  {i...} == {j: | i j } | 
 | |   | Thm*   n: . {n...}   Type | 
 | 
| nat | Def    == {i: | 0 i } | 
 | |   | Thm*      Type | 
 | 
| le | Def  A B ==  B<A | 
 | |   | Thm*   i,j: . (i j)   Prop | 
 | 
| nat_plus | Def     == {i: | 0<i } | 
 | |   | Thm*       Type |