Step 1 [1]
 
?- what? * (all x
     natnum
     (some y natnum (> y x)))
 
TT0>> answer-sequent 
==================================================
Step 2 [2]
 
?- what? * (all x
     natnum
     (some y natnum (> y x)))
 
TT0>> natnum-induction 
==================================================
Step 3 [3]
 
?- 142? * (some y natnum (> y 0))
 
TT0>> some-right 
==================================================
Step 4 [4]
 
?- 223? * (> 226? 0)
 
TT0>> rotate 1 2 
==================================================
Step 5 [4]
 
?- 226? * natnum
 
TT0>> successor 
==================================================
Step 6 [4]
 
?- 494? * natnum
 
TT0>> 0-natnum 
==================================================
Step 7 [3]
 
?- 223? * (> (succ 0) 0)
 
TT0>> rewrite elim> 0 
==================================================
Step 8 [3]
 
?- 223? * ((>= (succ 0) 0) &
                 (~ (>= 0 (succ 0))))
 
TT0>> &-right 
==================================================
Step 9 [4]
 
?- 808? * (>= (succ 0) 0)
 
TT0>> >=-ind 
==================================================
Step 10 [6]
 
?- 0 * natnum
 
TT0>> 0-natnum 
==================================================
Step 11 [5]
 
?- 0 * natnum
 
TT0>> 0-natnum 
==================================================
Step 12 [4]
 
?- 808? * (>= 0 0)
 
TT0>> >=-base 
==================================================
Step 13 [4]
 
?- 0 * natnum
 
TT0>> 0-natnum 
==================================================
Step 14 [3]
 
?- 811? * (~ (>= 0 (succ 0)))
 
TT0>> rewrite elim-~ 0 
==================================================
Step 15 [3]
 
?- 811? * ((>= 0 (succ 0)) -> void)
 
TT0>> ->-right 
==================================================
Step 16 [3] 
 
?- 1413? * void
 
1. t22613 * (>= 0 (succ 0))

TT0>> >=-void 
==================================================
Step 17 [4] 
 
?- 1413? * ((>= 1487? (succ 1487?)) v (~ (>= 1487? 0)))
 
1. t22613 * (>= 0 (succ 0))

TT0>> v-right1 
==================================================
Step 18 [4] 
 
?- 1559? * (>= 1487? (succ 1487?))
 
1. t22613 * (>= 0 (succ 0))

TT0>> xtt 
==================================================
Step 19 [3] 
 
?- 0 * natnum
 
1. t22613 * (>= 0 (succ 0))

TT0>> 0-natnum 
==================================================
Step 20 [2]
 
?- 145? * (all x
     natnum
     ((some y natnum (> y x)) ->
                               (some y
                                     natnum
                                     (> y (succ x)))))
 
TT0>> all-right 
==================================================
Step 21 [2] 
 
?- ((/. 1789? natnum 1791?) t22614) * ((some y natnum (> y t22614)) ->
                               (some y
                                     natnum
                                     (> y (succ t22614))))
 
1. t22614 * natnum

TT0>> ->-left 
==================================================
Step 22 [3] 
 
?- (/. 1789? natnum 1791?) * (1869? ->
       ((some y natnum (> y t22614)) ->
                                      (some y
                                            natnum
                                            (> y (succ t22614)))))
 
1. t22614 * natnum

TT0>> ->-right 
==================================================
Step 23 [3] 
 
?- 1791? * ((some y natnum (> y t22614)) ->
                               (some y
                                     natnum
                                     (> y (succ t22614))))
 
1. t22615 * natnum
2. t22614 * natnum

TT0>> ->-right 
==================================================
Step 24 [3] 
 
?- 2017? * (some y
      natnum
      (> y (succ t22614)))
 
1. t22616 * (some y natnum (> y t22614))
2. t22615 * natnum
3. t22614 * natnum

TT0>> some-right 
==================================================
Step 25 [4] 
 
?- 2091? * (> 2094? (succ t22614))
 
1. t22616 * (some y natnum (> y t22614))
2. t22615 * natnum
3. t22614 * natnum

TT0>> some-left2 
==================================================
Step 26 [4] 
 
?- 2091? * (> 2094? (succ t22614))
 
1. t22616 * (some y natnum (> y t22614))
2. (snd t22616) * (> (fst t22616) t22614)
3. t22615 * natnum
4. t22614 * natnum

TT0>> rewrite elim> 0 
==================================================
Step 27 [4] 
 
?- 2091? * ((>= 2094? (succ t22614)) &
                          (~ (>= (succ t22614) 2094?)))
 
1. t22616 * (some y natnum (> y t22614))
2. (snd t22616) * (> (fst t22616) t22614)
3. t22615 * natnum
4. t22614 * natnum

TT0>> rewrite elim> 2 
==================================================
Step 28 [4] 
 
?- 2091? * ((>= 2094? (succ t22614)) &
                          (~ (>= (succ t22614) 2094?)))
 
1. t22616 * (some y natnum (> y t22614))
2. (snd t22616) * ((>= (fst t22616) t22614) &
                          (~ (>= t22614 (fst t22616))))
3. t22615 * natnum
4. t22614 * natnum

TT0>> &-right 
==================================================
Step 29 [5] 
 
?- 2598? * (>= 2094? (succ t22614))
 
1. t22616 * (some y natnum (> y t22614))
2. (snd t22616) * ((>= (fst t22616) t22614) &
                          (~ (>= t22614 (fst t22616))))
3. t22615 * natnum
4. t22614 * natnum

TT0>> >=-ind-2-r 
==================================================
Step 30 [7] 
 
?- 2674? * natnum
 
1. t22616 * (some y natnum (> y t22614))
2. (snd t22616) * ((>= (fst t22616) t22614) &
                          (~ (>= t22614 (fst t22616))))
3. t22615 * natnum
4. t22614 * natnum

TT0>> rotate 1 3 
==================================================
Step 31 [7] 
 
?- 2598? * (>= 2674? t22614)
 
1. t22616 * (some y natnum (> y t22614))
2. (snd t22616) * ((>= (fst t22616) t22614) &
                          (~ (>= t22614 (fst t22616))))
3. t22615 * natnum
4. t22614 * natnum

TT0>> >=-ind-2-r 
==================================================
Step 32 [7] 
 
?- 2598? * (>= 2674? t22614)
 
1. t22616 * (some y natnum (> y t22614))
2. (snd t22616) * ((>= (fst t22616) t22614) &
                          (~ (>= t22614 (fst t22616))))
3. t22615 * natnum
4. t22614 * natnum

TT0>> >=-ind 
==================================================
Step 33 [9] 
 
?- 3666? * natnum
 
1. t22616 * (some y natnum (> y t22614))
2. (snd t22616) * ((>= (fst t22616) t22614) &
                          (~ (>= t22614 (fst t22616))))
3. t22615 * natnum
4. t22614 * natnum

TT0>> swap 3 4 
==================================================
Step 34 [9] 
 
?- 3666? * natnum
 
1. t22616 * (some y natnum (> y t22614))
2. (snd t22616) * ((>= (fst t22616) t22614) &
                          (~ (>= t22614 (fst t22616))))
3. t22614 * natnum
4. t22615 * natnum

TT0>> xtt 
==================================================
Step 35 [8] 
 
?- t22614 * natnum
 
1. t22616 * (some y natnum (> y t22614))
2. (snd t22616) * ((>= (fst t22616) t22614) &
                          (~ (>= t22614 (fst t22616))))
3. t22615 * natnum
4. t22614 * natnum

TT0>> xtt 
==================================================
Step 36 [7] 
 
?- 2598? * (>= t22614 t22614)
 
1. t22616 * (some y natnum (> y t22614))
2. (snd t22616) * ((>= (fst t22616) t22614) &
                          (~ (>= t22614 (fst t22616))))
3. t22615 * natnum
4. t22614 * natnum

TT0>> >=-base 
==================================================
Step 37 [7] 
 
?- t22614 * natnum
 
1. t22616 * (some y natnum (> y t22614))
2. (snd t22616) * ((>= (fst t22616) t22614) &
                          (~ (>= t22614 (fst t22616))))
3. t22615 * natnum
4. t22614 * natnum

TT0>> xtt 
==================================================
Step 38 [6] 
 
?- t22614 * natnum
 
1. t22616 * (some y natnum (> y t22614))
2. (snd t22616) * ((>= (fst t22616) t22614) &
                          (~ (>= t22614 (fst t22616))))
3. t22615 * natnum
4. t22614 * natnum

TT0>> xtt 
==================================================
Step 39 [5] 
 
?- (succ t22614) * natnum
 
1. t22616 * (some y natnum (> y t22614))
2. (snd t22616) * ((>= (fst t22616) t22614) &
                          (~ (>= t22614 (fst t22616))))
3. t22615 * natnum
4. t22614 * natnum

TT0>> xtt 
==================================================
Step 40 [4] 
 
?- 2601? * (~ (>= (succ t22614)
       (succ (succ t22614))))
 
1. t22616 * (some y natnum (> y t22614))
2. (snd t22616) * ((>= (fst t22616) t22614) &
                          (~ (>= t22614 (fst t22616))))
3. t22615 * natnum
4. t22614 * natnum

TT0>> rewrite elim-~ 0 
==================================================
Step 41 [4] 
 
?- 2601? * ((>= (succ t22614)
     (succ (succ t22614)))
  ->
  void)
 
1. t22616 * (some y natnum (> y t22614))
2. (snd t22616) * ((>= (fst t22616) t22614) &
                          (~ (>= t22614 (fst t22616))))
3. t22615 * natnum
4. t22614 * natnum

TT0>> ->-right 
==================================================
Step 42 [4] 
 
?- 5107? * void
 
1. t22617 * (>= (succ t22614)
    (succ (succ t22614)))
2. t22616 * (some y natnum (> y t22614))
3. (snd t22616) * ((>= (fst t22616) t22614) &
                          (~ (>= t22614 (fst t22616))))
4. t22615 * natnum
5. t22614 * natnum

TT0>> >=-ind-2-l 
==================================================
Step 43 [4] 
 
?- 5107? * void
 
1. t22617 * (>= (succ t22614)
    (succ (succ t22614)))
2. t22617 * (>= t22614 (succ t22614))
3. t22616 * (some y natnum (> y t22614))
4. (snd t22616) * ((>= (fst t22616) t22614) &
                          (~ (>= t22614 (fst t22616))))
5. t22615 * natnum
6. t22614 * natnum

TT0>> >=-void 
==================================================
Step 44 [5] 
 
?- 5107? * ((>= 5260? (succ 5260?)) v (~ (>= 5260? 0)))
 
1. t22617 * (>= (succ t22614)
    (succ (succ t22614)))
2. t22617 * (>= t22614 (succ t22614))
3. t22616 * (some y natnum (> y t22614))
4. (snd t22616) * ((>= (fst t22616) t22614) &
                          (~ (>= t22614 (fst t22616))))
5. t22615 * natnum
6. t22614 * natnum

TT0>> v-right1 
==================================================
Step 45 [5] 
 
?- 5332? * (>= 5260? (succ 5260?))
 
1. t22617 * (>= (succ t22614)
    (succ (succ t22614)))
2. t22617 * (>= t22614 (succ t22614))
3. t22616 * (some y natnum (> y t22614))
4. (snd t22616) * ((>= (fst t22616) t22614) &
                          (~ (>= t22614 (fst t22616))))
5. t22615 * natnum
6. t22614 * natnum

TT0>> xtt 
==================================================
Step 46 [4] 
 
?- (succ t22614) * natnum
 
1. t22617 * (>= (succ t22614)
    (succ (succ t22614)))
2. t22617 * (>= t22614 (succ t22614))
3. t22616 * (some y natnum (> y t22614))
4. (snd t22616) * ((>= (fst t22616) t22614) &
                          (~ (>= t22614 (fst t22616))))
5. t22615 * natnum
6. t22614 * natnum

TT0>> xtt 
==================================================
Step 47 [3] 
 
?- (succ (succ t22614)) * natnum
 
1. t22616 * (some y natnum (> y t22614))
2. t22615 * natnum
3. t22614 * natnum

TT0>> xtt 
==================================================
Step 48 [2] 
 
?- t22614 * natnum
 
1. t22614 * natnum

TT0>> xtt 
==================================================
Step 49 [1] 
 
?- (/. x
    natnum
    (prim x
          (tuple (succ 0)
                 (tuple triv
                        (/. t22613
                            (>= 0 (succ 0))
                            (inl t22613))))
          (/. t22615
              natnum
              (subst t22615
                     t22614
                     (/. t22616
                         (some y natnum (> y t22614))
                         (tuple (succ (succ t22614))
                                (tuple triv
                                       (/. t22617
                                           (>= (succ t22614)
                                               (succ (succ t22614)))
                                           (inl t22617))))))))) * (all x
     natnum
     (some y natnum (> y x)))
 
1. (/. x
    natnum
    (prim x
          (tuple (succ 0)
                 (tuple triv
                        (/. t22613
                            (>= 0 (succ 0))
                            (inl t22613))))
          (/. t22615
              natnum
              (subst t22615
                     t22614
                     (/. t22616
                         (some y natnum (> y t22614))
                         (tuple (succ (succ t22614))
                                (tuple triv
                                       (/. t22617
                                           (>= (succ t22614)
                                               (succ (succ t22614)))
                                           (inl t22617))))))))) * (all x
     natnum
     (some y natnum (> y x)))

TT0>> xtt 

(define gt 
  x -> (head (prim x 
             (tuple (succ 0) (tuple triv (/. (e) (inl e)))) 
             (/. (e f) (tuple (succ (succ e)) 
                              (tuple triv 
                                     (/. (g) (inl g))))))))

