/*
 * @(#)$Id: lessgreater,v 1.1 1994/09/16 09:34:53 dream Exp $
 *
 * $Log: lessgreater,v $
 * Revision 1.1  1994/09/16 09:34:53  dream
 * Initial revision
 *
 */

problem([]==>x:pnat=>y:pnat=>u(1),
intro,lambda(x,_7776),
[problem([x:pnat]==>y:pnat=>u(1),
 elim(x),p_ind(x,_7807,[v0,v1,_7813]),
 [problem([x:pnat]==>y:pnat=>u(1),
  intro,lambda(y,_7843),
  [problem([x:pnat,y:pnat]==>u(1),
   decide(y=0 in pnat),pnat_eq(y,0,su(_7883,[axiom],[v0]),su(_7891,[lambda(~,axiom)],[v0])),
   [problem([x:pnat,y:pnat,v0:y=0 in pnat]==>u(1),
    intro(void),void,
    [
    ]) ext _7883,
    problem([x:pnat,y:pnat,v0:y=0 in pnat=>void]==>u(1),
    intro(explicit({true}))then simplify then repeat intro,{true},
    [
    ]) ext _7891
   ]) ext _7843,
   problem([x:pnat]==>pnat in u(1),
   intro,axiom,
   [
   ])
  ]) ext _7807,
  problem([x:pnat,v0:pnat,v1:y:pnat=>u(1)]==>y:pnat=>u(1),
  intro(at(1),new[y]),lambda(y,_8069),
  [problem([x:pnat,v0:pnat,v1:y:pnat=>u(1),y:pnat]==>u(1),
   decide(y=0 in pnat),pnat_eq(y,0,su(_8127,[axiom],[v2]),su(_8135,[lambda(~,axiom)],[v2])),
   [problem([x:pnat,v0:pnat,v1:y:pnat=>u(1),y:pnat,v2:y=0 in pnat]==>u(1),
    intro(void),void,
    [
    ]) ext _8127,
    problem([x:pnat,v0:pnat,v1:y:pnat=>u(1),y:pnat,v2:y=0 in pnat=>void]==>u(1),
    lemma(succlemma),su(_8261,[term_of(succlemma)],[v3]),
    [problem([x:pnat,v0:pnat,v1:y:pnat=>u(1),y:pnat,v2:y=0 in pnat=>void,v3:y:pnat=> (y=0 in pnat=>void)=>x:pnat#y=s(x)in pnat]==>u(1),
     elim(v3,on(y)),su(_8370,[v3 of y],[v4]),
     [problem([x:pnat,v0:pnat,v1:y:pnat=>u(1),y:pnat,v2:y=0 in pnat=>void,v3:y:pnat=> (y=0 in pnat=>void)=>x:pnat#y=s(x)in pnat]==>y in pnat,
      intro,axiom,
      [
      ]),
      problem([x:pnat,v0:pnat,v1:y:pnat=>u(1),y:pnat,v2:y=0 in pnat=>void,v3:y:pnat=> (y=0 in pnat=>void)=>x:pnat#y=s(x)in pnat,v4: (y=0 in pnat=>void)=>x:pnat#y=s(x)in pnat]==>u(1),
      elim(v4),su(_8600,[v4 of _8607],[v5]),
      [problem([x:pnat,v0:pnat,v1:y:pnat=>u(1),y:pnat,v2:y=0 in pnat=>void,v3:y:pnat=> (y=0 in pnat=>void)=>x:pnat#y=s(x)in pnat,v4: (y=0 in pnat=>void)=>x:pnat#y=s(x)in pnat]==>y=0 in pnat=>void,
       intro,v2,
       [
       ]) ext _8607,
       problem([x:pnat,v0:pnat,v1:y:pnat=>u(1),y:pnat,v2:y=0 in pnat=>void,v3:y:pnat=> (y=0 in pnat=>void)=>x:pnat#y=s(x)in pnat,v4: (y=0 in pnat=>void)=>x:pnat#y=s(x)in pnat,v5:x:pnat#y=s(x)in pnat]==>u(1),
       elim(v5),spread(v5,[v6,v7,_8895]),
       [problem([x:pnat,v0:pnat,v1:y:pnat=>u(1),y:pnat,v2:y=0 in pnat=>void,v3:y:pnat=> (y=0 in pnat=>void)=>x:pnat#y=s(x)in pnat,v4: (y=0 in pnat=>void)=>x:pnat#y=s(x)in pnat,v5:x:pnat#y=s(x)in pnat,v6:pnat,v7:y=s(v6)in pnat,v8:v5=v6&v7 in (x:pnat#y=s(x)in pnat)]==>u(1),
        intro(explicit(v1 of v6)),v1 of v6,
        [problem([x:pnat,v0:pnat,v1:y:pnat=>u(1),y:pnat,v2:y=0 in pnat=>void,v3:y:pnat=> (y=0 in pnat=>void)=>x:pnat#y=s(x)in pnat,v4: (y=0 in pnat=>void)=>x:pnat#y=s(x)in pnat,v5:x:pnat#y=s(x)in pnat,v6:pnat,v7:y=s(v6)in pnat,v8:v5=v6&v7 in (x:pnat#y=s(x)in pnat)]==>v1 of v6 in u(1),
         intro,axiom,
         [problem([x:pnat,v0:pnat,v1:y:pnat=>u(1),y:pnat,v2:y=0 in pnat=>void,v3:y:pnat=> (y=0 in pnat=>void)=>x:pnat#y=s(x)in pnat,v4: (y=0 in pnat=>void)=>x:pnat#y=s(x)in pnat,v5:x:pnat#y=s(x)in pnat,v6:pnat,v7:y=s(v6)in pnat,v8:v5=v6&v7 in (x:pnat#y=s(x)in pnat)]==>v1 in (y:pnat=>u(1)),
          repeat intro,axiom,
          [
          ]),
          problem([x:pnat,v0:pnat,v1:y:pnat=>u(1),y:pnat,v2:y=0 in pnat=>void,v3:y:pnat=> (y=0 in pnat=>void)=>x:pnat#y=s(x)in pnat,v4: (y=0 in pnat=>void)=>x:pnat#y=s(x)in pnat,v5:x:pnat#y=s(x)in pnat,v6:pnat,v7:y=s(v6)in pnat,v8:v5=v6&v7 in (x:pnat#y=s(x)in pnat)]==>v6 in pnat,
          intro,axiom,
          [
          ]),
          problem([x:pnat,v0:pnat,v1:y:pnat=>u(1),y:pnat,v2:y=0 in pnat=>void,v3:y:pnat=> (y=0 in pnat=>void)=>x:pnat#y=s(x)in pnat,v4: (y=0 in pnat=>void)=>x:pnat#y=s(x)in pnat,v5:x:pnat#y=s(x)in pnat,v6:pnat,v7:y=s(v6)in pnat,v8:v5=v6&v7 in (x:pnat#y=s(x)in pnat),v9:pnat,v10:u(1)]==>v10 in u(1),
          intro,axiom,
          [
          ])
         ])
        ]) ext _8895
       ]) ext _8600
      ]) ext _8370
     ]) ext _8261
    ]) ext _8135
   ]) ext _8069,
   problem([x:pnat,v0:pnat,v1:y:pnat=>u(1)]==>pnat in u(1),
   intro,axiom,
   [
   ])
  ]) ext _7813
 ]) ext _7776,
 problem([]==>pnat in u(1),
 intro,axiom,
 [
 ])
]).
