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 real : set const complex : set axiom real_complex: Subq real complex const mul_CSNo : set set set axiom complex_mul_CSNo: !x:set.x iIn complex -> !y:set.y iIn complex -> mul_CSNo x y iIn complex const Complex_i : set axiom complex_i: Complex_i iIn complex const minus_CSNo : set set axiom complex_minus_CSNo: !x:set.x iIn complex -> minus_CSNo x iIn complex const add_CSNo : set set set axiom complex_add_CSNo: !x:set.x iIn complex -> !y:set.y iIn complex -> add_CSNo x y iIn complex const CSNo : set prop axiom complex_CSNo: !x:set.x iIn complex -> CSNo x const SNo : set prop axiom real_SNo: !x:set.x iIn real -> SNo x const mul_SNo : set set set term * = mul_SNo infix * 2291 2290 const add_SNo : set set set term + = add_SNo infix + 2281 2280 const CSNo_Re : set set const CSNo_Im : set set const ordsucc : set set const Empty : set axiom CSNo_relative_recip: !x:set.CSNo x -> !y:set.SNo y -> (CSNo_Re x * CSNo_Re x + CSNo_Im x * CSNo_Im x) * y = ordsucc Empty -> mul_CSNo x (add_CSNo (mul_CSNo y (CSNo_Re x)) (minus_CSNo (mul_CSNo Complex_i (mul_CSNo y (CSNo_Im x))))) = ordsucc Empty axiom nonzero_real_recip_ex: !x:set.x iIn real -> x != Empty -> ?y:set.y iIn real & x * y = ordsucc Empty var x:set hyp x iIn complex hyp x != Empty hyp CSNo_Re x iIn real hyp CSNo_Im x iIn real hyp SNo (CSNo_Re x * CSNo_Re x) hyp SNo (CSNo_Im x * CSNo_Im x) hyp CSNo_Re x * CSNo_Re x + CSNo_Im x * CSNo_Im x iIn real hyp SNo (CSNo_Re x * CSNo_Re x + CSNo_Im x * CSNo_Im x) claim CSNo_Re x * CSNo_Re x + CSNo_Im x * CSNo_Im x != Empty -> ?y:set.y iIn complex & mul_CSNo x y = ordsucc Empty