:: SEMI_AF1 semantic presentation

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

:: deftheorem Def1 defines Semi_Affine_Space-like SEMI_AF1:def 1 :
for b1 being non empty AffinStruct holds
( b1 is Semi_Affine_Space-like iff ( ( for b2, b3 being Element of b1 holds b2,b3 // b3,b2 ) & ( for b2, b3, b4 being Element of b1 holds b2,b3 // b4,b4 ) & ( for b2, b3, b4, b5, b6, b7 being Element of b1 st b2 <> b3 & b2,b3 // b4,b5 & b2,b3 // b6,b7 holds
b4,b5 // b6,b7 ) & ( for b2, b3, b4 being Element of b1 st b2,b3 // b2,b4 holds
b3,b2 // b3,b4 ) & not for b2, b3, b4 being Element of b1 holds b2,b3 // b2,b4 & ( for b2, b3, b4 being Element of b1 ex b5 being Element of b1 st
( b2,b3 // b4,b5 & b2,b4 // b3,b5 ) ) & ( for b2, b3 being Element of b1 ex b4 being Element of b1 st
for b5, b6 being Element of b1 holds
( b2,b3 // b2,b4 & ex b7 being Element of b1 st
( b2,b4 // b2,b5 implies ( b2,b6 // b2,b7 & b4,b6 // b5,b7 ) ) ) ) & ( for b2, b3, b4, b5, b6, b7, b8 being Element of b1 st not b2,b3 // b2,b5 & not b2,b3 // b2,b7 & b2,b3 // b2,b4 & b2,b5 // b2,b6 & b2,b7 // b2,b8 & b3,b5 // b4,b6 & b3,b7 // b4,b8 holds
b5,b7 // b6,b8 ) & ( for b2, b3, b4, b5, b6, b7 being Element of b1 st not b2,b3 // b2,b4 & not b2,b3 // b2,b6 & b2,b3 // b4,b5 & b2,b3 // b6,b7 & b2,b4 // b3,b5 & b2,b6 // b3,b7 holds
b4,b6 // b5,b7 ) & ( for b2, b3, b4, b5, b6, b7 being Element of b1 st b2,b3 // b2,b4 & b5,b6 // b5,b7 & b2,b6 // b3,b5 & b3,b7 // b4,b6 holds
b4,b5 // b2,b7 ) & ( for b2, b3, b4, b5 being Element of b1 st not b2,b3 // b2,b4 & b2,b3 // b4,b5 & b2,b4 // b3,b5 holds
not b2,b5 // b3,b4 ) ) );

registration
cluster non empty Semi_Affine_Space-like AffinStruct ;
existence
ex b1 being non empty AffinStruct st b1 is Semi_Affine_Space-like
proof end;
end;

definition
mode Semi_Affine_Space is non empty Semi_Affine_Space-like AffinStruct ;
end;

theorem Th1: :: SEMI_AF1:1
canceled;

theorem Th2: :: SEMI_AF1:2
canceled;

theorem Th3: :: SEMI_AF1:3
canceled;

theorem Th4: :: SEMI_AF1:4
canceled;

theorem Th5: :: SEMI_AF1:5
canceled;

theorem Th6: :: SEMI_AF1:6
canceled;

theorem Th7: :: SEMI_AF1:7
canceled;

theorem Th8: :: SEMI_AF1:8
canceled;

theorem Th9: :: SEMI_AF1:9
canceled;

theorem Th10: :: SEMI_AF1:10
canceled;

theorem Th11: :: SEMI_AF1:11
canceled;

theorem Th12: :: SEMI_AF1:12
for b1 being Semi_Affine_Space
for b2, b3 being Element of b1 holds b2,b3 // b2,b3
proof end;

theorem Th13: :: SEMI_AF1:13
for b1 being Semi_Affine_Space
for b2, b3, b4, b5 being Element of b1 st b2,b3 // b4,b5 holds
b4,b5 // b2,b3
proof end;

theorem Th14: :: SEMI_AF1:14
for b1 being Semi_Affine_Space
for b2, b3, b4 being Element of b1 holds b2,b2 // b3,b4
proof end;

theorem Th15: :: SEMI_AF1:15
for b1 being Semi_Affine_Space
for b2, b3, b4, b5 being Element of b1 st b2,b3 // b4,b5 holds
b3,b2 // b4,b5
proof end;

theorem Th16: :: SEMI_AF1:16
for b1 being Semi_Affine_Space
for b2, b3, b4, b5 being Element of b1 st b2,b3 // b4,b5 holds
b2,b3 // b5,b4
proof end;

theorem Th17: :: SEMI_AF1:17
for b1 being Semi_Affine_Space
for b2, b3, b4, b5 being Element of b1 st b2,b3 // b4,b5 holds
( b3,b2 // b4,b5 & b2,b3 // b5,b4 & b3,b2 // b5,b4 & b4,b5 // b2,b3 & b5,b4 // b2,b3 & b4,b5 // b3,b2 & b5,b4 // b3,b2 )
proof end;

theorem Th18: :: SEMI_AF1:18
for b1 being Semi_Affine_Space
for b2, b3, b4 being Element of b1 st b2,b3 // b2,b4 holds
( b2,b4 // b2,b3 & b3,b2 // b2,b4 & b2,b3 // b4,b2 & b2,b4 // b3,b2 & b3,b2 // b4,b2 & b4,b2 // b2,b3 & b4,b2 // b3,b2 & b3,b2 // b3,b4 & b2,b3 // b3,b4 & b3,b2 // b4,b3 & b3,b4 // b3,b2 & b2,b3 // b4,b3 & b4,b3 // b3,b2 & b3,b4 // b2,b3 & b4,b3 // b2,b3 & b4,b2 // b4,b3 & b2,b4 // b4,b3 & b4,b2 // b3,b4 & b2,b4 // b3,b4 & b4,b3 // b4,b2 & b3,b4 // b4,b2 & b4,b3 // b2,b4 & b3,b4 // b2,b4 )
proof end;

theorem Th19: :: SEMI_AF1:19
canceled;

theorem Th20: :: SEMI_AF1:20
for b1 being Semi_Affine_Space
for b2, b3, b4, b5, b6, b7 being Element of b1 st b2 <> b3 & b4,b5 // b2,b3 & b2,b3 // b6,b7 holds
b4,b5 // b6,b7
proof end;

theorem Th21: :: SEMI_AF1:21
for b1 being Semi_Affine_Space
for b2, b3, b4 being Element of b1 st not b2,b3 // b2,b4 holds
( b2 <> b3 & b3 <> b4 & b4 <> b2 ) by Def1, Th12, Th14;

theorem Th22: :: SEMI_AF1:22
for b1 being Semi_Affine_Space
for b2, b3, b4, b5 being Element of b1 st not b2,b3 // b4,b5 holds
( b2 <> b3 & b4 <> b5 ) by Def1, Th14;

theorem Th23: :: SEMI_AF1:23
for b1 being Semi_Affine_Space
for b2, b3, b4, b5 being Element of b1 st b2,b3 // b2,b4 & b3,b5 // b3,b4 & b5,b2 // b5,b4 holds
b2,b3 // b2,b5
proof end;

theorem Th24: :: SEMI_AF1:24
canceled;

theorem Th25: :: SEMI_AF1:25
for b1 being Semi_Affine_Space
for b2, b3, b4, b5, b6 being Element of b1 st not b2,b3 // b2,b4 & b5 <> b6 & b5,b6 // b5,b2 & b5,b6 // b5,b3 holds
not b5,b6 // b5,b4
proof end;

theorem Th26: :: SEMI_AF1:26
for b1 being Semi_Affine_Space
for b2, b3 being Element of b1 st b2 <> b3 holds
ex b4 being Element of b1 st not b2,b3 // b2,b4
proof end;

theorem Th27: :: SEMI_AF1:27
canceled;

theorem Th28: :: SEMI_AF1:28
for b1 being Semi_Affine_Space
for b2, b3, b4 being Element of b1 st not b2,b3 // b2,b4 holds
( not b2,b3 // b4,b2 & not b3,b2 // b2,b4 & not b3,b2 // b4,b2 & not b2,b4 // b2,b3 & not b2,b4 // b3,b2 & not b4,b2 // b2,b3 & not b4,b2 // b3,b2 & not b3,b2 // b3,b4 & not b3,b2 // b4,b3 & not b2,b3 // b3,b4 & not b2,b3 // b4,b3 & not b3,b4 // b3,b2 & not b3,b4 // b2,b3 & not b4,b3 // b2,b3 & not b4,b3 // b3,b2 & not b4,b3 // b4,b2 & not b4,b3 // b2,b4 & not b3,b4 // b4,b2 & not b3,b4 // b2,b4 & not b4,b2 // b4,b3 & not b4,b2 // b3,b4 & not b2,b4 // b3,b4 & not b2,b4 // b4,b3 )
proof end;

theorem Th29: :: SEMI_AF1:29
for b1 being Semi_Affine_Space
for b2, b3, b4, b5, b6, b7, b8, b9 being Element of b1 st not b2,b3 // b4,b5 & b2,b3 // b6,b7 & b4,b5 // b8,b9 & b6 <> b7 & b8 <> b9 holds
not b6,b7 // b8,b9
proof end;

theorem Th30: :: SEMI_AF1:30
for b1 being Semi_Affine_Space
for b2, b3, b4, b5, b6, b7 being Element of b1 st not b2,b3 // b2,b4 & b2,b3 // b5,b6 & b2,b4 // b5,b7 & b3,b4 // b6,b7 & b5 <> b6 holds
not b5,b6 // b5,b7
proof end;

theorem Th31: :: SEMI_AF1:31
for b1 being Semi_Affine_Space
for b2, b3, b4, b5, b6 being Element of b1 st not b2,b3 // b2,b4 & b2,b4 // b5,b6 & b3,b4 // b5,b6 holds
b5 = b6
proof end;

theorem Th32: :: SEMI_AF1:32
for b1 being Semi_Affine_Space
for b2, b3, b4, b5 being Element of b1 st not b2,b3 // b2,b4 & b2,b4 // b2,b5 & b3,b4 // b3,b5 holds
b4 = b5
proof end;

theorem Th33: :: SEMI_AF1:33
for b1 being Semi_Affine_Space
for b2, b3, b4, b5, b6, b7, b8 being Element of b1 st not b2,b3 // b2,b4 & b2,b3 // b5,b6 & b2,b4 // b5,b7 & b2,b4 // b5,b8 & b3,b4 // b6,b7 & b3,b4 // b6,b8 holds
b7 = b8
proof end;

theorem Th34: :: SEMI_AF1:34
for b1 being Semi_Affine_Space
for b2, b3, b4, b5 being Element of b1 st ( b2 = b3 or b4 = b5 or ( b2 = b4 & b3 = b5 ) or ( b2 = b5 & b3 = b4 ) ) holds
b2,b3 // b4,b5 by Def1, Th12, Th14;

theorem Th35: :: SEMI_AF1:35
for b1 being Semi_Affine_Space
for b2, b3, b4 being Element of b1 st ( b2 = b3 or b2 = b4 or b3 = b4 ) holds
b2,b3 // b2,b4 by Def1, Th12, Th14;

definition
let c1 be Semi_Affine_Space;
let c2, c3, c4 be Element of c1;
pred c2,c3,c4 is_collinear means :Def2: :: SEMI_AF1:def 2
a2,a3 // a2,a4;
end;

:: deftheorem Def2 defines is_collinear SEMI_AF1:def 2 :
for b1 being Semi_Affine_Space
for b2, b3, b4 being Element of b1 holds
( b2,b3,b4 is_collinear iff b2,b3 // b2,b4 );

theorem Th36: :: SEMI_AF1:36
canceled;

theorem Th37: :: SEMI_AF1:37
for b1 being Semi_Affine_Space
for b2, b3, b4 being Element of b1 st b2,b3,b4 is_collinear holds
( b2,b4,b3 is_collinear & b3,b2,b4 is_collinear & b3,b4,b2 is_collinear & b4,b2,b3 is_collinear & b4,b3,b2 is_collinear )
proof end;

theorem Th38: :: SEMI_AF1:38
canceled;

theorem Th39: :: SEMI_AF1:39
for b1 being Semi_Affine_Space
for b2, b3, b4, b5, b6, b7 being Element of b1 st not b2,b3,b4 is_collinear & b2,b3 // b5,b6 & b2,b4 // b5,b7 & b5 <> b6 & b5 <> b7 holds
not b5,b6,b7 is_collinear
proof end;

theorem Th40: :: SEMI_AF1:40
for b1 being Semi_Affine_Space
for b2, b3, b4 being Element of b1 st ( b2 = b3 or b3 = b4 or b4 = b2 ) holds
b2,b3,b4 is_collinear
proof end;

theorem Th41: :: SEMI_AF1:41
for b1 being Semi_Affine_Space
for b2, b3 being Element of b1 st b2 <> b3 holds
ex b4 being Element of b1 st not b2,b3,b4 is_collinear
proof end;

theorem Th42: :: SEMI_AF1:42
for b1 being Semi_Affine_Space
for b2, b3, b4, b5 being Element of b1 st b2,b3,b4 is_collinear & b2,b3,b5 is_collinear holds
b2,b3 // b4,b5
proof end;

theorem Th43: :: SEMI_AF1:43
for b1 being Semi_Affine_Space
for b2, b3, b4, b5 being Element of b1 st not b2,b3,b4 is_collinear & b2,b3 // b4,b5 holds
not b2,b3,b5 is_collinear
proof end;

theorem Th44: :: SEMI_AF1:44
for b1 being Semi_Affine_Space
for b2, b3, b4, b5, b6 being Element of b1 st not b2,b3,b4 is_collinear & b2,b3 // b4,b5 & b4 <> b5 & b4,b5,b6 is_collinear holds
not b2,b3,b6 is_collinear
proof end;

theorem Th45: :: SEMI_AF1:45
for b1 being Semi_Affine_Space
for b2, b3, b4, b5 being Element of b1 st not b2,b3,b4 is_collinear & b2,b3,b5 is_collinear & b2,b4,b5 is_collinear holds
b2 = b5
proof end;

theorem Th46: :: SEMI_AF1:46
for b1 being Semi_Affine_Space
for b2, b3, b4, b5, b6 being Element of b1 st b2 <> b3 & b2 <> b4 & b2,b3,b4 is_collinear & b2,b3,b5 is_collinear & b2,b4,b6 is_collinear holds
b3,b4 // b5,b6
proof end;

theorem Th47: :: SEMI_AF1:47
canceled;

theorem Th48: :: SEMI_AF1:48
for b1 being Semi_Affine_Space
for b2, b3, b4, b5, b6, b7 being Element of b1 st not b2,b3 // b4,b5 & b2,b3,b6 is_collinear & b2,b3,b7 is_collinear & b4,b5,b6 is_collinear & b4,b5,b7 is_collinear holds
b6 = b7
proof end;

theorem Th49: :: SEMI_AF1:49
for b1 being Semi_Affine_Space
for b2, b3, b4, b5 being Element of b1 st b2 <> b3 & b2,b3,b4 is_collinear & b2,b3 // b4,b5 holds
b2,b4 // b3,b5
proof end;

theorem Th50: :: SEMI_AF1:50
for b1 being Semi_Affine_Space
for b2, b3, b4, b5 being Element of b1 st b2 <> b3 & b2,b3,b4 is_collinear & b2,b3 // b4,b5 holds
b4,b3 // b4,b5
proof end;

theorem Th51: :: SEMI_AF1:51
for b1 being Semi_Affine_Space
for b2, b3, b4, b5, b6, b7 being Element of b1 st not b2,b3,b4 is_collinear & b2,b3,b5 is_collinear & b2,b4,b6 is_collinear & b2,b4,b7 is_collinear & b3,b4 // b5,b6 & b3,b4 // b5,b6 & b3,b4 // b5,b7 holds
b6 = b7
proof end;

theorem Th52: :: SEMI_AF1:52
for b1 being Semi_Affine_Space
for b2, b3, b4, b5 being Element of b1 st b2 <> b3 & b2,b3,b4 is_collinear & b2,b3,b5 is_collinear holds
b2,b4,b5 is_collinear
proof end;

definition
let c1 be Semi_Affine_Space;
let c2, c3, c4, c5 be Element of c1;
pred parallelogram c2,c3,c4,c5 means :Def3: :: SEMI_AF1:def 3
( not a2,a3,a4 is_collinear & a2,a3 // a4,a5 & a2,a4 // a3,a5 );
end;

:: deftheorem Def3 defines parallelogram SEMI_AF1:def 3 :
for b1 being Semi_Affine_Space
for b2, b3, b4, b5 being Element of b1 holds
( parallelogram b2,b3,b4,b5 iff ( not b2,b3,b4 is_collinear & b2,b3 // b4,b5 & b2,b4 // b3,b5 ) );

theorem Th53: :: SEMI_AF1:53
canceled;

theorem Th54: :: SEMI_AF1:54
for b1 being Semi_Affine_Space
for b2, b3, b4, b5 being Element of b1 st parallelogram b2,b3,b4,b5 holds
( b2 <> b3 & b2 <> b4 & b4 <> b3 & b2 <> b5 & b3 <> b5 & b4 <> b5 )
proof end;

theorem Th55: :: SEMI_AF1:55
for b1 being Semi_Affine_Space
for b2, b3, b4, b5 being Element of b1 st parallelogram b2,b3,b4,b5 holds
( not b2,b3,b4 is_collinear & not b3,b2,b5 is_collinear & not b4,b5,b2 is_collinear & not b5,b4,b3 is_collinear )
proof end;

theorem Th56: :: SEMI_AF1:56
for b1 being Semi_Affine_Space
for b2, b3, b4, b5 being Element of b1 st parallelogram b2,b3,b4,b5 holds
( not b2,b3,b4 is_collinear & not b2,b4,b3 is_collinear & not b2,b3,b5 is_collinear & not b2,b5,b3 is_collinear & not b2,b4,b5 is_collinear & not b2,b5,b4 is_collinear & not b3,b2,b4 is_collinear & not b3,b4,b2 is_collinear & not b3,b2,b5 is_collinear & not b3,b5,b2 is_collinear & not b3,b4,b5 is_collinear & not b3,b5,b4 is_collinear & not b4,b2,b3 is_collinear & not b4,b3,b2 is_collinear & not b4,b2,b5 is_collinear & not b4,b5,b2 is_collinear & not b4,b3,b5 is_collinear & not b4,b5,b3 is_collinear & not b5,b2,b3 is_collinear & not b5,b3,b2 is_collinear & not b5,b2,b4 is_collinear & not b5,b4,b2 is_collinear & not b5,b3,b4 is_collinear & not b5,b4,b3 is_collinear )
proof end;

theorem Th57: :: SEMI_AF1:57
for b1 being Semi_Affine_Space
for b2, b3, b4, b5, b6 being Element of b1 holds
( not parallelogram b2,b3,b4,b5 or not b2,b3,b6 is_collinear or not b4,b5,b6 is_collinear )
proof end;

theorem Th58: :: SEMI_AF1:58
for b1 being Semi_Affine_Space
for b2, b3, b4, b5 being Element of b1 st parallelogram b2,b3,b4,b5 holds
parallelogram b2,b4,b3,b5
proof end;

theorem Th59: :: SEMI_AF1:59
for b1 being Semi_Affine_Space
for b2, b3, b4, b5 being Element of b1 st parallelogram b2,b3,b4,b5 holds
parallelogram b4,b5,b2,b3
proof end;

theorem Th60: :: SEMI_AF1:60
for b1 being Semi_Affine_Space
for b2, b3, b4, b5 being Element of b1 st parallelogram b2,b3,b4,b5 holds
parallelogram b3,b2,b5,b4
proof end;

theorem Th61: :: SEMI_AF1:61
for b1 being Semi_Affine_Space
for b2, b3, b4, b5 being Element of b1 st parallelogram b2,b3,b4,b5 holds
( parallelogram b2,b4,b3,b5 & parallelogram b4,b5,b2,b3 & parallelogram b3,b2,b5,b4 & parallelogram b4,b2,b5,b3 & parallelogram b5,b3,b4,b2 & parallelogram b3,b5,b2,b4 )
proof end;

theorem Th62: :: SEMI_AF1:62
for b1 being Semi_Affine_Space
for b2, b3, b4 being Element of b1 st not b2,b3,b4 is_collinear holds
ex b5 being Element of b1 st parallelogram b2,b3,b4,b5
proof end;

theorem Th63: :: SEMI_AF1:63
for b1 being Semi_Affine_Space
for b2, b3, b4, b5, b6 being Element of b1 st parallelogram b2,b3,b4,b5 & parallelogram b2,b3,b4,b6 holds
b5 = b6
proof end;

theorem Th64: :: SEMI_AF1:64
for b1 being Semi_Affine_Space
for b2, b3, b4, b5 being Element of b1 st parallelogram b2,b3,b4,b5 holds
not b2,b5 // b3,b4
proof end;

theorem Th65: :: SEMI_AF1:65
for b1 being Semi_Affine_Space
for b2, b3, b4, b5 being Element of b1 st parallelogram b2,b3,b4,b5 holds
not parallelogram b2,b3,b5,b4
proof end;

theorem Th66: :: SEMI_AF1:66
for b1 being Semi_Affine_Space
for b2, b3 being Element of b1 st b2 <> b3 holds
ex b4 being Element of b1 st
( b2,b3,b4 is_collinear & b4 <> b2 & b4 <> b3 )
proof end;

theorem Th67: :: SEMI_AF1:67
for b1 being Semi_Affine_Space
for b2, b3, b4, b5, b6, b7 being Element of b1 st parallelogram b2,b3,b4,b5 & parallelogram b2,b3,b6,b7 holds
b4,b6 // b5,b7
proof end;

theorem Th68: :: SEMI_AF1:68
for b1 being Semi_Affine_Space
for b2, b3, b4, b5, b6, b7 being Element of b1 st not b2,b3,b4 is_collinear & parallelogram b5,b6,b2,b3 & parallelogram b5,b6,b4,b7 holds
parallelogram b2,b3,b4,b7
proof end;

theorem Th69: :: SEMI_AF1:69
for b1 being Semi_Affine_Space
for b2, b3, b4, b5, b6, b7 being Element of b1 st b2,b3,b4 is_collinear & b3 <> b4 & parallelogram b2,b5,b3,b6 & parallelogram b2,b5,b4,b7 holds
parallelogram b3,b6,b4,b7
proof end;

theorem Th70: :: SEMI_AF1:70
for b1 being Semi_Affine_Space
for b2, b3, b4, b5, b6, b7, b8, b9 being Element of b1 st parallelogram b2,b3,b4,b5 & parallelogram b2,b3,b6,b7 & parallelogram b4,b5,b8,b9 holds
b6,b8 // b7,b9
proof end;

Lemma44: for b1 being Semi_Affine_Space
for b2, b3 being Element of b1 st b2 <> b3 holds
ex b4, b5 being Element of b1 st parallelogram b2,b3,b4,b5
proof end;

theorem Th71: :: SEMI_AF1:71
for b1 being Semi_Affine_Space
for b2, b3 being Element of b1 st b2 <> b3 holds
ex b4, b5 being Element of b1 st parallelogram b2,b4,b5,b3
proof end;

definition
let c1 be Semi_Affine_Space;
let c2, c3, c4, c5 be Element of c1;
pred congr c2,c3,c4,c5 means :Def4: :: SEMI_AF1:def 4
( ( a2 = a3 & a4 = a5 ) or ex b1, b2 being Element of a1 st
( parallelogram b1,b2,a2,a3 & parallelogram b1,b2,a4,a5 ) );
end;

:: deftheorem Def4 defines congr SEMI_AF1:def 4 :
for b1 being Semi_Affine_Space
for b2, b3, b4, b5 being Element of b1 holds
( congr b2,b3,b4,b5 iff ( ( b2 = b3 & b4 = b5 ) or ex b6, b7 being Element of b1 st
( parallelogram b6,b7,b2,b3 & parallelogram b6,b7,b4,b5 ) ) );

theorem Th72: :: SEMI_AF1:72
canceled;

theorem Th73: :: SEMI_AF1:73
for b1 being Semi_Affine_Space
for b2, b3, b4 being Element of b1 st congr b2,b2,b3,b4 holds
b3 = b4
proof end;

theorem Th74: :: SEMI_AF1:74
for b1 being Semi_Affine_Space
for b2, b3, b4 being Element of b1 st congr b2,b3,b4,b4 holds
b2 = b3
proof end;

theorem Th75: :: SEMI_AF1:75
for b1 being Semi_Affine_Space
for b2, b3 being Element of b1 st congr b2,b3,b3,b2 holds
b2 = b3
proof end;

theorem Th76: :: SEMI_AF1:76
for b1 being Semi_Affine_Space
for b2, b3, b4, b5 being Element of b1 st congr b2,b3,b4,b5 holds
b2,b3 // b4,b5
proof end;

theorem Th77: :: SEMI_AF1:77
for b1 being Semi_Affine_Space
for b2, b3, b4, b5 being Element of b1 st congr b2,b3,b4,b5 holds
b2,b4 // b3,b5
proof end;

theorem Th78: :: SEMI_AF1:78
for b1 being Semi_Affine_Space
for b2, b3, b4, b5 being Element of b1 st congr b2,b3,b4,b5 & not b2,b3,b4 is_collinear holds
parallelogram b2,b3,b4,b5
proof end;

theorem Th79: :: SEMI_AF1:79
for b1 being Semi_Affine_Space
for b2, b3, b4, b5 being Element of b1 st parallelogram b2,b3,b4,b5 holds
congr b2,b3,b4,b5
proof end;

theorem Th80: :: SEMI_AF1:80
for b1 being Semi_Affine_Space
for b2, b3, b4, b5, b6, b7 being Element of b1 st congr b2,b3,b4,b5 & b2,b3,b4 is_collinear & parallelogram b6,b7,b2,b3 holds
parallelogram b6,b7,b4,b5
proof end;

theorem Th81: :: SEMI_AF1:81
for b1 being Semi_Affine_Space
for b2, b3, b4, b5, b6 being Element of b1 st congr b2,b3,b4,b5 & congr b2,b3,b4,b6 holds
b5 = b6
proof end;

theorem Th82: :: SEMI_AF1:82
for b1 being Semi_Affine_Space
for b2, b3, b4 being Element of b1 ex b5 being Element of b1 st congr b2,b3,b4,b5
proof end;

theorem Th83: :: SEMI_AF1:83
canceled;

theorem Th84: :: SEMI_AF1:84
for b1 being Semi_Affine_Space
for b2, b3 being Element of b1 holds congr b2,b3,b2,b3
proof end;

theorem Th85: :: SEMI_AF1:85
for b1 being Semi_Affine_Space
for b2, b3, b4, b5, b6, b7 being Element of b1 st congr b2,b3,b4,b5 & congr b2,b3,b6,b7 holds
congr b4,b5,b6,b7
proof end;

theorem Th86: :: SEMI_AF1:86
for b1 being Semi_Affine_Space
for b2, b3, b4, b5 being Element of b1 st congr b2,b3,b4,b5 holds
congr b4,b5,b2,b3
proof end;

theorem Th87: :: SEMI_AF1:87
for b1 being Semi_Affine_Space
for b2, b3, b4, b5 being Element of b1 st congr b2,b3,b4,b5 holds
congr b3,b2,b5,b4
proof end;

theorem Th88: :: SEMI_AF1:88
for b1 being Semi_Affine_Space
for b2, b3, b4, b5 being Element of b1 st congr b2,b3,b4,b5 holds
congr b2,b4,b3,b5
proof end;

theorem Th89: :: SEMI_AF1:89
for b1 being Semi_Affine_Space
for b2, b3, b4, b5 being Element of b1 st congr b2,b3,b4,b5 holds
( congr b4,b5,b2,b3 & congr b3,b2,b5,b4 & congr b2,b4,b3,b5 & congr b5,b4,b3,b2 & congr b3,b5,b2,b4 & congr b4,b2,b5,b3 & congr b5,b3,b4,b2 )
proof end;

theorem Th90: :: SEMI_AF1:90
for b1 being Semi_Affine_Space
for b2, b3, b4, b5, b6, b7 being Element of b1 st congr b2,b3,b4,b5 & congr b3,b6,b5,b7 holds
congr b2,b6,b4,b7
proof end;

theorem Th91: :: SEMI_AF1:91
for b1 being Semi_Affine_Space
for b2, b3, b4, b5, b6, b7 being Element of b1 st congr b2,b3,b4,b5 & congr b6,b3,b4,b7 holds
congr b2,b6,b7,b5
proof end;

theorem Th92: :: SEMI_AF1:92
for b1 being Semi_Affine_Space
for b2, b3, b4, b5, b6 being Element of b1 st congr b2,b3,b3,b4 & congr b5,b3,b3,b6 holds
congr b2,b5,b6,b4 by Th91;

theorem Th93: :: SEMI_AF1:93
for b1 being Semi_Affine_Space
for b2, b3, b4, b5, b6, b7 being Element of b1 st congr b2,b3,b4,b5 & congr b6,b3,b4,b7 holds
b2,b6 // b5,b7
proof end;

theorem Th94: :: SEMI_AF1:94
for b1 being Semi_Affine_Space
for b2, b3, b4, b5, b6 being Element of b1 st congr b2,b3,b3,b4 & congr b5,b3,b3,b6 holds
b2,b5 // b4,b6 by Th93;

definition
let c1 be Semi_Affine_Space;
let c2, c3, c4 be Element of c1;
func sum c2,c3,c4 -> Element of a1 means :Def5: :: SEMI_AF1:def 5
congr a4,a2,a3,a5;
correctness
existence
ex b1 being Element of c1 st congr c4,c2,c3,b1
;
uniqueness
for b1, b2 being Element of c1 st congr c4,c2,c3,b1 & congr c4,c2,c3,b2 holds
b1 = b2
;
by Th81, Th82;
end;

:: deftheorem Def5 defines sum SEMI_AF1:def 5 :
for b1 being Semi_Affine_Space
for b2, b3, b4, b5 being Element of b1 holds
( b5 = sum b2,b3,b4 iff congr b4,b2,b3,b5 );

definition
let c1 be Semi_Affine_Space;
let c2, c3 be Element of c1;
func opposite c2,c3 -> Element of a1 means :Def6: :: SEMI_AF1:def 6
sum a2,a4,a3 = a3;
existence
ex b1 being Element of c1 st sum c2,b1,c3 = c3
proof end;
uniqueness
for b1, b2 being Element of c1 st sum c2,b1,c3 = c3 & sum c2,b2,c3 = c3 holds
b1 = b2
proof end;
end;

:: deftheorem Def6 defines opposite SEMI_AF1:def 6 :
for b1 being Semi_Affine_Space
for b2, b3, b4 being Element of b1 holds
( b4 = opposite b2,b3 iff sum b2,b4,b3 = b3 );

definition
let c1 be Semi_Affine_Space;
let c2, c3, c4 be Element of c1;
func diff c2,c3,c4 -> Element of a1 equals :: SEMI_AF1:def 7
sum a2,(opposite a3,a4),a4;
correctness
coherence
sum c2,(opposite c3,c4),c4 is Element of c1
;
;
end;

:: deftheorem Def7 defines diff SEMI_AF1:def 7 :
for b1 being Semi_Affine_Space
for b2, b3, b4 being Element of b1 holds diff b2,b3,b4 = sum b2,(opposite b3,b4),b4;

theorem Th95: :: SEMI_AF1:95
canceled;

theorem Th96: :: SEMI_AF1:96
canceled;

theorem Th97: :: SEMI_AF1:97
canceled;

theorem Th98: :: SEMI_AF1:98
canceled;

theorem Th99: :: SEMI_AF1:99
for b1 being Semi_Affine_Space
for b2, b3 being Element of b1 holds sum b2,b3,b3 = b2
proof end;

theorem Th100: :: SEMI_AF1:100
for b1 being Semi_Affine_Space
for b2, b3 being Element of b1 ex b4 being Element of b1 st sum b2,b4,b3 = b3
proof end;

theorem Th101: :: SEMI_AF1:101
for b1 being Semi_Affine_Space
for b2, b3, b4, b5 being Element of b1 holds sum (sum b2,b3,b4),b5,b4 = sum b2,(sum b3,b5,b4),b4
proof end;

theorem Th102: :: SEMI_AF1:102
for b1 being Semi_Affine_Space
for b2, b3, b4 being Element of b1 holds sum b2,b3,b4 = sum b3,b2,b4
proof end;

theorem Th103: :: SEMI_AF1:103
for b1 being Semi_Affine_Space
for b2, b3 being Element of b1 st sum b2,b2,b3 = b3 holds
b2 = b3
proof end;

theorem Th104: :: SEMI_AF1:104
for b1 being Semi_Affine_Space
for b2, b3, b4, b5 being Element of b1 st sum b2,b3,b4 = sum b2,b5,b4 holds
b3 = b5
proof end;

theorem Th105: :: SEMI_AF1:105
canceled;

theorem Th106: :: SEMI_AF1:106
for b1 being Semi_Affine_Space
for b2, b3 being Element of b1 holds congr b2,b3,b3, opposite b2,b3
proof end;

theorem Th107: :: SEMI_AF1:107
for b1 being Semi_Affine_Space
for b2, b3, b4 being Element of b1 st opposite b2,b3 = opposite b4,b3 holds
b2 = b4
proof end;

theorem Th108: :: SEMI_AF1:108
for b1 being Semi_Affine_Space
for b2, b3, b4 being Element of b1 holds b2,b3 // opposite b2,b4, opposite b3,b4
proof end;

theorem Th109: :: SEMI_AF1:109
for b1 being Semi_Affine_Space
for b2 being Element of b1 holds opposite b2,b2 = b2
proof end;

theorem Th110: :: SEMI_AF1:110
for b1 being Semi_Affine_Space
for b2, b3, b4, b5 being Element of b1 holds b2,b3 // sum b2,b4,b5, sum b3,b4,b5
proof end;

theorem Th111: :: SEMI_AF1:111
for b1 being Semi_Affine_Space
for b2, b3, b4, b5, b6 being Element of b1 st b2,b3 // b4,b5 holds
b2,b3 // sum b2,b4,b6, sum b3,b5,b6
proof end;

theorem Th112: :: SEMI_AF1:112
canceled;

theorem Th113: :: SEMI_AF1:113
for b1 being Semi_Affine_Space
for b2, b3, b4 being Element of b1 holds
( diff b2,b3,b4 = b4 iff b2 = b3 )
proof end;

theorem Th114: :: SEMI_AF1:114
for b1 being Semi_Affine_Space
for b2, b3, b4 being Element of b1 holds b2, diff b3,b4,b2 // b4,b3
proof end;

theorem Th115: :: SEMI_AF1:115
for b1 being Semi_Affine_Space
for b2, b3, b4, b5, b6 being Element of b1 holds
( b2, diff b3,b4,b2, diff b5,b6,b2 is_collinear iff b4,b3 // b6,b5 )
proof end;

definition
let c1 be Semi_Affine_Space;
let c2, c3, c4, c5, c6 be Element of c1;
pred trap c2,c3,c4,c5,c6 means :Def8: :: SEMI_AF1:def 8
( not a6,a2,a4 is_collinear & a6,a2,a3 is_collinear & a6,a4,a5 is_collinear & a2,a4 // a3,a5 );
end;

:: deftheorem Def8 defines trap SEMI_AF1:def 8 :
for b1 being Semi_Affine_Space
for b2, b3, b4, b5, b6 being Element of b1 holds
( trap b2,b3,b4,b5,b6 iff ( not b6,b2,b4 is_collinear & b6,b2,b3 is_collinear & b6,b4,b5 is_collinear & b2,b4 // b3,b5 ) );

definition
let c1 be Semi_Affine_Space;
let c2, c3 be Element of c1;
pred qtrap c2,c3 means :Def9: :: SEMI_AF1:def 9
for b1, b2 being Element of a1 ex b3 being Element of a1 st
( a2,a3,b1 is_collinear implies ( a2,b2,b3 is_collinear & a3,b2 // b1,b3 ) );
end;

:: deftheorem Def9 defines qtrap SEMI_AF1:def 9 :
for b1 being Semi_Affine_Space
for b2, b3 being Element of b1 holds
( qtrap b2,b3 iff for b4, b5 being Element of b1 ex b6 being Element of b1 st
( b2,b3,b4 is_collinear implies ( b2,b5,b6 is_collinear & b3,b5 // b4,b6 ) ) );

theorem Th116: :: SEMI_AF1:116
canceled;

theorem Th117: :: SEMI_AF1:117
canceled;

theorem Th118: :: SEMI_AF1:118
for b1 being Semi_Affine_Space
for b2, b3, b4, b5, b6 being Element of b1 st trap b2,b3,b4,b5,b6 holds
( b6 <> b2 & b2 <> b4 & b4 <> b6 )
proof end;

theorem Th119: :: SEMI_AF1:119
for b1 being Semi_Affine_Space
for b2, b3, b4, b5, b6, b7 being Element of b1 st trap b2,b3,b4,b5,b6 & trap b2,b3,b4,b7,b6 holds
b5 = b7
proof end;

theorem Th120: :: SEMI_AF1:120
for b1 being Semi_Affine_Space
for b2, b3, b4 being Element of b1 st not b2,b3,b4 is_collinear holds
trap b3,b2,b4,b2,b2
proof end;

theorem Th121: :: SEMI_AF1:121
for b1 being Semi_Affine_Space
for b2, b3, b4, b5, b6 being Element of b1 st trap b2,b3,b4,b5,b6 holds
trap b4,b5,b2,b3,b6
proof end;

theorem Th122: :: SEMI_AF1:122
for b1 being Semi_Affine_Space
for b2, b3, b4, b5, b6 being Element of b1 st b2 <> b3 & trap b4,b3,b5,b6,b2 holds
b2 <> b6
proof end;

theorem Th123: :: SEMI_AF1:123
for b1 being Semi_Affine_Space
for b2, b3, b4, b5, b6 being Element of b1 st b2 <> b3 & trap b4,b3,b5,b6,b2 holds
not b2,b3,b6 is_collinear
proof end;

theorem Th124: :: SEMI_AF1:124
for b1 being Semi_Affine_Space
for b2, b3, b4, b5, b6 being Element of b1 st b2 <> b3 & trap b4,b3,b5,b6,b2 holds
trap b3,b4,b6,b5,b2
proof end;

theorem Th125: :: SEMI_AF1:125
for b1 being Semi_Affine_Space
for b2, b3, b4, b5, b6 being Element of b1 st ( b2 = b3 or b2 = b4 ) & trap b5,b3,b6,b4,b2 holds
( b2 = b3 & b2 = b4 )
proof end;

theorem Th126: :: SEMI_AF1:126
for b1 being Semi_Affine_Space
for b2, b3, b4, b5, b6, b7, b8 being Element of b1 st trap b2,b3,b4,b5,b6 & trap b2,b3,b7,b8,b6 holds
b4,b7 // b5,b8
proof end;

theorem Th127: :: SEMI_AF1:127
for b1 being Semi_Affine_Space
for b2, b3, b4, b5, b6, b7, b8 being Element of b1 st trap b2,b3,b4,b5,b6 & trap b2,b3,b7,b8,b6 & not b6,b4,b7 is_collinear holds
trap b4,b5,b7,b8,b6
proof end;

theorem Th128: :: SEMI_AF1:128
for b1 being Semi_Affine_Space
for b2, b3, b4, b5, b6, b7, b8, b9, b10 being Element of b1 st trap b2,b3,b4,b5,b6 & trap b2,b3,b7,b8,b6 & trap b4,b5,b9,b10,b6 holds
b7,b9 // b8,b10
proof end;

theorem Th129: :: SEMI_AF1:129
for b1 being Semi_Affine_Space
for b2, b3 being Element of b1 ex b4 being Element of b1 st
( b2,b3,b4 is_collinear & qtrap b2,b4 )
proof end;

theorem Th130: :: SEMI_AF1:130
for b1 being Semi_Affine_Space ex b2, b3, b4 being Element of b1 st
( b2 <> b3 & b3 <> b4 & b4 <> b2 )
proof end;

theorem Th131: :: SEMI_AF1:131
for b1 being Semi_Affine_Space
for b2, b3 being Element of b1 st qtrap b2,b3 holds
b2 <> b3
proof end;

theorem Th132: :: SEMI_AF1:132
for b1 being Semi_Affine_Space
for b2, b3 being Element of b1 st qtrap b2,b3 holds
ex b4 being Element of b1 st
( not b2,b3,b4 is_collinear & qtrap b2,b4 )
proof end;

theorem Th133: :: SEMI_AF1:133
for b1 being Semi_Affine_Space
for b2, b3, b4, b5 being Element of b1 st not b2,b3,b4 is_collinear & b2,b3,b5 is_collinear & qtrap b2,b3 holds
ex b6 being Element of b1 st trap b3,b5,b4,b6,b2
proof end;