let x, y be ExtReal; :: thesis: ( not x * y in REAL or ( x in REAL & y in REAL ) or x * y = 0 )
assume A1: x * y in REAL ; :: thesis: ( ( x in REAL & y in REAL ) or x * y = 0 )
assume ( not x in REAL or not y in REAL ) ; :: thesis: x * y = 0
then A2: ( not x is real or not y is real ) by XREAL_0:def 1;
assume A3: x * y <> 0 ; :: thesis: contradiction
per cases ( ( x is positive & y is positive ) or ( x is negative & y is negative ) or ( x is positive & y is negative ) or ( x is negative & y is positive ) ) by A3;
suppose ( ( x is positive & y is positive ) or ( x is negative & y is negative ) ) ; :: thesis: contradiction
end;
suppose ( ( x is positive & y is negative ) or ( x is negative & y is positive ) ) ; :: thesis: contradiction
end;
end;