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 SNo : set prop axiom real_SNo: !x:set.x iIn real -> SNo x const complex : set const Empty : set const CSNo_Re : set set const CSNo_Im : set set const mul_SNo : set set set term * = mul_SNo infix * 2291 2290 const mul_CSNo : set set set const ordsucc : set set lemma !x:set.x iIn complex -> x != Empty -> CSNo_Re x iIn real -> CSNo_Im x iIn real -> CSNo_Re x * CSNo_Re x iIn real -> SNo (CSNo_Re x * CSNo_Re x) -> ?y:set.y iIn complex & mul_CSNo 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 claim CSNo_Re x * CSNo_Re x iIn real -> ?y:set.y iIn complex & mul_CSNo x y = ordsucc Empty