const SNo : set prop const Empty : set axiom SNo_0: SNo Empty const In : set set prop term iIn = In infix iIn 2000 2000 const real : set const minus_SNo : set set term - = minus_SNo axiom real_minus_SNo: !x:set.x iIn real -> - x iIn real axiom minus_SNo_0: - Empty = Empty const SNoLt : set set prop term < = SNoLt infix < 2020 2020 axiom minus_SNo_Lt_contra2: !x:set.!y:set.SNo x -> SNo y -> x < - y -> y < - x const mul_SNo : set set set term * = mul_SNo infix * 2291 2290 axiom real_mul_SNo_pos: !x:set.x iIn real -> !y:set.y iIn real -> Empty < x -> Empty < y -> x * y iIn real axiom mul_SNo_minus_minus: !x:set.!y:set.SNo x -> SNo y -> (- x) * - y = x * y axiom real_0: Empty iIn real axiom mul_SNo_zeroR: !x:set.SNo x -> x * Empty = Empty axiom mul_SNo_minus_distrL: !x:set.!y:set.SNo x -> SNo y -> (- x) * y = - x * y axiom minus_SNo_invol: !x:set.SNo x -> - - x = x axiom SNoLt_trichotomy_or_impred: !x:set.!y:set.SNo x -> SNo y -> !P:prop.(x < y -> P) -> (x = y -> P) -> (y < x -> P) -> P var x:set var y:set hyp x iIn real hyp y iIn real hyp SNo x hyp SNo y hyp SNo (x * y) hyp x < Empty claim Empty < - x -> x * y iIn real