Article EUCLID_3, MML version 4.99.1005

:: EUCLID_3:funcnot 1 => EUCLID_3:func 1
definition
  let a1 be Element of COMPLEX;
  func cpx2euc A1 -> Element of the carrier of TOP-REAL 2 equals
    |[Re a1,Im a1]|;
end;

:: EUCLID_3:def 1
theorem
for b1 being Element of COMPLEX holds
   cpx2euc b1 = |[Re b1,Im b1]|;

:: EUCLID_3:funcnot 2 => EUCLID_3:func 2
definition
  let a1 be Element of the carrier of TOP-REAL 2;
  func euc2cpx A1 -> Element of COMPLEX equals
    [*a1 `1,a1 `2*];
end;

:: EUCLID_3:def 2
theorem
for b1 being Element of the carrier of TOP-REAL 2 holds
   euc2cpx b1 = [*b1 `1,b1 `2*];

:: EUCLID_3:th 1
theorem
for b1 being Element of COMPLEX holds
   euc2cpx cpx2euc b1 = b1;

:: EUCLID_3:th 2
theorem
for b1 being Element of the carrier of TOP-REAL 2 holds
   cpx2euc euc2cpx b1 = b1;

:: EUCLID_3:th 3
theorem
for b1 being Element of the carrier of TOP-REAL 2 holds
   ex b2 being Element of COMPLEX st
      b1 = cpx2euc b2;

:: EUCLID_3:th 4
theorem
for b1 being Element of COMPLEX holds
   ex b2 being Element of the carrier of TOP-REAL 2 st
      b1 = euc2cpx b2;

:: EUCLID_3:th 5
theorem
for b1, b2 being Element of COMPLEX
      st cpx2euc b1 = cpx2euc b2
   holds b1 = b2;

:: EUCLID_3:th 6
theorem
for b1, b2 being Element of the carrier of TOP-REAL 2
      st euc2cpx b1 = euc2cpx b2
   holds b1 = b2;

:: EUCLID_3:th 8
theorem
for b1 being Element of the carrier of TOP-REAL 2 holds
   Re euc2cpx b1 = b1 `1 & Im euc2cpx b1 = b1 `2;

:: EUCLID_3:th 9
theorem
for b1, b2 being Element of REAL holds
cpx2euc [*b1,b2*] = |[b1,b2]|;

:: EUCLID_3:th 10
theorem
for b1, b2 being Element of COMPLEX holds
|[Re (b1 + b2),Im (b1 + b2)]| = |[(Re b1) + Re b2,(Im b1) + Im b2]|;

:: EUCLID_3:th 11
theorem
for b1, b2 being Element of COMPLEX holds
cpx2euc (b1 + b2) = (cpx2euc b1) + cpx2euc b2;

:: EUCLID_3:th 12
theorem
for b1, b2 being Element of the carrier of TOP-REAL 2 holds
[*(b1 + b2) `1,(b1 + b2) `2*] = [*b1 `1 + (b2 `1),b1 `2 + (b2 `2)*];

:: EUCLID_3:th 13
theorem
for b1, b2 being Element of the carrier of TOP-REAL 2 holds
euc2cpx (b1 + b2) = (euc2cpx b1) + euc2cpx b2;

:: EUCLID_3:th 14
theorem
for b1 being Element of COMPLEX holds
   |[Re - b1,Im - b1]| = |[- Re b1,- Im b1]|;

:: EUCLID_3:th 15
theorem
for b1 being Element of COMPLEX holds
   cpx2euc - b1 = - cpx2euc b1;

:: EUCLID_3:th 16
theorem
for b1 being Element of the carrier of TOP-REAL 2 holds
   [*(- b1) `1,(- b1) `2*] = [*- (b1 `1),- (b1 `2)*];

:: EUCLID_3:th 17
theorem
for b1 being Element of the carrier of TOP-REAL 2 holds
   euc2cpx - b1 = - euc2cpx b1;

:: EUCLID_3:th 18
theorem
for b1, b2 being Element of COMPLEX holds
cpx2euc (b1 - b2) = (cpx2euc b1) - cpx2euc b2;

:: EUCLID_3:th 19
theorem
for b1, b2 being Element of the carrier of TOP-REAL 2 holds
euc2cpx (b1 - b2) = (euc2cpx b1) - euc2cpx b2;

:: EUCLID_3:th 20
theorem
cpx2euc 0c = 0.REAL 2;

:: EUCLID_3:th 21
theorem
euc2cpx 0.REAL 2 = 0c;

:: EUCLID_3:th 22
theorem
for b1 being Element of the carrier of TOP-REAL 2
      st euc2cpx b1 = 0c
   holds b1 = 0.REAL 2;

:: EUCLID_3:th 23
theorem
for b1 being Element of COMPLEX
for b2 being Element of REAL holds
   cpx2euc ([*b2,0*] * b1) = b2 * cpx2euc b1;

:: EUCLID_3:th 24
theorem
for b1, b2, b3 being Element of REAL holds
(b1 + (0 * <i>)) * (b2 + (b3 * <i>)) = (b1 * b2) + ((b1 * b3) * <i>);

:: EUCLID_3:th 25
theorem
for b1 being Element of REAL
for b2 being Element of the carrier of TOP-REAL 2 holds
   euc2cpx (b1 * b2) = [*b1,0*] * euc2cpx b2;

:: EUCLID_3:th 26
theorem
for b1 being Element of the carrier of TOP-REAL 2 holds
   |.euc2cpx b1.| = sqrt (b1 `1 ^2 + (b1 `2 ^2));

:: EUCLID_3:th 27
theorem
for b1 being FinSequence of REAL
      st len b1 = 2
   holds |.b1.| = sqrt ((b1 . 1) ^2 + ((b1 . 2) ^2));

:: EUCLID_3:th 28
theorem
for b1 being FinSequence of REAL
for b2 being Element of the carrier of TOP-REAL 2
      st len b1 = 2 & b2 = b1
   holds |.b2.| = |.b1.|;

:: EUCLID_3:th 29
theorem
for b1 being Element of COMPLEX holds
   |.cpx2euc b1.| = sqrt ((Re b1) ^2 + ((Im b1) ^2));

:: EUCLID_3:th 30
theorem
for b1 being Element of COMPLEX holds
   |.cpx2euc b1.| = |.b1.|;

:: EUCLID_3:th 31
theorem
for b1 being Element of the carrier of TOP-REAL 2 holds
   |.euc2cpx b1.| = |.b1.|;

:: EUCLID_3:funcnot 3 => EUCLID_3:func 3
definition
  let a1 be Element of the carrier of TOP-REAL 2;
  func Arg A1 -> Element of REAL equals
    Arg euc2cpx a1;
end;

:: EUCLID_3:def 3
theorem
for b1 being Element of the carrier of TOP-REAL 2 holds
   Arg b1 = Arg euc2cpx b1;

:: EUCLID_3:th 32
theorem
for b1 being Element of COMPLEX
for b2 being Element of the carrier of TOP-REAL 2
      st (b1 = euc2cpx b2 or b2 = cpx2euc b1)
   holds Arg b1 = Arg b2;

:: EUCLID_3:th 34
theorem
for b1, b2 being Element of REAL
for b3 being Element of the carrier of TOP-REAL 2
      st b1 = |.b3.| * cos Arg b3 &
         b2 = |.b3.| * sin Arg b3
   holds b3 = |[b1,b2]|;

:: EUCLID_3:th 35
theorem
Arg 0.REAL 2 = 0;

:: EUCLID_3:th 36
theorem
for b1 being Element of the carrier of TOP-REAL 2
      st b1 <> 0.REAL 2
   holds (PI <= Arg b1 or Arg - b1 = (Arg b1) + PI) &
    (PI <= Arg b1 implies Arg - b1 = (Arg b1) - PI);

:: EUCLID_3:th 37
theorem
for b1 being Element of the carrier of TOP-REAL 2
      st Arg b1 = 0
   holds b1 = |[|.b1.|,0]| & b1 `2 = 0;

:: EUCLID_3:th 38
theorem
for b1 being Element of the carrier of TOP-REAL 2
      st b1 <> 0.REAL 2
   holds    Arg b1 < PI
   iff
      PI <= Arg - b1;

:: EUCLID_3:th 39
theorem
for b1, b2 being Element of the carrier of TOP-REAL 2
      st (b1 = b2 implies b1 - b2 <> 0.REAL 2)
   holds    Arg (b1 - b2) < PI
   iff
      PI <= Arg (b2 - b1);

:: EUCLID_3:th 40
theorem
for b1 being Element of the carrier of TOP-REAL 2 holds
      Arg b1 in ].0,PI.[
   iff
      0 < b1 `2;

:: EUCLID_3:th 42
theorem
for b1, b2 being Element of the carrier of TOP-REAL 2
      st Arg b1 < PI & Arg b2 < PI
   holds Arg (b1 + b2) < PI;

:: EUCLID_3:funcnot 4 => EUCLID_3:func 4
definition
  let a1, a2, a3 be Element of the carrier of TOP-REAL 2;
  func angle(A1,A2,A3) -> Element of REAL equals
    angle(euc2cpx a1,euc2cpx a2,euc2cpx a3);
end;

:: EUCLID_3:def 4
theorem
for b1, b2, b3 being Element of the carrier of TOP-REAL 2 holds
angle(b1,b2,b3) = angle(euc2cpx b1,euc2cpx b2,euc2cpx b3);

:: EUCLID_3:th 44
theorem
for b1, b2, b3 being Element of the carrier of TOP-REAL 2 holds
angle(b1,b2,b3) = angle(b1 - b2,0.REAL 2,b3 - b2);

:: EUCLID_3:th 45
theorem
for b1, b2, b3 being Element of the carrier of TOP-REAL 2
      st angle(b1,b2,b3) = 0
   holds Arg (b1 - b2) = Arg (b3 - b2) & angle(b3,b2,b1) = 0;

:: EUCLID_3:th 46
theorem
for b1, b2, b3 being Element of the carrier of TOP-REAL 2
      st angle(b1,b2,b3) <> 0
   holds angle(b3,b2,b1) = (2 * PI) - angle(b1,b2,b3);

:: EUCLID_3:th 47
theorem
for b1, b2, b3 being Element of the carrier of TOP-REAL 2
      st angle(b3,b2,b1) <> 0
   holds angle(b3,b2,b1) = (2 * PI) - angle(b1,b2,b3);

:: EUCLID_3:th 48
theorem
for b1, b2 being Element of COMPLEX holds
Re (b1 .|. b2) = ((Re b1) * Re b2) + ((Im b1) * Im b2);

:: EUCLID_3:th 49
theorem
for b1, b2 being Element of COMPLEX holds
Im (b1 .|. b2) = (- ((Re b1) * Im b2)) + ((Im b1) * Re b2);

:: EUCLID_3:th 50
theorem
for b1, b2 being Element of the carrier of TOP-REAL 2 holds
|(b1,b2)| = (b1 `1 * (b2 `1)) + (b1 `2 * (b2 `2));

:: EUCLID_3:th 51
theorem
for b1, b2 being Element of the carrier of TOP-REAL 2 holds
|(b1,b2)| = Re ((euc2cpx b1) .|. euc2cpx b2);

:: EUCLID_3:th 52
theorem
for b1, b2, b3 being Element of the carrier of TOP-REAL 2
      st b1 <> 0.REAL 2 & b2 <> 0.REAL 2
   holds    |(b1,b2)| = 0
   iff
      (angle(b1,0.REAL 2,b2) = PI / 2 or angle(b1,0.REAL 2,b2) = (3 / 2) * PI);

:: EUCLID_3:th 53
theorem
for b1, b2 being Element of the carrier of TOP-REAL 2
      st b1 <> 0.REAL 2 & b2 <> 0.REAL 2
   holds    ((- (b1 `1 * (b2 `2))) + (b1 `2 * (b2 `1)) = |.b1.| * |.b2.| or (- (b1 `1 * (b2 `2))) + (b1 `2 * (b2 `1)) = - (|.b1.| * |.b2.|))
   iff
      (angle(b1,0.REAL 2,b2) = PI / 2 or angle(b1,0.REAL 2,b2) = (3 / 2) * PI);

:: EUCLID_3:th 54
theorem
for b1, b2, b3 being Element of the carrier of TOP-REAL 2
      st b1 <> b2 & b3 <> b2
   holds    |(b1 - b2,b3 - b2)| = 0
   iff
      (angle(b1,b2,b3) = PI / 2 or angle(b1,b2,b3) = (3 / 2) * PI);

:: EUCLID_3:th 55
theorem
for b1, b2, b3 being Element of the carrier of TOP-REAL 2
      st b1 <> b2 &
         b3 <> b2 &
         (angle(b1,b2,b3) = PI / 2 or angle(b1,b2,b3) = (3 / 2) * PI)
   holds |.b1 - b2.| ^2 + (|.b3 - b2.| ^2) = |.b1 - b3.| ^2;

:: EUCLID_3:th 56
theorem
for b1, b2, b3 being Element of the carrier of TOP-REAL 2
      st b2 <> b1 & b1 <> b3 & b3 <> b2 & angle(b2,b1,b3) < PI & angle(b1,b3,b2) < PI & angle(b3,b2,b1) < PI
   holds ((angle(b2,b1,b3)) + angle(b1,b3,b2)) + angle(b3,b2,b1) = PI;

:: EUCLID_3:funcnot 5 => EUCLID_3:func 5
definition
  let a1 be Element of NAT;
  let a2, a3, a4 be Element of the carrier of TOP-REAL a1;
  func Triangle(A2,A3,A4) -> Element of bool the carrier of TOP-REAL a1 equals
    ((LSeg(a2,a3)) \/ LSeg(a3,a4)) \/ LSeg(a4,a2);
end;

:: EUCLID_3:def 5
theorem
for b1 being Element of NAT
for b2, b3, b4 being Element of the carrier of TOP-REAL b1 holds
Triangle(b2,b3,b4) = ((LSeg(b2,b3)) \/ LSeg(b3,b4)) \/ LSeg(b4,b2);

:: EUCLID_3:funcnot 6 => EUCLID_3:func 6
definition
  let a1 be Element of NAT;
  let a2, a3, a4 be Element of the carrier of TOP-REAL a1;
  func closed_inside_of_triangle(A2,A3,A4) -> Element of bool the carrier of TOP-REAL a1 equals
    {b1 where b1 is Element of the carrier of TOP-REAL a1: ex b2, b3, b4 being Element of REAL st
       0 <= b2 &
        0 <= b3 &
        0 <= b4 &
        (b2 + b3) + b4 = 1 &
        b1 = ((b2 * a2) + (b3 * a3)) + (b4 * a4)};
end;

:: EUCLID_3:def 6
theorem
for b1 being Element of NAT
for b2, b3, b4 being Element of the carrier of TOP-REAL b1 holds
closed_inside_of_triangle(b2,b3,b4) = {b5 where b5 is Element of the carrier of TOP-REAL b1: ex b6, b7, b8 being Element of REAL st
   0 <= b6 &
    0 <= b7 &
    0 <= b8 &
    (b6 + b7) + b8 = 1 &
    b5 = ((b6 * b2) + (b7 * b3)) + (b8 * b4)};

:: EUCLID_3:funcnot 7 => EUCLID_3:func 7
definition
  let a1 be Element of NAT;
  let a2, a3, a4 be Element of the carrier of TOP-REAL a1;
  func inside_of_triangle(A2,A3,A4) -> Element of bool the carrier of TOP-REAL a1 equals
    (closed_inside_of_triangle(a2,a3,a4)) \ Triangle(a2,a3,a4);
end;

:: EUCLID_3:def 7
theorem
for b1 being Element of NAT
for b2, b3, b4 being Element of the carrier of TOP-REAL b1 holds
inside_of_triangle(b2,b3,b4) = (closed_inside_of_triangle(b2,b3,b4)) \ Triangle(b2,b3,b4);

:: EUCLID_3:funcnot 8 => EUCLID_3:func 8
definition
  let a1 be Element of NAT;
  let a2, a3, a4 be Element of the carrier of TOP-REAL a1;
  func outside_of_triangle(A2,A3,A4) -> Element of bool the carrier of TOP-REAL a1 equals
    {b1 where b1 is Element of the carrier of TOP-REAL a1: ex b2, b3, b4 being Element of REAL st
       (0 <= b2 & 0 <= b3 implies b4 < 0) &
        (b2 + b3) + b4 = 1 &
        b1 = ((b2 * a2) + (b3 * a3)) + (b4 * a4)};
end;

:: EUCLID_3:def 8
theorem
for b1 being Element of NAT
for b2, b3, b4 being Element of the carrier of TOP-REAL b1 holds
outside_of_triangle(b2,b3,b4) = {b5 where b5 is Element of the carrier of TOP-REAL b1: ex b6, b7, b8 being Element of REAL st
   (0 <= b6 & 0 <= b7 implies b8 < 0) &
    (b6 + b7) + b8 = 1 &
    b5 = ((b6 * b2) + (b7 * b3)) + (b8 * b4)};

:: EUCLID_3:funcnot 9 => EUCLID_3:func 9
definition
  let a1 be Element of NAT;
  let a2, a3, a4 be Element of the carrier of TOP-REAL a1;
  func plane(A2,A3,A4) -> Element of bool the carrier of TOP-REAL a1 equals
    (outside_of_triangle(a2,a3,a4)) \/ closed_inside_of_triangle(a2,a3,a4);
end;

:: EUCLID_3:def 9
theorem
for b1 being Element of NAT
for b2, b3, b4 being Element of the carrier of TOP-REAL b1 holds
plane(b2,b3,b4) = (outside_of_triangle(b2,b3,b4)) \/ closed_inside_of_triangle(b2,b3,b4);

:: EUCLID_3:th 57
theorem
for b1 being Element of NAT
for b2, b3, b4, b5 being Element of the carrier of TOP-REAL b1
      st b5 in plane(b2,b3,b4)
   holds ex b6, b7, b8 being Element of REAL st
      (b6 + b7) + b8 = 1 &
       b5 = ((b6 * b2) + (b7 * b3)) + (b8 * b4);

:: EUCLID_3:th 58
theorem
for b1 being Element of NAT
for b2, b3, b4 being Element of the carrier of TOP-REAL b1 holds
Triangle(b2,b3,b4) c= closed_inside_of_triangle(b2,b3,b4);

:: EUCLID_3:prednot 1 => EUCLID_3:pred 1
definition
  let a1 be Element of NAT;
  let a2, a3 be Element of the carrier of TOP-REAL a1;
  pred A2,A3 are_lindependent2 means
    for b1, b2 being Element of REAL
          st (b1 * a2) + (b2 * a3) = 0.REAL a1
       holds b1 = 0 & b2 = 0;
end;

:: EUCLID_3:dfs 10
definiens
  let a1 be Element of NAT;
  let a2, a3 be Element of the carrier of TOP-REAL a1;
To prove
     a2,a3 are_lindependent2
it is sufficient to prove
  thus for b1, b2 being Element of REAL
          st (b1 * a2) + (b2 * a3) = 0.REAL a1
       holds b1 = 0 & b2 = 0;

:: EUCLID_3:def 10
theorem
for b1 being Element of NAT
for b2, b3 being Element of the carrier of TOP-REAL b1 holds
   b2,b3 are_lindependent2
iff
   for b4, b5 being Element of REAL
         st (b4 * b2) + (b5 * b3) = 0.REAL b1
      holds b4 = 0 & b5 = 0;

:: EUCLID_3:prednot 2 => not EUCLID_3:pred 1
notation
  let a1 be Element of NAT;
  let a2, a3 be Element of the carrier of TOP-REAL a1;
  antonym a2,a3 are_ldependent2 for a2,a3 are_lindependent2;
end;

:: EUCLID_3:th 59
theorem
for b1 being Element of NAT
for b2, b3 being Element of the carrier of TOP-REAL b1
      st b2,b3 are_lindependent2
   holds b2 <> b3 & b2 <> 0.REAL b1 & b3 <> 0.REAL b1;

:: EUCLID_3:th 60
theorem
for b1 being Element of NAT
for b2, b3, b4, b5 being Element of the carrier of TOP-REAL b1
      st b3 - b2,b4 - b2 are_lindependent2 & b5 in plane(b2,b3,b4)
   holds ex b6, b7, b8 being Element of REAL st
      b5 = ((b6 * b2) + (b7 * b3)) + (b8 * b4) &
       (b6 + b7) + b8 = 1 &
       (for b9, b10, b11 being Element of REAL
             st b5 = ((b9 * b2) + (b10 * b3)) + (b11 * b4) &
                (b9 + b10) + b11 = 1
          holds b9 = b6 & b10 = b7 & b11 = b8);

:: EUCLID_3:th 61
theorem
for b1 being Element of NAT
for b2, b3, b4, b5 being Element of the carrier of TOP-REAL b1
      st ex b6, b7, b8 being Element of REAL st
           b5 = ((b6 * b2) + (b7 * b3)) + (b8 * b4) &
            (b6 + b7) + b8 = 1
   holds b5 in plane(b2,b3,b4);

:: EUCLID_3:th 62
theorem
for b1 being Element of NAT
for b2, b3, b4 being Element of the carrier of TOP-REAL b1 holds
plane(b2,b3,b4) = {b5 where b5 is Element of the carrier of TOP-REAL b1: ex b6, b7, b8 being Element of REAL st
   (b6 + b7) + b8 = 1 &
    b5 = ((b6 * b2) + (b7 * b3)) + (b8 * b4)};

:: EUCLID_3:th 63
theorem
for b1, b2, b3 being Element of the carrier of TOP-REAL 2
      st b2 - b1,b3 - b1 are_lindependent2
   holds plane(b1,b2,b3) = REAL 2;

:: EUCLID_3:funcnot 10 => EUCLID_3:func 10
definition
  let a1 be Element of NAT;
  let a2, a3, a4, a5 be Element of the carrier of TOP-REAL a1;
  assume a3 - a2,a4 - a2 are_lindependent2 & a5 in plane(a2,a3,a4);
  func tricord1(A2,A3,A4,A5) -> Element of REAL means
    ex b1, b2 being Element of REAL st
       (it + b1) + b2 = 1 &
        a5 = ((it * a2) + (b1 * a3)) + (b2 * a4);
end;

:: EUCLID_3:def 11
theorem
for b1 being Element of NAT
for b2, b3, b4, b5 being Element of the carrier of TOP-REAL b1
   st b3 - b2,b4 - b2 are_lindependent2 & b5 in plane(b2,b3,b4)
for b6 being Element of REAL holds
      b6 = tricord1(b2,b3,b4,b5)
   iff
      ex b7, b8 being Element of REAL st
         (b6 + b7) + b8 = 1 &
          b5 = ((b6 * b2) + (b7 * b3)) + (b8 * b4);

:: EUCLID_3:funcnot 11 => EUCLID_3:func 11
definition
  let a1 be Element of NAT;
  let a2, a3, a4, a5 be Element of the carrier of TOP-REAL a1;
  assume a3 - a2,a4 - a2 are_lindependent2 & a5 in plane(a2,a3,a4);
  func tricord2(A2,A3,A4,A5) -> Element of REAL means
    ex b1, b2 being Element of REAL st
       (b1 + it) + b2 = 1 &
        a5 = ((b1 * a2) + (it * a3)) + (b2 * a4);
end;

:: EUCLID_3:def 12
theorem
for b1 being Element of NAT
for b2, b3, b4, b5 being Element of the carrier of TOP-REAL b1
   st b3 - b2,b4 - b2 are_lindependent2 & b5 in plane(b2,b3,b4)
for b6 being Element of REAL holds
      b6 = tricord2(b2,b3,b4,b5)
   iff
      ex b7, b8 being Element of REAL st
         (b7 + b6) + b8 = 1 &
          b5 = ((b7 * b2) + (b6 * b3)) + (b8 * b4);

:: EUCLID_3:funcnot 12 => EUCLID_3:func 12
definition
  let a1 be Element of NAT;
  let a2, a3, a4, a5 be Element of the carrier of TOP-REAL a1;
  assume a3 - a2,a4 - a2 are_lindependent2 & a5 in plane(a2,a3,a4);
  func tricord3(A2,A3,A4,A5) -> Element of REAL means
    ex b1, b2 being Element of REAL st
       (b1 + b2) + it = 1 &
        a5 = ((b1 * a2) + (b2 * a3)) + (it * a4);
end;

:: EUCLID_3:def 13
theorem
for b1 being Element of NAT
for b2, b3, b4, b5 being Element of the carrier of TOP-REAL b1
   st b3 - b2,b4 - b2 are_lindependent2 & b5 in plane(b2,b3,b4)
for b6 being Element of REAL holds
      b6 = tricord3(b2,b3,b4,b5)
   iff
      ex b7, b8 being Element of REAL st
         (b7 + b8) + b6 = 1 &
          b5 = ((b7 * b2) + (b8 * b3)) + (b6 * b4);

:: EUCLID_3:funcnot 13 => EUCLID_3:func 13
definition
  let a1, a2, a3 be Element of the carrier of TOP-REAL 2;
  func trcmap1(A1,A2,A3) -> Function-like quasi_total Relation of the carrier of TOP-REAL 2,the carrier of R^1 means
    for b1 being Element of the carrier of TOP-REAL 2 holds
       it . b1 = tricord1(a1,a2,a3,b1);
end;

:: EUCLID_3:def 14
theorem
for b1, b2, b3 being Element of the carrier of TOP-REAL 2
for b4 being Function-like quasi_total Relation of the carrier of TOP-REAL 2,the carrier of R^1 holds
      b4 = trcmap1(b1,b2,b3)
   iff
      for b5 being Element of the carrier of TOP-REAL 2 holds
         b4 . b5 = tricord1(b1,b2,b3,b5);

:: EUCLID_3:funcnot 14 => EUCLID_3:func 14
definition
  let a1, a2, a3 be Element of the carrier of TOP-REAL 2;
  func trcmap2(A1,A2,A3) -> Function-like quasi_total Relation of the carrier of TOP-REAL 2,the carrier of R^1 means
    for b1 being Element of the carrier of TOP-REAL 2 holds
       it . b1 = tricord2(a1,a2,a3,b1);
end;

:: EUCLID_3:def 15
theorem
for b1, b2, b3 being Element of the carrier of TOP-REAL 2
for b4 being Function-like quasi_total Relation of the carrier of TOP-REAL 2,the carrier of R^1 holds
      b4 = trcmap2(b1,b2,b3)
   iff
      for b5 being Element of the carrier of TOP-REAL 2 holds
         b4 . b5 = tricord2(b1,b2,b3,b5);

:: EUCLID_3:funcnot 15 => EUCLID_3:func 15
definition
  let a1, a2, a3 be Element of the carrier of TOP-REAL 2;
  func trcmap3(A1,A2,A3) -> Function-like quasi_total Relation of the carrier of TOP-REAL 2,the carrier of R^1 means
    for b1 being Element of the carrier of TOP-REAL 2 holds
       it . b1 = tricord3(a1,a2,a3,b1);
end;

:: EUCLID_3:def 16
theorem
for b1, b2, b3 being Element of the carrier of TOP-REAL 2
for b4 being Function-like quasi_total Relation of the carrier of TOP-REAL 2,the carrier of R^1 holds
      b4 = trcmap3(b1,b2,b3)
   iff
      for b5 being Element of the carrier of TOP-REAL 2 holds
         b4 . b5 = tricord3(b1,b2,b3,b5);

:: EUCLID_3:th 64
theorem
for b1, b2, b3, b4 being Element of the carrier of TOP-REAL 2
      st b2 - b1,b3 - b1 are_lindependent2
   holds    b4 in outside_of_triangle(b1,b2,b3)
   iff
      (0 <= tricord1(b1,b2,b3,b4) & 0 <= tricord2(b1,b2,b3,b4) implies tricord3(b1,b2,b3,b4) < 0);

:: EUCLID_3:th 65
theorem
for b1, b2, b3, b4 being Element of the carrier of TOP-REAL 2
      st b2 - b1,b3 - b1 are_lindependent2
   holds    b4 in Triangle(b1,b2,b3)
   iff
      0 <= tricord1(b1,b2,b3,b4) &
       0 <= tricord2(b1,b2,b3,b4) &
       0 <= tricord3(b1,b2,b3,b4) &
       (tricord1(b1,b2,b3,b4) <> 0 & tricord2(b1,b2,b3,b4) <> 0 implies tricord3(b1,b2,b3,b4) = 0);

:: EUCLID_3:th 66
theorem
for b1, b2, b3, b4 being Element of the carrier of TOP-REAL 2
      st b2 - b1,b3 - b1 are_lindependent2
   holds    b4 in Triangle(b1,b2,b3)
   iff
      ((tricord1(b1,b2,b3,b4) = 0 & 0 <= tricord2(b1,b2,b3,b4) implies tricord3(b1,b2,b3,b4) < 0) &
       (0 <= tricord1(b1,b2,b3,b4) & tricord2(b1,b2,b3,b4) = 0 implies tricord3(b1,b2,b3,b4) < 0) implies 0 <= tricord1(b1,b2,b3,b4) & 0 <= tricord2(b1,b2,b3,b4) & tricord3(b1,b2,b3,b4) = 0);

:: EUCLID_3:th 67
theorem
for b1, b2, b3, b4 being Element of the carrier of TOP-REAL 2
      st b2 - b1,b3 - b1 are_lindependent2
   holds    b4 in inside_of_triangle(b1,b2,b3)
   iff
      0 < tricord1(b1,b2,b3,b4) & 0 < tricord2(b1,b2,b3,b4) & 0 < tricord3(b1,b2,b3,b4);

:: EUCLID_3:th 68
theorem
for b1, b2, b3 being Element of the carrier of TOP-REAL 2
      st b2 - b1,b3 - b1 are_lindependent2
   holds inside_of_triangle(b1,b2,b3) is not empty;