:: ANALOAF semantic presentation

definition
let c1 be RealLinearSpace;
let c2, c3, c4, c5 be VECTOR of c1;
pred c2,c3 // c4,c5 means :Def1: :: ANALOAF:def 1
not ( not a2 = a3 & not a4 = a5 & ( for b1, b2 being Real holds
not ( 0 < b1 & 0 < b2 & b1 * (a3 - a2) = b2 * (a5 - a4) ) ) );
end;

:: deftheorem Def1 defines // ANALOAF:def 1 :
for b1 being RealLinearSpace
for b2, b3, b4, b5 being VECTOR of b1 holds
( b2,b3 // b4,b5 iff not ( not b2 = b3 & not b4 = b5 & ( for b6, b7 being Real holds
not ( 0 < b6 & 0 < b7 & b6 * (b3 - b2) = b7 * (b5 - b4) ) ) ) );

Lemma2: for b1, b2 being Real holds
not ( 0 < b1 & 0 < b2 & not 0 < b1 + b2 )
by XREAL_1:36;

Lemma3: for b1, b2 being Real holds
not ( b1 <> b2 & not 0 < b1 - b2 & not 0 < b2 - b1 )
by XREAL_1:57;

theorem Th1: :: ANALOAF:1
canceled;

theorem Th2: :: ANALOAF:2
canceled;

theorem Th3: :: ANALOAF:3
canceled;

theorem Th4: :: ANALOAF:4
for b1 being RealLinearSpace
for b2, b3, b4 being VECTOR of b1 holds (b2 - b3) + (b3 - b4) = b2 - b4
proof end;

theorem Th5: :: ANALOAF:5
canceled;

theorem Th6: :: ANALOAF:6
for b1 being RealLinearSpace
for b2, b3, b4 being VECTOR of b1 holds b2 - (b3 - b4) = b2 + (b4 - b3) by RLVECT_1:47;

theorem Th7: :: ANALOAF:7
canceled;

theorem Th8: :: ANALOAF:8
canceled;

theorem Th9: :: ANALOAF:9
for b1 being RealLinearSpace
for b2, b3, b4, b5 being VECTOR of b1 holds
( b2 + b3 = b4 + b5 implies b2 - b5 = b4 - b3 )
proof end;

theorem Th10: :: ANALOAF:10
for b1 being RealLinearSpace
for b2, b3 being VECTOR of b1
for b4 being Real holds b4 * (b2 - b3) = - (b4 * (b3 - b2))
proof end;

theorem Th11: :: ANALOAF:11
for b1 being RealLinearSpace
for b2, b3 being VECTOR of b1
for b4, b5 being Real holds (b4 - b5) * (b2 - b3) = (b5 - b4) * (b3 - b2)
proof end;

theorem Th12: :: ANALOAF:12
for b1 being RealLinearSpace
for b2, b3 being VECTOR of b1
for b4 being Real holds
( b4 <> 0 & b4 * b2 = b3 implies b2 = (b4 " ) * b3 )
proof end;

theorem Th13: :: ANALOAF:13
for b1 being RealLinearSpace
for b2, b3 being VECTOR of b1
for b4 being Real holds
( ( b4 <> 0 & b4 * b2 = b3 implies b2 = (b4 " ) * b3 ) & ( b4 <> 0 & b2 = (b4 " ) * b3 implies b4 * b2 = b3 ) )
proof end;

theorem Th14: :: ANALOAF:14
canceled;

theorem Th15: :: ANALOAF:15
canceled;

theorem Th16: :: ANALOAF:16
for b1 being RealLinearSpace
for b2, b3, b4, b5 being VECTOR of b1 holds
not ( b2,b3 // b4,b5 & b2 <> b3 & b4 <> b5 & ( for b6, b7 being Real holds
not ( b6 * (b3 - b2) = b7 * (b5 - b4) & 0 < b6 & 0 < b7 ) ) )
proof end;

theorem Th17: :: ANALOAF:17
for b1 being RealLinearSpace
for b2, b3 being VECTOR of b1 holds b2,b3 // b2,b3
proof end;

theorem Th18: :: ANALOAF:18
for b1 being RealLinearSpace
for b2, b3, b4 being VECTOR of b1 holds
( b2,b3 // b4,b4 & b2,b2 // b3,b4 ) by Def1;

theorem Th19: :: ANALOAF:19
for b1 being RealLinearSpace
for b2, b3 being VECTOR of b1 holds
( b2,b3 // b3,b2 implies b2 = b3 )
proof end;

theorem Th20: :: ANALOAF:20
for b1 being RealLinearSpace
for b2, b3, b4, b5, b6, b7 being VECTOR of b1 holds
( b2 <> b3 & b2,b3 // b4,b5 & b2,b3 // b6,b7 implies b4,b5 // b6,b7 )
proof end;

theorem Th21: :: ANALOAF:21
for b1 being RealLinearSpace
for b2, b3, b4, b5 being VECTOR of b1 holds
( b2,b3 // b4,b5 implies ( b3,b2 // b5,b4 & b4,b5 // b2,b3 ) )
proof end;

theorem Th22: :: ANALOAF:22
for b1 being RealLinearSpace
for b2, b3, b4 being VECTOR of b1 holds
( b2,b3 // b3,b4 implies b2,b3 // b2,b4 )
proof end;

theorem Th23: :: ANALOAF:23
for b1 being RealLinearSpace
for b2, b3, b4 being VECTOR of b1 holds
not ( b2,b3 // b2,b4 & not b2,b3 // b3,b4 & not b2,b4 // b4,b3 )
proof end;

theorem Th24: :: ANALOAF:24
for b1 being RealLinearSpace
for b2, b3, b4, b5 being VECTOR of b1 holds
( b2 - b3 = b4 - b5 implies b3,b2 // b5,b4 )
proof end;

theorem Th25: :: ANALOAF:25
for b1 being RealLinearSpace
for b2, b3, b4, b5 being VECTOR of b1 holds
( b2 = (b3 + b4) - b5 implies ( b5,b3 // b4,b2 & b5,b4 // b3,b2 ) )
proof end;

theorem Th26: :: ANALOAF:26
for b1 being RealLinearSpace holds
( not for b2, b3 being VECTOR of b1 holds not b2 <> b3 implies for b2, b3, b4 being VECTOR of b1 holds
ex b5 being VECTOR of b1 st
( b2,b3 // b4,b5 & b2,b4 // b3,b5 & b3 <> b5 ) )
proof end;

theorem Th27: :: ANALOAF:27
for b1 being RealLinearSpace
for b2, b3, b4, b5 being VECTOR of b1 holds
not ( b2 <> b3 & b3,b2 // b2,b4 & ( for b6 being VECTOR of b1 holds
not ( b5,b2 // b2,b6 & b5,b3 // b4,b6 ) ) )
proof end;

theorem Th28: :: ANALOAF:28
for b1 being RealLinearSpace
for b2, b3 being VECTOR of b1 holds
( ( for b4, b5 being Real holds
( (b4 * b2) + (b5 * b3) = 0. b1 implies ( b4 = 0 & b5 = 0 ) ) ) implies ( b2 <> b3 & b2 <> 0. b1 & b3 <> 0. b1 ) )
proof end;

theorem Th29: :: ANALOAF:29
for b1 being RealLinearSpace holds
not ( ex b2, b3 being VECTOR of b1 st
for b4, b5 being Real holds
( (b4 * b2) + (b5 * b3) = 0. b1 implies ( b4 = 0 & b5 = 0 ) ) & ( for b2, b3, b4, b5 being VECTOR of b1 holds
not ( not b2,b3 // b4,b5 & not b2,b3 // b5,b4 ) ) )
proof end;

Lemma24: for b1 being RealLinearSpace
for b2, b3, b4, b5 being VECTOR of b1
for b6, b7 being Real holds
not ( b6 * (b2 - b3) = b7 * (b4 - b5) & not ( not b6 <> 0 & not b7 <> 0 ) & not b3,b2 // b4,b5 & not b3,b2 // b5,b4 )
proof end;

theorem Th30: :: ANALOAF:30
canceled;

theorem Th31: :: ANALOAF:31
for b1 being RealLinearSpace holds
( ex b2, b3 being VECTOR of b1 st
for b4 being VECTOR of b1 holds
ex b5, b6 being Real st (b5 * b2) + (b6 * b3) = b4 implies for b2, b3, b4, b5 being VECTOR of b1 holds
not ( not b2,b3 // b4,b5 & not b2,b3 // b5,b4 & ( for b6 being VECTOR of b1 holds
not ( ( b2,b3 // b2,b6 or b2,b3 // b6,b2 ) & ( b4,b5 // b4,b6 or b4,b5 // b6,b4 ) ) ) ) )
proof end;

definition
attr a1 is strict;
struct AffinStruct -> 1-sorted ;
aggr AffinStruct(# carrier, CONGR #) -> AffinStruct ;
sel CONGR c1 -> Relation of [:the carrier of a1,the carrier of a1:];
end;

registration
cluster non empty strict AffinStruct ;
existence
ex b1 being AffinStruct st
( not b1 is empty & b1 is strict )
proof end;
end;

definition
let c1 be non empty AffinStruct ;
let c2, c3, c4, c5 be Element of c1;
pred c2,c3 // c4,c5 means :Def2: :: ANALOAF:def 2
[[a2,a3],[a4,a5]] in the CONGR of a1;
end;

:: deftheorem Def2 defines // ANALOAF:def 2 :
for b1 being non empty AffinStruct
for b2, b3, b4, b5 being Element of b1 holds
( b2,b3 // b4,b5 iff [[b2,b3],[b4,b5]] in the CONGR of b1 );

definition
let c1 be RealLinearSpace;
func DirPar c1 -> Relation of [:the carrier of a1,the carrier of a1:] means :Def3: :: ANALOAF:def 3
for b1, b2 being set holds
( [b1,b2] in a2 iff ex b3, b4, b5, b6 being VECTOR of a1 st
( b1 = [b3,b4] & b2 = [b5,b6] & b3,b4 // b5,b6 ) );
existence
ex b1 being Relation of [:the carrier of c1,the carrier of c1:] st
for b2, b3 being set holds
( [b2,b3] in b1 iff ex b4, b5, b6, b7 being VECTOR of c1 st
( b2 = [b4,b5] & b3 = [b6,b7] & b4,b5 // b6,b7 ) )
proof end;
uniqueness
for b1, b2 being Relation of [:the carrier of c1,the carrier of c1:] holds
( ( for b3, b4 being set holds
( [b3,b4] in b1 iff ex b5, b6, b7, b8 being VECTOR of c1 st
( b3 = [b5,b6] & b4 = [b7,b8] & b5,b6 // b7,b8 ) ) ) & ( for b3, b4 being set holds
( [b3,b4] in b2 iff ex b5, b6, b7, b8 being VECTOR of c1 st
( b3 = [b5,b6] & b4 = [b7,b8] & b5,b6 // b7,b8 ) ) ) implies b1 = b2 )
proof end;
end;

:: deftheorem Def3 defines DirPar ANALOAF:def 3 :
for b1 being RealLinearSpace
for b2 being Relation of [:the carrier of b1,the carrier of b1:] holds
( b2 = DirPar b1 iff for b3, b4 being set holds
( [b3,b4] in b2 iff ex b5, b6, b7, b8 being VECTOR of b1 st
( b3 = [b5,b6] & b4 = [b7,b8] & b5,b6 // b7,b8 ) ) );

theorem Th32: :: ANALOAF:32
canceled;

theorem Th33: :: ANALOAF:33
for b1 being RealLinearSpace
for b2, b3, b4, b5 being VECTOR of b1 holds
( [[b2,b3],[b4,b5]] in DirPar b1 iff b2,b3 // b4,b5 )
proof end;

definition
let c1 be RealLinearSpace;
func OASpace c1 -> strict AffinStruct equals :: ANALOAF:def 4
AffinStruct(# the carrier of a1,(DirPar a1) #);
correctness
coherence
AffinStruct(# the carrier of c1,(DirPar c1) #) is strict AffinStruct
;
;
end;

:: deftheorem Def4 defines OASpace ANALOAF:def 4 :
for b1 being RealLinearSpace holds OASpace b1 = AffinStruct(# the carrier of b1,(DirPar b1) #);

registration
let c1 be RealLinearSpace;
cluster OASpace a1 -> non empty strict ;
coherence
not OASpace c1 is empty
proof end;
end;

theorem Th34: :: ANALOAF:34
canceled;

theorem Th35: :: ANALOAF:35
for b1 being RealLinearSpace holds
( ex b2, b3 being VECTOR of b1 st
for b4, b5 being Real holds
( (b4 * b2) + (b5 * b3) = 0. b1 implies ( b4 = 0 & b5 = 0 ) ) implies ( not for b2, b3 being Element of (OASpace b1) holds not b2 <> b3 & ( for b2, b3, b4, b5, b6, b7, b8, b9 being Element of (OASpace b1) holds
( b2,b3 // b4,b4 & ( b2,b3 // b3,b2 implies b2 = b3 ) & ( b2 <> b3 & b2,b3 // b6,b7 & b2,b3 // b8,b9 implies b6,b7 // b8,b9 ) & ( b2,b3 // b4,b5 implies b3,b2 // b5,b4 ) & ( b2,b3 // b3,b4 implies b2,b3 // b2,b4 ) & not ( b2,b3 // b2,b4 & not b2,b3 // b3,b4 & not b2,b4 // b4,b3 ) ) ) & ex b2, b3, b4, b5 being Element of (OASpace b1) st
( not b2,b3 // b4,b5 & not b2,b3 // b5,b4 ) & ( for b2, b3, b4 being Element of (OASpace b1) holds
ex b5 being Element of (OASpace b1) st
( b2,b3 // b4,b5 & b2,b4 // b3,b5 & b3 <> b5 ) ) & ( for b2, b3, b4, b5 being Element of (OASpace b1) holds
not ( b2 <> b4 & b4,b2 // b2,b5 & ( for b6 being Element of (OASpace b1) holds
not ( b3,b2 // b2,b6 & b3,b4 // b5,b6 ) ) ) ) ) )
proof end;

theorem Th36: :: ANALOAF:36
for b1 being RealLinearSpace holds
( ex b2, b3 being VECTOR of b1 st
for b4 being VECTOR of b1 holds
ex b5, b6 being Real st (b5 * b2) + (b6 * b3) = b4 implies for b2, b3, b4, b5 being Element of (OASpace b1) holds
not ( not b2,b3 // b4,b5 & not b2,b3 // b5,b4 & ( for b6 being Element of (OASpace b1) holds
not ( ( b2,b3 // b2,b6 or b2,b3 // b6,b2 ) & ( b4,b5 // b4,b6 or b4,b5 // b6,b4 ) ) ) ) )
proof end;

definition
let c1 be non empty AffinStruct ;
attr a1 is OAffinSpace-like means :Def5: :: ANALOAF:def 5
( ( for b1, b2, b3, b4, b5, b6, b7, b8 being Element of a1 holds
( b1,b2 // b3,b3 & ( b1,b2 // b2,b1 implies b1 = b2 ) & ( b1 <> b2 & b1,b2 // b5,b6 & b1,b2 // b7,b8 implies b5,b6 // b7,b8 ) & ( b1,b2 // b3,b4 implies b2,b1 // b4,b3 ) & ( b1,b2 // b2,b3 implies b1,b2 // b1,b3 ) & not ( b1,b2 // b1,b3 & not b1,b2 // b2,b3 & not b1,b3 // b3,b2 ) ) ) & ex b1, b2, b3, b4 being Element of a1 st
( not b1,b2 // b3,b4 & not b1,b2 // b4,b3 ) & ( for b1, b2, b3 being Element of a1 holds
ex b4 being Element of a1 st
( b1,b2 // b3,b4 & b1,b3 // b2,b4 & b2 <> b4 ) ) & ( for b1, b2, b3, b4 being Element of a1 holds
not ( b1 <> b3 & b3,b1 // b1,b4 & ( for b5 being Element of a1 holds
not ( b2,b1 // b1,b5 & b2,b3 // b4,b5 ) ) ) ) );
end;

:: deftheorem Def5 defines OAffinSpace-like ANALOAF:def 5 :
for b1 being non empty AffinStruct holds
( b1 is OAffinSpace-like iff ( ( for b2, b3, b4, b5, b6, b7, b8, b9 being Element of b1 holds
( b2,b3 // b4,b4 & ( b2,b3 // b3,b2 implies b2 = b3 ) & ( b2 <> b3 & b2,b3 // b6,b7 & b2,b3 // b8,b9 implies b6,b7 // b8,b9 ) & ( b2,b3 // b4,b5 implies b3,b2 // b5,b4 ) & ( b2,b3 // b3,b4 implies b2,b3 // b2,b4 ) & not ( b2,b3 // b2,b4 & not b2,b3 // b3,b4 & not b2,b4 // b4,b3 ) ) ) & ex b2, b3, b4, b5 being Element of b1 st
( not b2,b3 // b4,b5 & not b2,b3 // b5,b4 ) & ( for b2, b3, b4 being Element of b1 holds
ex b5 being Element of b1 st
( b2,b3 // b4,b5 & b2,b4 // b3,b5 & b3 <> b5 ) ) & ( for b2, b3, b4, b5 being Element of b1 holds
not ( b2 <> b4 & b4,b2 // b2,b5 & ( for b6 being Element of b1 holds
not ( b3,b2 // b2,b6 & b3,b4 // b5,b6 ) ) ) ) ) );

registration
cluster non empty non trivial strict OAffinSpace-like AffinStruct ;
existence
ex b1 being non empty AffinStruct st
( b1 is strict & not b1 is trivial & b1 is OAffinSpace-like )
proof end;
end;

definition
mode OAffinSpace is non empty non trivial OAffinSpace-like AffinStruct ;
end;

theorem Th37: :: ANALOAF:37
for b1 being non empty AffinStruct holds
( ( not for b2, b3 being Element of b1 holds not b2 <> b3 & ( for b2, b3, b4, b5, b6, b7, b8, b9 being Element of b1 holds
( b2,b3 // b4,b4 & ( b2,b3 // b3,b2 implies b2 = b3 ) & ( b2 <> b3 & b2,b3 // b6,b7 & b2,b3 // b8,b9 implies b6,b7 // b8,b9 ) & ( b2,b3 // b4,b5 implies b3,b2 // b5,b4 ) & ( b2,b3 // b3,b4 implies b2,b3 // b2,b4 ) & not ( b2,b3 // b2,b4 & not b2,b3 // b3,b4 & not b2,b4 // b4,b3 ) ) ) & ex b2, b3, b4, b5 being Element of b1 st
( not b2,b3 // b4,b5 & not b2,b3 // b5,b4 ) & ( for b2, b3, b4 being Element of b1 holds
ex b5 being Element of b1 st
( b2,b3 // b4,b5 & b2,b4 // b3,b5 & b3 <> b5 ) ) & ( for b2, b3, b4, b5 being Element of b1 holds
not ( b2 <> b4 & b4,b2 // b2,b5 & ( for b6 being Element of b1 holds
not ( b3,b2 // b2,b6 & b3,b4 // b5,b6 ) ) ) ) ) iff b1 is OAffinSpace ) by Def5, REALSET2:def 7;

theorem Th38: :: ANALOAF:38
for b1 being RealLinearSpace holds
( ex b2, b3 being VECTOR of b1 st
for b4, b5 being Real holds
( (b4 * b2) + (b5 * b3) = 0. b1 implies ( b4 = 0 & b5 = 0 ) ) implies OASpace b1 is OAffinSpace )
proof end;

definition
let c1 be OAffinSpace;
attr a1 is 2-dimensional means :Def6: :: ANALOAF:def 6
for b1, b2, b3, b4 being Element of a1 holds
not ( not b1,b2 // b3,b4 & not b1,b2 // b4,b3 & ( for b5 being Element of a1 holds
not ( ( b1,b2 // b1,b5 or b1,b2 // b5,b1 ) & ( b3,b4 // b3,b5 or b3,b4 // b5,b3 ) ) ) );
end;

:: deftheorem Def6 defines 2-dimensional ANALOAF:def 6 :
for b1 being OAffinSpace holds
( b1 is 2-dimensional iff for b2, b3, b4, b5 being Element of b1 holds
not ( not b2,b3 // b4,b5 & not b2,b3 // b5,b4 & ( for b6 being Element of b1 holds
not ( ( b2,b3 // b2,b6 or b2,b3 // b6,b2 ) & ( b4,b5 // b4,b6 or b4,b5 // b6,b4 ) ) ) ) );

registration
cluster strict 2-dimensional AffinStruct ;
existence
ex b1 being OAffinSpace st
( b1 is strict & b1 is 2-dimensional )
proof end;
end;

definition
mode OAffinPlane is 2-dimensional OAffinSpace;
end;

theorem Th39: :: ANALOAF:39
canceled;

theorem Th40: :: ANALOAF:40
canceled;

theorem Th41: :: ANALOAF:41
canceled;

theorem Th42: :: ANALOAF:42
canceled;

theorem Th43: :: ANALOAF:43
canceled;

theorem Th44: :: ANALOAF:44
canceled;

theorem Th45: :: ANALOAF:45
canceled;

theorem Th46: :: ANALOAF:46
canceled;

theorem Th47: :: ANALOAF:47
canceled;

theorem Th48: :: ANALOAF:48
canceled;

theorem Th49: :: ANALOAF:49
canceled;

theorem Th50: :: ANALOAF:50
for b1 being non empty AffinStruct holds
( ( not for b2, b3 being Element of b1 holds not b2 <> b3 & ( for b2, b3, b4, b5, b6, b7, b8, b9 being Element of b1 holds
( b2,b3 // b4,b4 & ( b2,b3 // b3,b2 implies b2 = b3 ) & ( b2 <> b3 & b2,b3 // b6,b7 & b2,b3 // b8,b9 implies b6,b7 // b8,b9 ) & ( b2,b3 // b4,b5 implies b3,b2 // b5,b4 ) & ( b2,b3 // b3,b4 implies b2,b3 // b2,b4 ) & not ( b2,b3 // b2,b4 & not b2,b3 // b3,b4 & not b2,b4 // b4,b3 ) ) ) & ex b2, b3, b4, b5 being Element of b1 st
( not b2,b3 // b4,b5 & not b2,b3 // b5,b4 ) & ( for b2, b3, b4 being Element of b1 holds
ex b5 being Element of b1 st
( b2,b3 // b4,b5 & b2,b4 // b3,b5 & b3 <> b5 ) ) & ( for b2, b3, b4, b5 being Element of b1 holds
not ( b2 <> b4 & b4,b2 // b2,b5 & ( for b6 being Element of b1 holds
not ( b3,b2 // b2,b6 & b3,b4 // b5,b6 ) ) ) ) & ( for b2, b3, b4, b5 being Element of b1 holds
not ( not b2,b3 // b4,b5 & not b2,b3 // b5,b4 & ( for b6 being Element of b1 holds
not ( ( b2,b3 // b2,b6 or b2,b3 // b6,b2 ) & ( b4,b5 // b4,b6 or b4,b5 // b6,b4 ) ) ) ) ) ) iff b1 is OAffinPlane ) by Def5, Def6, REALSET2:def 7;

theorem Th51: :: ANALOAF:51
for b1 being RealLinearSpace holds
( ex b2, b3 being VECTOR of b1 st
( ( for b4, b5 being Real holds
( (b4 * b2) + (b5 * b3) = 0. b1 implies ( b4 = 0 & b5 = 0 ) ) ) & ( for b4 being VECTOR of b1 holds
ex b5, b6 being Real st b4 = (b5 * b2) + (b6 * b3) ) ) implies OASpace b1 is OAffinPlane )
proof end;