Article EXTREAL1, MML version 4.99.1005

:: EXTREAL1:th 1
theorem
for b1 being Element of ExtREAL
      st b1 <> +infty & b1 <> -infty
   holds b1 is Element of REAL;

:: EXTREAL1:th 4
theorem
for b1 being Element of ExtREAL holds
   (b1 = +infty implies - b1 = -infty) & (- b1 = -infty implies b1 = +infty) & (b1 = -infty implies - b1 = +infty) & (- b1 = +infty implies b1 = -infty);

:: EXTREAL1:th 5
theorem
for b1, b2 being Element of ExtREAL holds
b1 - - b2 = b1 + b2;

:: EXTREAL1:th 7
theorem
for b1, b2 being Element of ExtREAL
      st b1 <> -infty & b2 <> +infty & b1 <= b2
   holds b1 <> +infty & b2 <> -infty;

:: EXTREAL1:th 8
theorem
for b1, b2, b3 being Element of ExtREAL
      st (b1 = +infty implies b2 <> -infty) & (b1 = -infty implies b2 <> +infty) & (b2 = +infty implies b3 <> -infty) & (b2 = -infty implies b3 <> +infty) & (b1 = +infty implies b3 <> -infty) & (b1 = -infty implies b3 <> +infty)
   holds (b1 + b2) + b3 = b1 + (b2 + b3);

:: EXTREAL1:th 9
theorem
for b1 being Element of ExtREAL holds
   b1 + - b1 = 0.;

:: EXTREAL1:th 11
theorem
for b1, b2, b3 being Element of ExtREAL
      st (b1 = +infty implies b2 <> -infty) & (b1 = -infty implies b2 <> +infty) & (b2 = +infty implies b3 <> +infty) & (b2 = -infty implies b3 <> -infty) & (b1 = +infty implies b3 <> +infty) & (b1 = -infty implies b3 <> -infty)
   holds (b1 + b2) - b3 = b1 + (b2 - b3);

:: EXTREAL1:funcnot 1 => EXTREAL1:func 1
definition
  let a1, a2 be Element of ExtREAL;
  func A1 * A2 -> Element of ExtREAL means
    ((for b1, b2 being Element of REAL
           st a1 = b1 & a2 = b2
        holds it <> b1 * b2) &
     (((0. < a1 implies a2 <> +infty) & (0. < a2 implies a1 <> +infty) & (a1 < 0. implies a2 <> -infty) implies a2 < 0. & a1 = -infty) implies it <> +infty) &
     (((a1 < 0. implies a2 <> +infty) & (a2 < 0. implies a1 <> +infty) & (0. < a1 implies a2 <> -infty) implies 0. < a2 & a1 = -infty) implies it <> -infty)) implies (a1 = 0. or a2 = 0.) & it = 0.;
end;

:: EXTREAL1:def 1
theorem
for b1, b2, b3 being Element of ExtREAL holds
   b3 = b1 * b2
iff
   ((for b4, b5 being Element of REAL
          st b1 = b4 & b2 = b5
       holds b3 <> b4 * b5) &
    (((0. < b1 implies b2 <> +infty) & (0. < b2 implies b1 <> +infty) & (b1 < 0. implies b2 <> -infty) implies b2 < 0. & b1 = -infty) implies b3 <> +infty) &
    (((b1 < 0. implies b2 <> +infty) & (b2 < 0. implies b1 <> +infty) & (0. < b1 implies b2 <> -infty) implies 0. < b2 & b1 = -infty) implies b3 <> -infty) implies (b1 = 0. or b2 = 0.) & b3 = 0.);

:: EXTREAL1:th 13
theorem
for b1, b2 being Element of ExtREAL
for b3, b4 being Element of REAL
      st b1 = b3 & b2 = b4
   holds b1 * b2 = b3 * b4;

:: EXTREAL1:th 14
theorem
for b1, b2 being Element of ExtREAL
      st (0. <= b1 & 0. < b2 or 0. < b1 & 0. <= b2)
   holds 0. < b1 + b2;

:: EXTREAL1:th 15
theorem
for b1, b2 being Element of ExtREAL
      st (b1 <= 0. & b2 < 0. or b1 < 0. & b2 <= 0.)
   holds b1 + b2 < 0.;

:: EXTREAL1:th 16
theorem
for b1 being Element of ExtREAL
      st b1 in REAL & (b1 <= -infty or 0. <= b1) & b1 <> 0.
   holds 0. < b1 & b1 < +infty;

:: EXTREAL1:th 17
theorem
for b1, b2 being Element of ExtREAL holds
b1 * b2 = b2 * b1;

:: EXTREAL1:funcnot 2 => EXTREAL1:func 2
definition
  let a1, a2 be Element of ExtREAL;
  redefine func a1 * a2 -> Element of ExtREAL;
  commutativity;
::  for a1, a2 being Element of ExtREAL holds
::  a1 * a2 = a2 * a1;
end;

:: EXTREAL1:th 20
theorem
for b1, b2 being Element of ExtREAL
      st (0. < b1 & 0. < b2 or b1 < 0. & b2 < 0.)
   holds 0. < b1 * b2;

:: EXTREAL1:th 21
theorem
for b1, b2 being Element of ExtREAL
      st (0. < b1 & b2 < 0. or b1 < 0. & 0. < b2)
   holds b1 * b2 < 0.;

:: EXTREAL1:th 22
theorem
for b1, b2 being Element of ExtREAL holds
   b1 * b2 = 0.
iff
   (b1 = 0. or b2 = 0.);

:: EXTREAL1:th 23
theorem
for b1, b2, b3 being Element of ExtREAL holds
(b1 * b2) * b3 = b1 * (b2 * b3);

:: EXTREAL1:th 24
theorem
- 0. = 0.;

:: EXTREAL1:th 25
theorem
for b1 being Element of ExtREAL holds
   (0. < b1 implies - b1 < 0.) &
    (- b1 < 0. implies 0. < b1) &
    (b1 < 0. implies 0. < - b1) &
    (0. < - b1 implies b1 < 0.);

:: EXTREAL1:th 26
theorem
for b1, b2 being Element of ExtREAL holds
- (b1 * b2) = b1 * - b2 & - (b1 * b2) = (- b1) * b2;

:: EXTREAL1:th 27
theorem
for b1, b2 being Element of ExtREAL
      st b1 <> +infty & b1 <> -infty & b1 * b2 = +infty & b2 <> +infty
   holds b2 = -infty;

:: EXTREAL1:th 28
theorem
for b1, b2 being Element of ExtREAL
      st b1 <> +infty & b1 <> -infty & b1 * b2 = -infty & b2 <> +infty
   holds b2 = -infty;

:: EXTREAL1:th 29
theorem
for b1, b2, b3 being Element of ExtREAL
      st ((b1 = +infty or b1 = -infty) & (b2 = -infty implies b3 <> +infty) & (0. <= b2 or 0. <= b3) & b2 <> 0. & b3 <> 0. & (b2 <= 0. or b3 <= 0.) implies b2 = +infty & b3 = -infty)
   holds b1 * (b2 + b3) = (b1 * b2) + (b1 * b3);

:: EXTREAL1:th 30
theorem
for b1, b2, b3 being Element of ExtREAL
      st (b1 = +infty implies b2 <> +infty) & (b1 = -infty implies b2 <> -infty) & b3 <> +infty & b3 <> -infty
   holds b3 * (b1 - b2) = (b3 * b1) - (b3 * b2);

:: EXTREAL1:funcnot 3 => EXTREAL1:func 3
definition
  let a1, a2 be Element of ExtREAL;
  assume (a1 <> -infty & a1 <> +infty or a2 <> -infty & a2 <> +infty) &
     a2 <> 0.;
  func A1 / A2 -> Element of ExtREAL means
    ((for b1, b2 being Element of REAL
           st a1 = b1 & a2 = b2
        holds it <> b1 / b2) &
     ((a1 = +infty & 0. < a2 or a1 = -infty & a2 < 0.) implies it <> +infty) &
     ((a1 = -infty & 0. < a2 or a1 = +infty & a2 < 0.) implies it <> -infty)) implies (a2 = -infty or a2 = +infty) & it = 0.;
end;

:: EXTREAL1:def 2
theorem
for b1, b2 being Element of ExtREAL
   st (b1 <> -infty & b1 <> +infty or b2 <> -infty & b2 <> +infty) &
      b2 <> 0.
for b3 being Element of ExtREAL holds
      b3 = b1 / b2
   iff
      ((for b4, b5 being Element of REAL
             st b1 = b4 & b2 = b5
          holds b3 <> b4 / b5) &
       ((b1 = +infty & 0. < b2 or b1 = -infty & b2 < 0.) implies b3 <> +infty) &
       ((b1 = -infty & 0. < b2 or b1 = +infty & b2 < 0.) implies b3 <> -infty) implies (b2 = -infty or b2 = +infty) & b3 = 0.);

:: EXTREAL1:th 32
theorem
for b1, b2 being Element of ExtREAL
   st b2 <> 0.
for b3, b4 being Element of REAL
      st b1 = b3 & b2 = b4
   holds b1 / b2 = b3 / b4;

:: EXTREAL1:th 33
theorem
for b1, b2 being Element of ExtREAL
      st b1 <> -infty & b1 <> +infty & (b2 = -infty or b2 = +infty)
   holds b1 / b2 = 0.;

:: EXTREAL1:th 34
theorem
for b1 being Element of ExtREAL
      st b1 <> -infty & b1 <> +infty & b1 <> 0.
   holds b1 / b1 = 1;

:: EXTREAL1:funcnot 4 => EXTREAL1:func 4
definition
  let a1 be Element of ExtREAL;
  func |.A1.| -> Element of ExtREAL equals
    a1
    if 0. <= a1
    otherwise - a1;
end;

:: EXTREAL1:def 3
theorem
for b1 being Element of ExtREAL holds
   (0. <= b1 implies |.b1.| = b1) &
    (0. <= b1 or |.b1.| = - b1);

:: EXTREAL1:th 36
theorem
for b1 being Element of ExtREAL
      st 0. < b1
   holds |.b1.| = b1;

:: EXTREAL1:th 37
theorem
for b1 being Element of ExtREAL
      st b1 < 0.
   holds |.b1.| = - b1;

:: EXTREAL1:th 38
theorem
for b1, b2 being Element of REAL holds
b1 * b2 = (R_EAL b1) * R_EAL b2;

:: EXTREAL1:th 39
theorem
for b1, b2 being Element of REAL
      st b2 <> 0
   holds b1 / b2 = (R_EAL b1) / R_EAL b2;

:: EXTREAL1:th 40
theorem
for b1, b2 being Element of ExtREAL
      st b1 <= b2 & b1 < +infty & -infty < b2
   holds 0. <= b2 - b1;

:: EXTREAL1:th 41
theorem
for b1, b2 being Element of ExtREAL
      st b1 < b2 & b1 < +infty & -infty < b2
   holds 0. < b2 - b1;

:: EXTREAL1:th 42
theorem
for b1, b2, b3 being Element of ExtREAL
      st b1 <= b2 & 0. <= b3
   holds b1 * b3 <= b2 * b3;

:: EXTREAL1:th 43
theorem
for b1, b2, b3 being Element of ExtREAL
      st b1 <= b2 & b3 <= 0.
   holds b2 * b3 <= b1 * b3;

:: EXTREAL1:th 44
theorem
for b1, b2, b3 being Element of ExtREAL
      st b1 < b2 & 0. < b3 & b3 <> +infty
   holds b1 * b3 < b2 * b3;

:: EXTREAL1:th 45
theorem
for b1, b2, b3 being Element of ExtREAL
      st b1 < b2 & b3 < 0. & b3 <> -infty
   holds b2 * b3 < b1 * b3;

:: EXTREAL1:th 46
theorem
for b1, b2 being Element of ExtREAL
      st b1 is Element of REAL & b2 is Element of REAL
   holds    b1 < b2
   iff
      ex b3, b4 being Element of REAL st
         b3 = b1 & b4 = b2 & b3 < b4;

:: EXTREAL1:th 47
theorem
for b1, b2, b3 being Element of ExtREAL
      st b1 <> -infty & b2 <> +infty & b1 <= b2 & 0. < b3
   holds b1 / b3 <= b2 / b3;

:: EXTREAL1:th 48
theorem
for b1, b2, b3 being Element of ExtREAL
      st b1 <= b2 & 0. < b3 & b3 <> +infty
   holds b1 / b3 <= b2 / b3;

:: EXTREAL1:th 49
theorem
for b1, b2, b3 being Element of ExtREAL
      st b1 <> -infty & b2 <> +infty & b1 <= b2 & b3 < 0.
   holds b2 / b3 <= b1 / b3;

:: EXTREAL1:th 50
theorem
for b1, b2, b3 being Element of ExtREAL
      st b1 <= b2 & b3 < 0. & b3 <> -infty
   holds b2 / b3 <= b1 / b3;

:: EXTREAL1:th 51
theorem
for b1, b2, b3 being Element of ExtREAL
      st b1 < b2 & 0. < b3 & b3 <> +infty
   holds b1 / b3 < b2 / b3;

:: EXTREAL1:th 52
theorem
for b1, b2, b3 being Element of ExtREAL
      st b1 < b2 & b3 < 0. & b3 <> -infty
   holds b2 / b3 < b1 / b3;