const In : set set prop term iIn = In infix iIn 2000 2000 term Subq = \x:set.\y:set.!z:set.z iIn x -> z iIn y const omega : set const mul_SNo : set set set term * = mul_SNo infix * 2291 2290 axiom mul_SNo_In_omega: !x:set.x iIn omega -> !y:set.y iIn omega -> x * y iIn omega const int : set axiom Subq_omega_int: Subq omega int const nat_p : set prop axiom omega_nat_p: !x:set.x iIn omega -> nat_p x const minus_SNo : set set term - = minus_SNo axiom int_SNo_cases: !p:set prop.(!x:set.x iIn omega -> p x) -> (!x:set.x iIn omega -> p - x) -> !x:set.x iIn int -> p x const SNo : set prop lemma !x:set.!y:set.x iIn omega -> SNo x -> y iIn omega -> nat_p y -> x * - y iIn int const ordinal : set prop var x:set hyp x iIn omega hyp ordinal x claim SNo x -> !y:set.y iIn int -> x * y iIn int