reserve x,y,w,z for ExtReal,
  a for Real;

theorem
  |.x * y.| = |.x.| * |.y.|
proof
  reconsider x,y as R_eal by XXREAL_0:def 1;
  per cases;
  suppose
    x = 0;
    then |.x.| = 0 & |.x * y.| = 0 by Def1;
    hence thesis;
  end;
  suppose
A1: 0 < x;
      per cases;
      suppose
        y = 0;
        then |.y.| = 0 & |.x * y.| = 0 by Def1;
        hence thesis;
      end;
      suppose
     0 < y;
        then
A2:     |.y.| = y by Def1;
        |.x.| = x by A1,Def1;
        hence thesis by A2,Def1;
      end;
      suppose
A3:     y < 0;
        then
A4:     |.y.| = -y by Def1;
        |.x.| = x by A1,Def1;
        then |.x.| * |.y.| = -(x * y) by A4,XXREAL_3:92;
        hence thesis by A1,A3,Def1;
      end;
  end;
  suppose
A5: x < 0;
      per cases;
      suppose
        y = 0;
        then |.y.| = 0 & |.x * y.| = 0 by Def1;
        hence thesis;
      end;
      suppose
A6:     0 < y;
        then |.y.| = y by Def1;
        then
A7:     |.x.| * |.y.| = (-x) * y by A5,Def1;
        |.x * y.| = -(x * y) by A5,A6,Def1;
        hence thesis by A7,XXREAL_3:92;
      end;
      suppose
     y < 0;
        then |.y.| = -y by Def1;
        then |.x.| * |.y.| = (-x) * (-y) by A5,Def1;
        then |.x.| * |.y.| = -(x * (-y)) by XXREAL_3:92
          .= -(-(x * y)) by XXREAL_3:92;
        hence thesis by Def1;
      end;
  end;
end;
