:: EUCLID_5 semantic presentation

theorem Th1: :: EUCLID_5:1
for b1 being Point of (TOP-REAL 3) ex b2, b3, b4 being Real st b1 = <*b2,b3,b4*>
proof end;

definition
let c1 be Point of (TOP-REAL 3);
func c1 `1 -> Real means :Def1: :: EUCLID_5:def 1
for b1 being FinSequence st a1 = b1 holds
a2 = b1 . 1;
existence
ex b1 being Real st
for b2 being FinSequence st c1 = b2 holds
b1 = b2 . 1
proof end;
uniqueness
for b1, b2 being Real st ( for b3 being FinSequence st c1 = b3 holds
b1 = b3 . 1 ) & ( for b3 being FinSequence st c1 = b3 holds
b2 = b3 . 1 ) holds
b1 = b2
proof end;
func c1 `2 -> Real means :Def2: :: EUCLID_5:def 2
for b1 being FinSequence st a1 = b1 holds
a2 = b1 . 2;
existence
ex b1 being Real st
for b2 being FinSequence st c1 = b2 holds
b1 = b2 . 2
proof end;
uniqueness
for b1, b2 being Real st ( for b3 being FinSequence st c1 = b3 holds
b1 = b3 . 2 ) & ( for b3 being FinSequence st c1 = b3 holds
b2 = b3 . 2 ) holds
b1 = b2
proof end;
func c1 `3 -> Real means :Def3: :: EUCLID_5:def 3
for b1 being FinSequence st a1 = b1 holds
a2 = b1 . 3;
existence
ex b1 being Real st
for b2 being FinSequence st c1 = b2 holds
b1 = b2 . 3
proof end;
uniqueness
for b1, b2 being Real st ( for b3 being FinSequence st c1 = b3 holds
b1 = b3 . 3 ) & ( for b3 being FinSequence st c1 = b3 holds
b2 = b3 . 3 ) holds
b1 = b2
proof end;
end;

:: deftheorem Def1 defines `1 EUCLID_5:def 1 :
for b1 being Point of (TOP-REAL 3)
for b2 being Real holds
( b2 = b1 `1 iff for b3 being FinSequence st b1 = b3 holds
b2 = b3 . 1 );

:: deftheorem Def2 defines `2 EUCLID_5:def 2 :
for b1 being Point of (TOP-REAL 3)
for b2 being Real holds
( b2 = b1 `2 iff for b3 being FinSequence st b1 = b3 holds
b2 = b3 . 2 );

:: deftheorem Def3 defines `3 EUCLID_5:def 3 :
for b1 being Point of (TOP-REAL 3)
for b2 being Real holds
( b2 = b1 `3 iff for b3 being FinSequence st b1 = b3 holds
b2 = b3 . 3 );

definition
let c1, c2, c3 be Real;
func |[c1,c2,c3]| -> Point of (TOP-REAL 3) equals :: EUCLID_5:def 4
<*a1,a2,a3*>;
coherence
<*c1,c2,c3*> is Point of (TOP-REAL 3)
proof end;
end;

:: deftheorem Def4 defines |[ EUCLID_5:def 4 :
for b1, b2, b3 being Real holds |[b1,b2,b3]| = <*b1,b2,b3*>;

theorem Th2: :: EUCLID_5:2
for b1, b2, b3 being Real holds
( |[b1,b2,b3]| `1 = b1 & |[b1,b2,b3]| `2 = b2 & |[b1,b2,b3]| `3 = b3 )
proof end;

theorem Th3: :: EUCLID_5:3
for b1 being Point of (TOP-REAL 3) holds b1 = |[(b1 `1 ),(b1 `2 ),(b1 `3 )]|
proof end;

theorem Th4: :: EUCLID_5:4
0.REAL 3 = |[0,0,0]|
proof end;

theorem Th5: :: EUCLID_5:5
for b1, b2 being Point of (TOP-REAL 3) holds b1 + b2 = |[((b1 `1 ) + (b2 `1 )),((b1 `2 ) + (b2 `2 )),((b1 `3 ) + (b2 `3 ))]|
proof end;

theorem Th6: :: EUCLID_5:6
for b1, b2, b3, b4, b5, b6 being Real holds |[b1,b2,b3]| + |[b4,b5,b6]| = |[(b1 + b4),(b2 + b5),(b3 + b6)]|
proof end;

theorem Th7: :: EUCLID_5:7
for b1 being Real
for b2 being Point of (TOP-REAL 3) holds b1 * b2 = |[(b1 * (b2 `1 )),(b1 * (b2 `2 )),(b1 * (b2 `3 ))]|
proof end;

theorem Th8: :: EUCLID_5:8
for b1, b2, b3, b4 being Real holds b1 * |[b2,b3,b4]| = |[(b1 * b2),(b1 * b3),(b1 * b4)]|
proof end;

theorem Th9: :: EUCLID_5:9
for b1 being Real
for b2 being Point of (TOP-REAL 3) holds
( (b1 * b2) `1 = b1 * (b2 `1 ) & (b1 * b2) `2 = b1 * (b2 `2 ) & (b1 * b2) `3 = b1 * (b2 `3 ) )
proof end;

theorem Th10: :: EUCLID_5:10
for b1 being Point of (TOP-REAL 3) holds - b1 = |[(- (b1 `1 )),(- (b1 `2 )),(- (b1 `3 ))]|
proof end;

theorem Th11: :: EUCLID_5:11
for b1, b2, b3 being Real holds - |[b1,b2,b3]| = |[(- b1),(- b2),(- b3)]|
proof end;

theorem Th12: :: EUCLID_5:12
for b1, b2 being Point of (TOP-REAL 3) holds b1 - b2 = |[((b1 `1 ) - (b2 `1 )),((b1 `2 ) - (b2 `2 )),((b1 `3 ) - (b2 `3 ))]|
proof end;

theorem Th13: :: EUCLID_5:13
for b1, b2, b3, b4, b5, b6 being Real holds |[b1,b2,b3]| - |[b4,b5,b6]| = |[(b1 - b4),(b2 - b5),(b3 - b6)]|
proof end;

definition
let c1, c2 be Point of (TOP-REAL 3);
func c1 <X> c2 -> Point of (TOP-REAL 3) equals :: EUCLID_5:def 5
|[(((a1 `2 ) * (a2 `3 )) - ((a1 `3 ) * (a2 `2 ))),(((a1 `3 ) * (a2 `1 )) - ((a1 `1 ) * (a2 `3 ))),(((a1 `1 ) * (a2 `2 )) - ((a1 `2 ) * (a2 `1 )))]|;
correctness
coherence
|[(((c1 `2 ) * (c2 `3 )) - ((c1 `3 ) * (c2 `2 ))),(((c1 `3 ) * (c2 `1 )) - ((c1 `1 ) * (c2 `3 ))),(((c1 `1 ) * (c2 `2 )) - ((c1 `2 ) * (c2 `1 )))]| is Point of (TOP-REAL 3)
;
;
end;

:: deftheorem Def5 defines <X> EUCLID_5:def 5 :
for b1, b2 being Point of (TOP-REAL 3) holds b1 <X> b2 = |[(((b1 `2 ) * (b2 `3 )) - ((b1 `3 ) * (b2 `2 ))),(((b1 `3 ) * (b2 `1 )) - ((b1 `1 ) * (b2 `3 ))),(((b1 `1 ) * (b2 `2 )) - ((b1 `2 ) * (b2 `1 )))]|;

theorem Th14: :: EUCLID_5:14
for b1, b2, b3 being Real
for b4 being Point of (TOP-REAL 3) st b4 = |[b1,b2,b3]| holds
( b4 `1 = b1 & b4 `2 = b2 & b4 `3 = b3 ) by Th2;

theorem Th15: :: EUCLID_5:15
for b1, b2, b3, b4, b5, b6 being Real holds |[b1,b2,b3]| <X> |[b4,b5,b6]| = |[((b2 * b6) - (b3 * b5)),((b3 * b4) - (b1 * b6)),((b1 * b5) - (b2 * b4))]|
proof end;

theorem Th16: :: EUCLID_5:16
for b1 being Real
for b2, b3 being Point of (TOP-REAL 3) holds
( (b1 * b2) <X> b3 = b1 * (b2 <X> b3) & (b1 * b2) <X> b3 = b2 <X> (b1 * b3) )
proof end;

theorem Th17: :: EUCLID_5:17
for b1, b2 being Point of (TOP-REAL 3) holds b1 <X> b2 = - (b2 <X> b1)
proof end;

theorem Th18: :: EUCLID_5:18
for b1, b2 being Point of (TOP-REAL 3) holds (- b1) <X> b2 = b1 <X> (- b2)
proof end;

theorem Th19: :: EUCLID_5:19
for b1, b2, b3 being Real holds |[0,0,0]| <X> |[b1,b2,b3]| = 0.REAL 3
proof end;

theorem Th20: :: EUCLID_5:20
for b1, b2 being Real holds |[b1,0,0]| <X> |[b2,0,0]| = 0.REAL 3
proof end;

theorem Th21: :: EUCLID_5:21
for b1, b2 being Real holds |[0,b1,0]| <X> |[0,b2,0]| = 0.REAL 3
proof end;

theorem Th22: :: EUCLID_5:22
for b1, b2 being Real holds |[0,0,b1]| <X> |[0,0,b2]| = 0.REAL 3
proof end;

theorem Th23: :: EUCLID_5:23
for b1, b2, b3 being Point of (TOP-REAL 3) holds b1 <X> (b2 + b3) = (b1 <X> b2) + (b1 <X> b3)
proof end;

theorem Th24: :: EUCLID_5:24
for b1, b2, b3 being Point of (TOP-REAL 3) holds (b1 + b2) <X> b3 = (b1 <X> b3) + (b2 <X> b3)
proof end;

theorem Th25: :: EUCLID_5:25
for b1 being Point of (TOP-REAL 3) holds b1 <X> b1 = 0.REAL 3 by Th4;

theorem Th26: :: EUCLID_5:26
for b1, b2, b3, b4 being Point of (TOP-REAL 3) holds (b1 + b2) <X> (b3 + b4) = (((b1 <X> b3) + (b1 <X> b4)) + (b2 <X> b3)) + (b2 <X> b4)
proof end;

theorem Th27: :: EUCLID_5:27
for b1 being Point of (TOP-REAL 3) holds b1 = <*(b1 `1 ),(b1 `2 ),(b1 `3 )*>
proof end;

theorem Th28: :: EUCLID_5:28
for b1, b2 being FinSequence of REAL st len b1 = 3 & len b2 = 3 holds
mlt b1,b2 = <*((b1 . 1) * (b2 . 1)),((b1 . 2) * (b2 . 2)),((b1 . 3) * (b2 . 3))*>
proof end;

theorem Th29: :: EUCLID_5:29
for b1, b2 being Point of (TOP-REAL 3) holds |(b1,b2)| = (((b1 `1 ) * (b2 `1 )) + ((b1 `2 ) * (b2 `2 ))) + ((b1 `3 ) * (b2 `3 ))
proof end;

theorem Th30: :: EUCLID_5:30
for b1, b2 being Element of REAL
for b3, b4, b5, b6 being Real holds |(|[b3,b4,b1]|,|[b5,b6,b2]|)| = ((b3 * b5) + (b4 * b6)) + (b1 * b2)
proof end;

definition
let c1, c2, c3 be Point of (TOP-REAL 3);
func |{c1,c2,c3}| -> real number equals :: EUCLID_5:def 6
|(a1,(a2 <X> a3))|;
coherence
|(c1,(c2 <X> c3))| is real number
;
end;

:: deftheorem Def6 defines |{ EUCLID_5:def 6 :
for b1, b2, b3 being Point of (TOP-REAL 3) holds |{b1,b2,b3}| = |(b1,(b2 <X> b3))|;

theorem Th31: :: EUCLID_5:31
for b1, b2 being Point of (TOP-REAL 3) holds
( |{b1,b1,b2}| = 0 & |{b2,b1,b2}| = 0 )
proof end;

theorem Th32: :: EUCLID_5:32
for b1, b2, b3 being Point of (TOP-REAL 3) holds b1 <X> (b2 <X> b3) = (|(b1,b3)| * b2) - (|(b1,b2)| * b3)
proof end;

theorem Th33: :: EUCLID_5:33
for b1, b2, b3 being Point of (TOP-REAL 3) holds |{b1,b2,b3}| = |{b2,b3,b1}|
proof end;

theorem Th34: :: EUCLID_5:34
for b1, b2, b3 being Point of (TOP-REAL 3) holds |{b1,b2,b3}| = |{b3,b1,b2}| by Th33;

theorem Th35: :: EUCLID_5:35
for b1, b2, b3 being Point of (TOP-REAL 3) holds |{b1,b2,b3}| = |((b1 <X> b2),b3)|
proof end;