Article POWER, MML version 4.99.1005

:: POWER:th 1
theorem
for b1 being real set
for b2 being Element of NAT
      st ex b3 being Element of NAT st
           b2 = 2 * b3
   holds (- b1) |^ b2 = b1 |^ b2;

:: POWER:th 2
theorem
for b1 being real set
for b2 being Element of NAT
      st ex b3 being Element of NAT st
           b2 = (2 * b3) + 1
   holds (- b1) |^ b2 = - (b1 |^ b2);

:: POWER:th 3
theorem
for b1 being real set
for b2 being Element of NAT
      st (b1 < 0 implies ex b3 being Element of NAT st
           b2 = 2 * b3)
   holds 0 <= b1 |^ b2;

:: POWER:funcnot 1 => POWER:func 1
definition
  let a1 be natural set;
  let a2 be real set;
  func A1 -root A2 -> real set equals
    a1 -Root a2
    if 0 <= a2 & 1 <= a1
    otherwise   case a2 < 0 &
     (ex b1 being Element of NAT st
        a1 = (2 * b1) + 1);
    thus - (a1 -Root - a2);
  end;
;
end;

:: POWER:def 1
theorem
for b1 being natural set
for b2 being real set holds
   (0 <= b2 & 1 <= b1 implies b1 -root b2 = b1 -Root b2) &
    (b2 < 0 &
     (ex b3 being Element of NAT st
        b1 = (2 * b3) + 1) implies b1 -root b2 = - (b1 -Root - b2));

:: POWER:funcnot 2 => POWER:func 2
definition
  let a1 be Element of NAT;
  let a2 be Element of REAL;
  redefine func a1 -root a2 -> Element of REAL;
end;

:: POWER:th 5
theorem
for b1 being real set
for b2 being natural set
      st ((1 <= b2 implies b1 < 0) implies ex b3 being Element of NAT st
           b2 = (2 * b3) + 1)
   holds (b2 -root b1) |^ b2 = b1 & b2 -root (b1 |^ b2) = b1;

:: POWER:th 6
theorem
for b1 being natural set
      st 1 <= b1
   holds b1 -root 0 = 0;

:: POWER:th 7
theorem
for b1 being Element of NAT
      st 1 <= b1
   holds b1 -root 1 = 1;

:: POWER:th 8
theorem
for b1 being real set
for b2 being Element of NAT
      st 0 <= b1 & 1 <= b2
   holds 0 <= b2 -root b1;

:: POWER:th 9
theorem
for b1 being Element of NAT
      st ex b2 being Element of NAT st
           b1 = (2 * b2) + 1
   holds b1 -root - 1 = - 1;

:: POWER:th 10
theorem
for b1 being real set holds
   1 -root b1 = b1;

:: POWER:th 11
theorem
for b1 being real set
for b2 being Element of NAT
      st ex b3 being Element of NAT st
           b2 = (2 * b3) + 1
   holds b2 -root b1 = - (b2 -root - b1);

:: POWER:th 12
theorem
for b1, b2 being real set
for b3 being Element of NAT
      st ((1 <= b3 & 0 <= b1 implies b2 < 0) implies ex b4 being Element of NAT st
           b3 = (2 * b4) + 1)
   holds b3 -root (b1 * b2) = (b3 -root b1) * (b3 -root b2);

:: POWER:th 13
theorem
for b1 being real set
for b2 being Element of NAT
      st (0 < b1 & 1 <= b2 or b1 <> 0 &
         (ex b3 being Element of NAT st
            b2 = (2 * b3) + 1))
   holds b2 -root (1 / b1) = 1 / (b2 -root b1);

:: POWER:th 14
theorem
for b1, b2 being real set
for b3 being Element of NAT
      st (0 <= b1 & 0 < b2 & 1 <= b3 or b2 <> 0 &
         (ex b4 being Element of NAT st
            b3 = (2 * b4) + 1))
   holds b3 -root (b1 / b2) = (b3 -root b1) / (b3 -root b2);

:: POWER:th 15
theorem
for b1 being real set
for b2, b3 being Element of NAT
      st ((0 <= b1 & 1 <= b2 implies b3 < 1) implies ex b4, b5 being Element of NAT st
           b2 = (2 * b4) + 1 & b3 = (2 * b5) + 1)
   holds b2 -root (b3 -root b1) = (b2 * b3) -root b1;

:: POWER:th 16
theorem
for b1 being real set
for b2, b3 being Element of NAT
      st ((0 <= b1 & 1 <= b2 implies b3 < 1) implies ex b4, b5 being Element of NAT st
           b2 = (2 * b4) + 1 & b3 = (2 * b5) + 1)
   holds (b2 -root b1) * (b3 -root b1) = (b2 * b3) -root (b1 |^ (b2 + b3));

:: POWER:th 17
theorem
for b1, b2 being real set
for b3 being Element of NAT
      st b1 <= b2 &
         ((0 <= b1 implies b3 < 1) implies ex b4 being Element of NAT st
            b3 = (2 * b4) + 1)
   holds b3 -root b1 <= b3 -root b2;

:: POWER:th 18
theorem
for b1, b2 being real set
for b3 being Element of NAT
      st b1 < b2 &
         ((0 <= b1 implies b3 < 1) implies ex b4 being Element of NAT st
            b3 = (2 * b4) + 1)
   holds b3 -root b1 < b3 -root b2;

:: POWER:th 19
theorem
for b1 being real set
for b2 being Element of NAT
      st 1 <= b1 & 1 <= b2
   holds 1 <= b2 -root b1 & b2 -root b1 <= b1;

:: POWER:th 20
theorem
for b1 being real set
for b2 being Element of NAT
      st b1 <= - 1 &
         (ex b3 being Element of NAT st
            b2 = (2 * b3) + 1)
   holds b2 -root b1 <= - 1 & b1 <= b2 -root b1;

:: POWER:th 21
theorem
for b1 being real set
for b2 being Element of NAT
      st 0 <= b1 & b1 < 1 & 1 <= b2
   holds b1 <= b2 -root b1 & b2 -root b1 < 1;

:: POWER:th 22
theorem
for b1 being real set
for b2 being Element of NAT
      st - 1 < b1 &
         b1 <= 0 &
         (ex b3 being Element of NAT st
            b2 = (2 * b3) + 1)
   holds b2 -root b1 <= b1 & - 1 < b2 -root b1;

:: POWER:th 23
theorem
for b1 being real set
for b2 being Element of NAT
      st 0 < b1 & 1 <= b2
   holds (b2 -root b1) - 1 <= (b1 - 1) / b2;

:: POWER:th 24
theorem
for b1 being Function-like quasi_total Relation of NAT,REAL
for b2 being real set
      st 0 < b2 &
         (for b3 being Element of NAT
               st 1 <= b3
            holds b1 . b3 = b3 -root b2)
   holds b1 is convergent & lim b1 = 1;

:: POWER:funcnot 3 => POWER:func 3
definition
  let a1, a2 be real set;
  func A1 to_power A2 -> real set means
    it = a1 #R a2
    if 0 < a1,
it = 0
    if a1 = 0 & 0 < a2,
it = 1
    if a1 = 0 & a2 = 0
    otherwise   case a1 < 0 & a2 is integer set;
    thus ex b1 being integer set st
       b1 = a2 & it = a1 #Z b1;
  end;
;
end;

:: POWER:def 2
theorem
for b1, b2, b3 being real set holds
(b1 <= 0 or    (b3 = b1 to_power b2
 iff
    b3 = b1 #R b2)) &
 (b1 = 0 & 0 < b2 implies    (b3 = b1 to_power b2
 iff
    b3 = 0)) &
 (b1 = 0 & b2 = 0 implies    (b3 = b1 to_power b2
 iff
    b3 = 1)) &
 (b1 < 0 & b2 is integer set implies    (b3 = b1 to_power b2
 iff
    ex b4 being integer set st
       b4 = b2 & b3 = b1 #Z b4));

:: POWER:funcnot 4 => POWER:func 4
definition
  let a1, a2 be Element of REAL;
  redefine func a1 to_power a2 -> Element of REAL;
end;

:: POWER:th 29
theorem
for b1 being real set holds
   b1 to_power 0 = 1;

:: POWER:th 30
theorem
for b1 being real set holds
   b1 to_power 1 = b1;

:: POWER:th 31
theorem
for b1 being real set holds
   1 to_power b1 = 1;

:: POWER:th 32
theorem
for b1, b2, b3 being real set
      st 0 < b1
   holds b1 to_power (b2 + b3) = (b1 to_power b2) * (b1 to_power b3);

:: POWER:th 33
theorem
for b1, b2 being real set
      st 0 < b1
   holds b1 to_power - b2 = 1 / (b1 to_power b2);

:: POWER:th 34
theorem
for b1, b2, b3 being real set
      st 0 < b1
   holds b1 to_power (b2 - b3) = (b1 to_power b2) / (b1 to_power b3);

:: POWER:th 35
theorem
for b1, b2, b3 being real set
      st 0 < b1 & 0 < b2
   holds (b1 * b2) to_power b3 = (b1 to_power b3) * (b2 to_power b3);

:: POWER:th 36
theorem
for b1, b2, b3 being real set
      st 0 < b1 & 0 < b2
   holds (b1 / b2) to_power b3 = (b1 to_power b3) / (b2 to_power b3);

:: POWER:th 37
theorem
for b1, b2 being real set
      st 0 < b1
   holds (1 / b1) to_power b2 = b1 to_power - b2;

:: POWER:th 38
theorem
for b1, b2, b3 being real set
      st 0 < b1
   holds (b1 to_power b2) to_power b3 = b1 to_power (b2 * b3);

:: POWER:th 39
theorem
for b1, b2 being real set
      st 0 < b1
   holds 0 < b1 to_power b2;

:: POWER:th 40
theorem
for b1, b2 being real set
      st 1 < b1 & 0 < b2
   holds 1 < b1 to_power b2;

:: POWER:th 41
theorem
for b1, b2 being real set
      st 1 < b1 & b2 < 0
   holds b1 to_power b2 < 1;

:: POWER:th 42
theorem
for b1, b2, b3 being real set
      st 0 < b1 & b1 < b2 & 0 < b3
   holds b1 to_power b3 < b2 to_power b3;

:: POWER:th 43
theorem
for b1, b2, b3 being real set
      st 0 < b1 & b1 < b2 & b3 < 0
   holds b2 to_power b3 < b1 to_power b3;

:: POWER:th 44
theorem
for b1, b2, b3 being real set
      st b1 < b2 & 1 < b3
   holds b3 to_power b1 < b3 to_power b2;

:: POWER:th 45
theorem
for b1, b2, b3 being real set
      st b1 < b2 & 0 < b3 & b3 < 1
   holds b3 to_power b2 < b3 to_power b1;

:: POWER:th 46
theorem
for b1 being real set
for b2 being natural set
      st b1 <> 0
   holds b1 to_power b2 = b1 |^ b2;

:: POWER:th 47
theorem
for b1 being real set
for b2 being Element of NAT
      st 1 <= b2
   holds b1 to_power b2 = b1 |^ b2;

:: POWER:th 48
theorem
for b1 being real set
for b2 being Element of NAT
      st b1 <> 0
   holds b1 to_power b2 = b1 |^ b2;

:: POWER:th 49
theorem
for b1 being real set
for b2 being Element of NAT
      st 1 <= b2
   holds b1 to_power b2 = b1 |^ b2;

:: POWER:th 50
theorem
for b1 being real set
for b2 being integer set
      st b1 <> 0
   holds b1 to_power b2 = b1 #Z b2;

:: POWER:th 51
theorem
for b1 being real set
for b2 being rational set
      st 0 < b1
   holds b1 to_power b2 = b1 #Q b2;

:: POWER:th 52
theorem
for b1 being real set
for b2 being Element of NAT
      st 0 <= b1 & 1 <= b2
   holds b1 to_power (1 / b2) = b2 -root b1;

:: POWER:th 53
theorem
for b1 being real set holds
   b1 to_power 2 = b1 ^2;

:: POWER:th 54
theorem
for b1 being real set
for b2 being integer set
      st b1 <> 0 &
         (ex b3 being integer set st
            b2 = 2 * b3)
   holds (- b1) to_power b2 = b1 to_power b2;

:: POWER:th 55
theorem
for b1 being real set
for b2 being integer set
      st b1 <> 0 &
         (ex b3 being integer set st
            b2 = (2 * b3) + 1)
   holds (- b1) to_power b2 = - (b1 to_power b2);

:: POWER:th 56
theorem
for b1 being real set
for b2 being Element of NAT
      st - 1 < b1
   holds 1 + (b2 * b1) <= (1 + b1) to_power b2;

:: POWER:th 57
theorem
for b1, b2, b3 being real set
      st 0 < b1 & b1 <> 1 & b2 <> b3
   holds b1 to_power b2 <> b1 to_power b3;

:: POWER:funcnot 5 => POWER:func 5
definition
  let a1, a2 be real set;
  assume 0 < a1 & a1 <> 1 & 0 < a2;
  func log(A1,A2) -> real set means
    a1 to_power it = a2;
end;

:: POWER:def 3
theorem
for b1, b2 being real set
   st 0 < b1 & b1 <> 1 & 0 < b2
for b3 being real set holds
      b3 = log(b1,b2)
   iff
      b1 to_power b3 = b2;

:: POWER:funcnot 6 => POWER:func 6
definition
  let a1, a2 be Element of REAL;
  redefine func log(a1,a2) -> Element of REAL;
end;

:: POWER:th 59
theorem
for b1 being real set
      st 0 < b1 & b1 <> 1
   holds log(b1,1) = 0;

:: POWER:th 60
theorem
for b1 being real set
      st 0 < b1 & b1 <> 1
   holds log(b1,b1) = 1;

:: POWER:th 61
theorem
for b1, b2, b3 being real set
      st 0 < b1 & b1 <> 1 & 0 < b2 & 0 < b3
   holds (log(b1,b2)) + log(b1,b3) = log(b1,b2 * b3);

:: POWER:th 62
theorem
for b1, b2, b3 being real set
      st 0 < b1 & b1 <> 1 & 0 < b2 & 0 < b3
   holds (log(b1,b2)) - log(b1,b3) = log(b1,b2 / b3);

:: POWER:th 63
theorem
for b1, b2, b3 being real set
      st 0 < b1 & b1 <> 1 & 0 < b2
   holds log(b1,b2 to_power b3) = b3 * log(b1,b2);

:: POWER:th 64
theorem
for b1, b2, b3 being real set
      st 0 < b1 & b1 <> 1 & 0 < b2 & b2 <> 1 & 0 < b3
   holds log(b1,b3) = (log(b1,b2)) * log(b2,b3);

:: POWER:th 65
theorem
for b1, b2, b3 being real set
      st 1 < b1 & 0 < b2 & b2 < b3
   holds log(b1,b2) < log(b1,b3);

:: POWER:th 66
theorem
for b1, b2, b3 being real set
      st 0 < b1 & b1 < 1 & 0 < b2 & b2 < b3
   holds log(b1,b3) < log(b1,b2);

:: POWER:th 67
theorem
for b1 being Function-like quasi_total Relation of NAT,REAL
      st for b2 being Element of NAT holds
           b1 . b2 = (1 + (1 / (b2 + 1))) to_power (b2 + 1)
   holds b1 is convergent;

:: POWER:funcnot 7 => POWER:func 7
definition
  func number_e -> real set means
    for b1 being Function-like quasi_total Relation of NAT,REAL
          st for b2 being Element of NAT holds
               b1 . b2 = (1 + (1 / (b2 + 1))) to_power (b2 + 1)
       holds it = lim b1;
end;

:: POWER:def 4
theorem
for b1 being real set holds
      b1 = number_e
   iff
      for b2 being Function-like quasi_total Relation of NAT,REAL
            st for b3 being Element of NAT holds
                 b2 . b3 = (1 + (1 / (b3 + 1))) to_power (b3 + 1)
         holds b1 = lim b2;

:: POWER:funcnot 8 => POWER:func 8
definition
  redefine func number_e -> Element of REAL;
end;