const SNo : set prop const ordsucc : set set const Empty : set axiom SNo_2: SNo (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 SNo_exp_SNo_nat: !x:set.SNo x -> !y:set.nat_p y -> SNo (exp_SNo_nat x y) const add_SNo : set set set term + = add_SNo infix + 2281 2280 const eps_ : set set const mul_SNo : set set set term * = mul_SNo infix * 2291 2290 lemma !x:set.!y:set.x iIn omega -> y iIn omega -> nat_p (x + y) -> SNo (eps_ x) -> SNo (eps_ y) -> SNo (eps_ x * eps_ y) -> SNo (eps_ (x + y)) -> SNo (exp_SNo_nat (ordsucc (ordsucc Empty)) x) -> SNo (exp_SNo_nat (ordsucc (ordsucc Empty)) y) -> eps_ x * eps_ y = eps_ (x + y) var x:set var y:set hyp x iIn omega hyp y iIn omega hyp nat_p (x + y) hyp SNo (eps_ x) hyp SNo (eps_ y) hyp SNo (eps_ x * eps_ y) hyp SNo (eps_ (x + y)) claim SNo (exp_SNo_nat (ordsucc (ordsucc Empty)) x) -> eps_ x * eps_ y = eps_ (x + y)