const SNo : set prop const add_SNo : set set set term + = add_SNo infix + 2281 2280 axiom SNo_add_SNo: !x:set.!y:set.SNo x -> SNo y -> SNo (x + y) const Empty : set axiom SNo_0: SNo Empty const In : set set prop term iIn = In infix iIn 2000 2000 const omega : set const eps_ : set set axiom SNo_eps_: !x:set.x iIn omega -> SNo (eps_ x) const SNoLe : set set prop term <= = SNoLe infix <= 2020 2020 axiom add_SNo_Le1: !x:set.!y:set.!z:set.SNo x -> SNo y -> SNo z -> x <= z -> (x + y) <= z + y const ordsucc : set set axiom omega_ordsucc: !x:set.x iIn omega -> ordsucc x iIn omega axiom ordsuccI2: !x:set.x iIn ordsucc x const SNoLt : set set prop term < = SNoLt infix < 2020 2020 axiom SNo_eps_decr: !x:set.x iIn omega -> !y:set.y iIn x -> eps_ x < eps_ y axiom add_SNo_0L: !x:set.SNo x -> Empty + x = x axiom SNoLeLt_tra: !x:set.!y:set.!z:set.SNo x -> SNo y -> SNo z -> x <= y -> y < z -> x < z lemma !x:set.!y:set.x iIn omega -> SNo (eps_ (ordsucc x)) -> SNo y -> y <= Empty -> (y + eps_ (ordsucc x)) < eps_ x -> (y + eps_ (ordsucc x)) < eps_ x & (eps_ (ordsucc x) + y) < eps_ x const SNoLev : set set const nat_p : set prop var x:set var y:set hyp nat_p x hyp x iIn omega hyp SNo (eps_ (ordsucc x)) hyp SNo y hyp SNoLev y iIn ordsucc (ordsucc x) hyp y < eps_ (ordsucc x) claim y <= Empty -> (y + eps_ (ordsucc x)) < eps_ x & (eps_ (ordsucc x) + y) < eps_ x