const SNo : set prop const ordsucc : set set const Empty : set axiom SNo_2: SNo (ordsucc (ordsucc Empty)) const SNoLt : set set prop term < = SNoLt infix < 2020 2020 axiom SNoLt_0_2: Empty < ordsucc (ordsucc Empty) const In : set set prop term iIn = In infix iIn 2000 2000 const omega : set const nat_p : set prop axiom omega_nat_p: !x:set.x iIn omega -> nat_p x const exp_SNo_nat : set set set axiom exp_SNo_nat_pos: !x:set.SNo x -> Empty < x -> !y:set.nat_p y -> Empty < exp_SNo_nat x y const SNoLe : set set prop term <= = SNoLe infix <= 2020 2020 axiom SNoLtLe: !x:set.!y:set.x < y -> x <= y axiom SNo_1: SNo (ordsucc Empty) const eps_ : set set axiom SNo_eps_: !x:set.x iIn omega -> SNo (eps_ x) const mul_SNo : set set set term * = mul_SNo infix * 2291 2290 axiom SNo_mul_SNo: !x:set.!y:set.SNo x -> SNo y -> SNo (x * y) axiom nonneg_mul_SNo_Le: !x:set.!y:set.!z:set.SNo x -> Empty <= x -> SNo y -> SNo z -> y <= z -> x * y <= x * z axiom mul_SNo_oneR: !x:set.SNo x -> x * ordsucc Empty = x lemma !x:set.x iIn omega -> SNo x -> ordsucc Empty <= eps_ x * x -> SNo (exp_SNo_nat (ordsucc (ordsucc Empty)) x) -> ~ exp_SNo_nat (ordsucc (ordsucc Empty)) x <= exp_SNo_nat (ordsucc (ordsucc Empty)) x * eps_ x * x var x:set hyp x iIn omega hyp SNo x hyp ordsucc Empty <= eps_ x * x claim ~ SNo (exp_SNo_nat (ordsucc (ordsucc Empty)) x)