Article ARYTM_0, MML version 4.99.1005

:: ARYTM_0:th 1
theorem
REAL+ c= REAL;

:: ARYTM_0:th 2
theorem
for b1 being Element of REAL+
      st b1 <> {}
   holds [{},b1] in REAL;

:: ARYTM_0:th 3
theorem
for b1 being set
      st [{},b1] in REAL
   holds b1 <> {};

:: ARYTM_0:th 4
theorem
for b1, b2 being Element of REAL+ holds
b1 - b2 in REAL;

:: ARYTM_0:th 5
theorem
REAL+ misses [:{{}},REAL+:];

:: ARYTM_0:th 6
theorem
for b1, b2 being Element of REAL+
      st b1 - b2 = {}
   holds b1 = b2;

:: ARYTM_0:th 7
theorem
for b1, b2 being set holds
1 <> [b1,b2];

:: ARYTM_0:th 8
theorem
for b1, b2, b3 being Element of REAL+
      st b1 <> {} & b1 *' b2 = b1 *' b3
   holds b2 = b3;

:: ARYTM_0:funcnot 1 => ARYTM_0:func 1
definition
  let a1, a2 be Element of REAL;
  func +(A1,A2) -> Element of REAL means
    ex b1, b2 being Element of REAL+ st
       a1 = b1 & a2 = b2 & it = b1 + b2
    if a1 in REAL+ & a2 in REAL+,
ex b1, b2 being Element of REAL+ st
       a1 = b1 & a2 = [0,b2] & it = b1 - b2
    if a1 in REAL+ &
     a2 in [:{0},REAL+:],
ex b1, b2 being Element of REAL+ st
       a1 = [0,b1] & a2 = b2 & it = b2 - b1
    if a2 in REAL+ &
     a1 in [:{0},REAL+:]
    otherwise ex b1, b2 being Element of REAL+ st
       a1 = [0,b1] & a2 = [0,b2] & it = [0,b1 + b2];
  commutativity;
::  for a1, a2 being Element of REAL holds
::  +(a1,a2) = +(a2,a1);
end;

:: ARYTM_0:def 2
theorem
for b1, b2, b3 being Element of REAL holds
(b1 in REAL+ & b2 in REAL+ implies    (b3 = +(b1,b2)
 iff
    ex b4, b5 being Element of REAL+ st
       b1 = b4 & b2 = b5 & b3 = b4 + b5)) &
 (b1 in REAL+ &
  b2 in [:{0},REAL+:] implies    (b3 = +(b1,b2)
 iff
    ex b4, b5 being Element of REAL+ st
       b1 = b4 & b2 = [0,b5] & b3 = b4 - b5)) &
 (b2 in REAL+ &
  b1 in [:{0},REAL+:] implies    (b3 = +(b1,b2)
 iff
    ex b4, b5 being Element of REAL+ st
       b1 = [0,b4] & b2 = b5 & b3 = b5 - b4)) &
 ((b1 in REAL+ implies not b2 in REAL+) &
  (b1 in REAL+ implies not b2 in [:{0},REAL+:]) &
  (b2 in REAL+ implies not b1 in [:{0},REAL+:]) implies    (b3 = +(b1,b2)
 iff
    ex b4, b5 being Element of REAL+ st
       b1 = [0,b4] & b2 = [0,b5] & b3 = [0,b4 + b5]));

:: ARYTM_0:funcnot 2 => ARYTM_0:func 2
definition
  let a1, a2 be Element of REAL;
  func *(A1,A2) -> Element of REAL means
    ex b1, b2 being Element of REAL+ st
       a1 = b1 & a2 = b2 & it = b1 *' b2
    if a1 in REAL+ & a2 in REAL+,
ex b1, b2 being Element of REAL+ st
       a1 = b1 & a2 = [0,b2] & it = [0,b1 *' b2]
    if a1 in REAL+ &
     a2 in [:{0},REAL+:] &
     a1 <> 0,
ex b1, b2 being Element of REAL+ st
       a1 = [0,b1] & a2 = b2 & it = [0,b2 *' b1]
    if a2 in REAL+ &
     a1 in [:{0},REAL+:] &
     a2 <> 0,
ex b1, b2 being Element of REAL+ st
       a1 = [0,b1] & a2 = [0,b2] & it = b2 *' b1
    if a1 in [:{0},REAL+:] &
     a2 in [:{0},REAL+:]
    otherwise it = 0;
  commutativity;
::  for a1, a2 being Element of REAL holds
::  *(a1,a2) = *(a2,a1);
end;

:: ARYTM_0:def 3
theorem
for b1, b2, b3 being Element of REAL holds
(b1 in REAL+ & b2 in REAL+ implies    (b3 = *(b1,b2)
 iff
    ex b4, b5 being Element of REAL+ st
       b1 = b4 & b2 = b5 & b3 = b4 *' b5)) &
 (b1 in REAL+ &
  b2 in [:{0},REAL+:] &
  b1 <> 0 implies    (b3 = *(b1,b2)
 iff
    ex b4, b5 being Element of REAL+ st
       b1 = b4 & b2 = [0,b5] & b3 = [0,b4 *' b5])) &
 (b2 in REAL+ &
  b1 in [:{0},REAL+:] &
  b2 <> 0 implies    (b3 = *(b1,b2)
 iff
    ex b4, b5 being Element of REAL+ st
       b1 = [0,b4] & b2 = b5 & b3 = [0,b5 *' b4])) &
 (b1 in [:{0},REAL+:] &
  b2 in [:{0},REAL+:] implies    (b3 = *(b1,b2)
 iff
    ex b4, b5 being Element of REAL+ st
       b1 = [0,b4] & b2 = [0,b5] & b3 = b5 *' b4)) &
 ((b1 in REAL+ implies not b2 in REAL+) &
  (b1 in REAL+ &
   b2 in [:{0},REAL+:] implies b1 = 0) &
  (b2 in REAL+ &
   b1 in [:{0},REAL+:] implies b2 = 0) &
  (b1 in [:{0},REAL+:] implies not b2 in [:{0},REAL+:]) implies    (b3 = *(b1,b2)
 iff
    b3 = 0));

:: ARYTM_0:funcnot 3 => ARYTM_0:func 3
definition
  let a1 be Element of REAL;
  func opp A1 -> Element of REAL means
    +(a1,it) = 0;
  involutiveness;
::  for a1 being Element of REAL holds
::     opp opp a1 = a1;
end;

:: ARYTM_0:def 4
theorem
for b1, b2 being Element of REAL holds
   b2 = opp b1
iff
   +(b1,b2) = 0;

:: ARYTM_0:funcnot 4 => ARYTM_0:func 4
definition
  let a1 be Element of REAL;
  func inv A1 -> Element of REAL means
    *(a1,it) = 1
    if a1 <> 0
    otherwise it = 0;
  involutiveness;
::  for a1 being Element of REAL holds
::     inv inv a1 = a1;
end;

:: ARYTM_0:def 5
theorem
for b1, b2 being Element of REAL holds
(b1 = 0 or    (b2 = inv b1
 iff
    *(b1,b2) = 1)) &
 (b1 = 0 implies    (b2 = inv b1
 iff
    b2 = 0));

:: ARYTM_0:th 10
theorem
for b1, b2 being Element of REAL holds
not (0,1)-->(b1,b2) in REAL;

:: ARYTM_0:funcnot 5 => ARYTM_0:func 5
definition
  let a1, a2 be Element of REAL;
  func [*A1,A2*] -> Element of COMPLEX equals
    a1
    if a2 = 0
    otherwise (0,1)-->(a1,a2);
end;

:: ARYTM_0:def 7
theorem
for b1, b2 being Element of REAL holds
(b2 = 0 implies [*b1,b2*] = b1) &
 (b2 = 0 or [*b1,b2*] = (0,1)-->(b1,b2));

:: ARYTM_0:th 11
theorem
for b1 being Element of COMPLEX holds
   ex b2, b3 being Element of REAL st
      b1 = [*b2,b3*];

:: ARYTM_0:th 12
theorem
for b1, b2, b3, b4 being Element of REAL
      st [*b1,b2*] = [*b3,b4*]
   holds b1 = b3 & b2 = b4;

:: ARYTM_0:th 13
theorem
for b1, b2 being Element of REAL
      st b2 = 0
   holds +(b1,b2) = b1;

:: ARYTM_0:th 14
theorem
for b1, b2 being Element of REAL
      st b2 = 0
   holds *(b1,b2) = 0;

:: ARYTM_0:th 15
theorem
for b1, b2, b3 being Element of REAL holds
*(b1,*(b2,b3)) = *(*(b1,b2),b3);

:: ARYTM_0:th 16
theorem
for b1, b2, b3 being Element of REAL holds
*(b1,+(b2,b3)) = +(*(b1,b2),*(b1,b3));

:: ARYTM_0:th 17
theorem
for b1, b2 being Element of REAL holds
*(opp b1,b2) = opp *(b1,b2);

:: ARYTM_0:th 18
theorem
for b1 being Element of REAL holds
   *(b1,b1) in REAL+;

:: ARYTM_0:th 19
theorem
for b1, b2 being Element of REAL
      st +(*(b1,b1),*(b2,b2)) = 0
   holds b1 = 0;

:: ARYTM_0:th 20
theorem
for b1, b2, b3 being Element of REAL
      st b1 <> 0 & *(b1,b2) = 1 & *(b1,b3) = 1
   holds b2 = b3;

:: ARYTM_0:th 21
theorem
for b1, b2 being Element of REAL
      st b2 = 1
   holds *(b1,b2) = b1;

:: ARYTM_0:th 22
theorem
for b1, b2 being Element of REAL
      st b2 <> 0
   holds *(*(b1,b2),inv b2) = b1;

:: ARYTM_0:th 23
theorem
for b1, b2 being Element of REAL
      st *(b1,b2) = 0 & b1 <> 0
   holds b2 = 0;

:: ARYTM_0:th 24
theorem
for b1, b2 being Element of REAL holds
inv *(b1,b2) = *(inv b1,inv b2);

:: ARYTM_0:th 25
theorem
for b1, b2, b3 being Element of REAL holds
+(b1,+(b2,b3)) = +(+(b1,b2),b3);

:: ARYTM_0:th 26
theorem
for b1, b2 being Element of REAL
      st [*b1,b2*] in REAL
   holds b2 = 0;

:: ARYTM_0:th 27
theorem
for b1, b2 being Element of REAL holds
opp +(b1,b2) = +(opp b1,opp b2);