:: ANPROJ_2 semantic presentation

theorem Th1: :: ANPROJ_2:1
for b1 being RealLinearSpace
for b2, b3, b4 being Element of b1 st ( for b5, b6, b7 being Real st ((b5 * b2) + (b6 * b3)) + (b7 * b4) = 0. b1 holds
( b5 = 0 & b6 = 0 & b7 = 0 ) ) holds
( b2 is_Prop_Vect & b3 is_Prop_Vect & b4 is_Prop_Vect & not b2,b3,b4 are_LinDep & not are_Prop b2,b3 )
proof end;

Lemma2: for b1 being RealLinearSpace
for b2, b3 being Element of b1 st ( for b4, b5 being Real st (b4 * b2) + (b5 * b3) = 0. b1 holds
( b4 = 0 & b5 = 0 ) ) holds
( b2 is_Prop_Vect & b3 is_Prop_Vect & not are_Prop b2,b3 )
proof end;

theorem Th2: :: ANPROJ_2:2
for b1 being RealLinearSpace
for b2, b3, b4, b5 being Element of b1 st ( for b6, b7, b8, b9 being Real st (((b6 * b2) + (b7 * b3)) + (b8 * b4)) + (b9 * b5) = 0. b1 holds
( b6 = 0 & b7 = 0 & b8 = 0 & b9 = 0 ) ) holds
( b2 is_Prop_Vect & b3 is_Prop_Vect & not are_Prop b2,b3 & b4 is_Prop_Vect & b5 is_Prop_Vect & not are_Prop b4,b5 & not b2,b3,b4 are_LinDep & not b4,b5,b2 are_LinDep )
proof end;

Lemma4: for b1 being RealLinearSpace
for b2, b3, b4 being Element of b1
for b5, b6, b7, b8 being Real holds b5 * (((b6 * b2) + (b7 * b3)) + (b8 * b4)) = (((b5 * b6) * b2) + ((b5 * b7) * b3)) + ((b5 * b8) * b4)
proof end;

Lemma5: for b1 being RealLinearSpace
for b2, b3, b4, b5, b6, b7 being Element of b1 holds ((b2 + b3) + b4) + ((b5 + b6) + b7) = ((b2 + b5) + (b3 + b6)) + (b4 + b7)
proof end;

theorem Th3: :: ANPROJ_2:3
for b1 being RealLinearSpace
for b2, b3, b4 being Element of b1 st ( for b5 being Element of b1 ex b6, b7, b8 being Real st b5 = ((b6 * b2) + (b7 * b3)) + (b8 * b4) ) & ( for b5, b6, b7 being Real st ((b5 * b2) + (b6 * b3)) + (b7 * b4) = 0. b1 holds
( b5 = 0 & b6 = 0 & b7 = 0 ) ) holds
for b5, b6 being Element of b1 ex b7 being Element of b1 st
( b2,b3,b7 are_LinDep & b5,b6,b7 are_LinDep & b7 is_Prop_Vect )
proof end;

Lemma7: for b1 being RealLinearSpace
for b2, b3, b4, b5 being Element of b1
for b6, b7, b8, b9, b10 being Real holds b6 * ((((b7 * b2) + (b8 * b3)) + (b9 * b4)) + (b10 * b5)) = ((((b6 * b7) * b2) + ((b6 * b8) * b3)) + ((b6 * b9) * b4)) + ((b6 * b10) * b5)
proof end;

Lemma8: for b1 being RealLinearSpace
for b2, b3, b4, b5, b6, b7, b8, b9 being Element of b1 holds (((b2 + b3) + b4) + b5) + (((b6 + b7) + b8) + b9) = (((b2 + b6) + (b3 + b7)) + (b4 + b8)) + (b5 + b9)
proof end;

Lemma9: for b1 being RealLinearSpace
for b2, b3, b4 being Element of b1
for b5, b6, b7, b8 being Real holds b5 * (((b6 * b2) + (b7 * b3)) + (b8 * b4)) = (((b5 * b6) * b2) + ((b5 * b7) * b3)) + ((b5 * b8) * b4)
proof end;

Lemma10: for b1 being RealLinearSpace
for b2, b3, b4, b5, b6 being Element of b1
for b7, b8, b9, b10, b11 being Real st b2 = (b7 * b3) + (b8 * b4) & b4 = ((b9 * b3) + (b10 * b5)) + (b11 * b6) holds
b2 = (((b7 + (b8 * b9)) * b3) + ((b8 * b10) * b5)) + ((b8 * b11) * b6)
proof end;

theorem Th4: :: ANPROJ_2:4
for b1 being RealLinearSpace
for b2, b3, b4, b5 being Element of b1 st ( for b6 being Element of b1 ex b7, b8, b9, b10 being Real st b6 = (((b7 * b2) + (b8 * b3)) + (b9 * b4)) + (b10 * b5) ) & ( for b6, b7, b8, b9 being Real st (((b6 * b2) + (b7 * b3)) + (b8 * b4)) + (b9 * b5) = 0. b1 holds
( b6 = 0 & b7 = 0 & b8 = 0 & b9 = 0 ) ) holds
for b6, b7 being Element of b1 st b6 is_Prop_Vect & b7 is_Prop_Vect holds
ex b8, b9 being Element of b1 st
( b6,b7,b9 are_LinDep & b3,b4,b8 are_LinDep & b2,b9,b8 are_LinDep & b8 is_Prop_Vect & b9 is_Prop_Vect )
proof end;

theorem Th5: :: ANPROJ_2:5
for b1 being RealLinearSpace
for b2, b3, b4, b5 being Element of b1 st ( for b6, b7, b8, b9 being Real st (((b6 * b2) + (b7 * b3)) + (b8 * b4)) + (b9 * b5) = 0. b1 holds
( b6 = 0 & b7 = 0 & b8 = 0 & b9 = 0 ) ) holds
for b6 being Element of b1 holds
( not b6 is_Prop_Vect or not b2,b3,b6 are_LinDep or not b4,b5,b6 are_LinDep )
proof end;

definition
let c1 be RealLinearSpace;
let c2, c3, c4 be Element of c1;
pred c2,c3,c4 are_Prop_Vect means :Def1: :: ANPROJ_2:def 1
( a2 is_Prop_Vect & a3 is_Prop_Vect & a4 is_Prop_Vect );
end;

:: deftheorem Def1 defines are_Prop_Vect ANPROJ_2:def 1 :
for b1 being RealLinearSpace
for b2, b3, b4 being Element of b1 holds
( b2,b3,b4 are_Prop_Vect iff ( b2 is_Prop_Vect & b3 is_Prop_Vect & b4 is_Prop_Vect ) );

definition
let c1 be RealLinearSpace;
let c2, c3, c4, c5, c6, c7 be Element of c1;
pred c2,c3,c4,c5,c6,c7 lie_on_a_triangle means :Def2: :: ANPROJ_2:def 2
( a2,a3,a7 are_LinDep & a2,a4,a6 are_LinDep & a3,a4,a5 are_LinDep );
end;

:: deftheorem Def2 defines lie_on_a_triangle ANPROJ_2:def 2 :
for b1 being RealLinearSpace
for b2, b3, b4, b5, b6, b7 being Element of b1 holds
( b2,b3,b4,b5,b6,b7 lie_on_a_triangle iff ( b2,b3,b7 are_LinDep & b2,b4,b6 are_LinDep & b3,b4,b5 are_LinDep ) );

definition
let c1 be RealLinearSpace;
let c2, c3, c4, c5, c6, c7, c8 be Element of c1;
pred c2,c3,c4,c5,c6,c7,c8 are_perspective means :Def3: :: ANPROJ_2:def 3
( a2,a3,a6 are_LinDep & a2,a4,a7 are_LinDep & a2,a5,a8 are_LinDep );
end;

:: deftheorem Def3 defines are_perspective ANPROJ_2:def 3 :
for b1 being RealLinearSpace
for b2, b3, b4, b5, b6, b7, b8 being Element of b1 holds
( b2,b3,b4,b5,b6,b7,b8 are_perspective iff ( b2,b3,b6 are_LinDep & b2,b4,b7 are_LinDep & b2,b5,b8 are_LinDep ) );

Lemma16: for b1 being RealLinearSpace
for b2 being Element of b1
for b3 being Real holds - (b3 * b2) = (- b3) * b2
proof end;

theorem Th6: :: ANPROJ_2:6
for b1 being RealLinearSpace
for b2, b3, b4 being Element of b1 st b2,b3,b4 are_LinDep & not are_Prop b2,b3 & not are_Prop b2,b4 & not are_Prop b3,b4 & b2,b3,b4 are_Prop_Vect holds
( ex b5, b6 being Real st
( b6 * b4 = b2 + (b5 * b3) & b5 <> 0 & b6 <> 0 ) & ex b5, b6 being Real st
( b4 = (b6 * b2) + (b5 * b3) & b6 <> 0 & b5 <> 0 ) )
proof end;

theorem Th7: :: ANPROJ_2:7
for b1 being RealLinearSpace
for b2, b3, b4 being Element of b1 st b2,b3,b4 are_LinDep & not are_Prop b2,b3 & b2,b3,b4 are_Prop_Vect holds
ex b5, b6 being Real st b4 = (b5 * b2) + (b6 * b3)
proof end;

Lemma19: for b1 being RealLinearSpace
for b2, b3 being Element of b1
for b4 being Real st b4 * b2 = b3 & b4 <> 0 holds
are_Prop b2,b3
proof end;

Lemma20: for b1 being RealLinearSpace
for b2, b3, b4, b5, b6 being Element of b1
for b7, b8 being Real st b2 = b3 + (b7 * b4) & b5 = b3 + (b8 * b6) & are_Prop b2,b5 & b7 <> 0 holds
b3,b4,b6 are_LinDep
proof end;

Lemma21: for b1 being RealLinearSpace
for b2, b3 being Element of b1
for b4 being Real st b4 * b2 = b3 & b4 <> 0 & b2 is_Prop_Vect holds
b3 is_Prop_Vect
proof end;

Lemma22: for b1 being RealLinearSpace
for b2, b3, b4, b5, b6, b7 being Element of b1
for b8, b9, b10, b11 being Real st b2 = (b10 * b3) + (b11 * b4) & b3 = b5 + (b8 * b6) & b4 = b5 + (b9 * b7) holds
b2 = (((b10 + b11) * b5) + ((b10 * b8) * b6)) + ((b11 * b9) * b7)
proof end;

Lemma23: for b1 being RealLinearSpace
for b2, b3, b4, b5 being Element of b1
for b6, b7 being Real st b2 = (b6 * b3) + (b7 * b4) holds
b2 = ((0 * b5) + (b6 * b3)) + (b7 * b4)
proof end;

Lemma24: for b1 being RealLinearSpace
for b2, b3 being Element of b1 holds (0 * b2) + (0 * b3) = 0. b1
proof end;

Lemma25: for b1 being RealLinearSpace
for b2, b3, b4 being Element of b1
for b5, b6, b7 being Real holds ((0 * b2) + ((b5 * b6) * b3)) + (((- b5) * b7) * b4) = b5 * ((b6 * b3) - (b7 * b4))
proof end;

theorem Th8: :: ANPROJ_2:8
for b1 being RealLinearSpace
for b2, b3, b4, b5, b6, b7, b8, b9, b10, b11 being Element of b1 st b2 is_Prop_Vect & b3,b4,b5 are_Prop_Vect & b6,b7,b8 are_Prop_Vect & b9,b10,b11 are_Prop_Vect & b2,b3,b4,b5,b6,b7,b8 are_perspective & not are_Prop b2,b6 & not are_Prop b2,b7 & not are_Prop b2,b8 & not are_Prop b3,b6 & not are_Prop b4,b7 & not are_Prop b5,b8 & not b2,b3,b4 are_LinDep & not b2,b3,b5 are_LinDep & not b2,b4,b5 are_LinDep & b3,b4,b5,b9,b10,b11 lie_on_a_triangle & b6,b7,b8,b9,b10,b11 lie_on_a_triangle holds
b9,b10,b11 are_LinDep
proof end;

definition
let c1 be RealLinearSpace;
let c2, c3, c4, c5, c6, c7, c8 be Element of c1;
pred c2,c3,c4,c5,c6,c7,c8 lie_on_an_angle means :Def4: :: ANPROJ_2:def 4
( not a2,a3,a6 are_LinDep & a2,a3,a4 are_LinDep & a2,a3,a5 are_LinDep & a2,a6,a7 are_LinDep & a2,a6,a8 are_LinDep );
end;

:: deftheorem Def4 defines lie_on_an_angle ANPROJ_2:def 4 :
for b1 being RealLinearSpace
for b2, b3, b4, b5, b6, b7, b8 being Element of b1 holds
( b2,b3,b4,b5,b6,b7,b8 lie_on_an_angle iff ( not b2,b3,b6 are_LinDep & b2,b3,b4 are_LinDep & b2,b3,b5 are_LinDep & b2,b6,b7 are_LinDep & b2,b6,b8 are_LinDep ) );

definition
let c1 be RealLinearSpace;
let c2, c3, c4, c5, c6, c7, c8 be Element of c1;
pred c2,c3,c4,c5,c6,c7,c8 are_half_mutually_not_Prop means :Def5: :: ANPROJ_2:def 5
( not are_Prop a2,a4 & not are_Prop a2,a5 & not are_Prop a2,a7 & not are_Prop a2,a8 & not are_Prop a3,a4 & not are_Prop a3,a5 & not are_Prop a6,a7 & not are_Prop a6,a8 & not are_Prop a4,a5 & not are_Prop a7,a8 );
end;

:: deftheorem Def5 defines are_half_mutually_not_Prop ANPROJ_2:def 5 :
for b1 being RealLinearSpace
for b2, b3, b4, b5, b6, b7, b8 being Element of b1 holds
( b2,b3,b4,b5,b6,b7,b8 are_half_mutually_not_Prop iff ( not are_Prop b2,b4 & not are_Prop b2,b5 & not are_Prop b2,b7 & not are_Prop b2,b8 & not are_Prop b3,b4 & not are_Prop b3,b5 & not are_Prop b6,b7 & not are_Prop b6,b8 & not are_Prop b4,b5 & not are_Prop b7,b8 ) );

Lemma29: for b1 being RealLinearSpace
for b2, b3 being Element of b1
for b4 being Real st b4 * b2 = b3 & b4 <> 0 holds
are_Prop b2,b3
proof end;

Lemma30: for b1 being RealLinearSpace
for b2, b3, b4 being Element of b1
for b5 being Real st not are_Prop b2,b3 & b4 = b5 * b3 & b5 <> 0 holds
not are_Prop b2,b4
proof end;

Lemma31: for b1 being RealLinearSpace
for b2, b3, b4, b5, b6 being Element of b1
for b7, b8, b9 being Real st b2 = (b7 * b3) + (b8 * b4) & b4 = b5 + (b9 * b6) holds
b2 = ((b8 * b5) + (b7 * b3)) + ((b8 * b9) * b6)
proof end;

Lemma32: for b1 being RealLinearSpace
for b2, b3, b4, b5, b6 being Element of b1
for b7, b8, b9 being Real st b2 = (b7 * b3) + (b8 * b4) & b4 = b5 + (b9 * b6) holds
b2 = ((b8 * b5) + ((b8 * b9) * b6)) + (b7 * b3)
proof end;

Lemma33: for b1 being RealLinearSpace
for b2, b3 being Element of b1
for b4 being Real st b4 * b2 = b3 & b4 <> 0 & b2 is_Prop_Vect holds
b3 is_Prop_Vect
proof end;

Lemma34: for b1 being RealLinearSpace
for b2, b3, b4, b5 being Element of b1
for b6, b7 being Real st not are_Prop b2,b3 & b4 = b6 * b3 & b6 <> 0 & b5 = b7 * b2 & b7 <> 0 holds
not are_Prop b5,b4
proof end;

Lemma35: for b1 being RealLinearSpace
for b2, b3, b4, b5, b6, b7 being Element of b1
for b8, b9, b10, b11 being Real st b2 = (b10 * b3) + (b11 * b4) & b3 = b5 + (b8 * b6) & b4 = b5 + (b9 * b7) holds
b2 = (((b10 + b11) * b5) + ((b10 * b8) * b6)) + ((b11 * b9) * b7)
proof end;

Lemma36: for b1, b2, b3 being Real st b1 <> b2 & b3 <> 0 holds
(b2 * b3) - (b1 * b3) <> 0
proof end;

Lemma37: for b1, b2, b3, b4, b5, b6, b7, b8 being Real st b5 + b7 = b6 + b8 & b5 * b1 = b6 * b2 & b7 * b3 = b8 * b4 & b1 <> b2 & b4 <> 0 holds
b5 = (((b2 * b3) - (b2 * b4)) * (((b2 * b4) - (b1 * b4)) " )) * b7
proof end;

Lemma38: for b1, b2, b3, b4 being Real st b1 <> 0 & b2 <> b3 & b4 <> 0 holds
b4 * (((b3 * b1) - (b2 * b1)) " ) <> 0
proof end;

Lemma39: for b1 being RealLinearSpace
for b2, b3, b4, b5 being Element of b1
for b6, b7, b8, b9, b10, b11 being Real st b10 = (((b6 * b7) - (b6 * b8)) * (((b6 * b8) - (b9 * b8)) " )) * b11 & b8 <> 0 & b9 <> b6 & b2 = (((b10 + b11) * b3) + ((b10 * b9) * b4)) + ((b11 * b7) * b5) holds
b2 = (b11 * (((b6 * b8) - (b9 * b8)) " )) * (((((b6 * b7) - (b9 * b8)) * b3) + (((b9 * b6) * (b7 - b8)) * b4)) + (((b8 * b7) * (b6 - b9)) * b5))
proof end;

Lemma40: for b1 being RealLinearSpace
for b2, b3, b4, b5, b6, b7 being Element of b1 holds ((b2 + b3) + b4) + ((b5 + b6) + b7) = ((b2 + b5) + (b3 + b6)) + (b4 + b7)
proof end;

Lemma41: for b1 being RealLinearSpace
for b2, b3, b4, b5, b6, b7 being Element of b1
for b8, b9, b10, b11, b12, b13 being Real st b2 = ((((b8 * b9) - (b10 * b11)) * b3) + (((b10 * b8) * (b9 - b11)) * b4)) + (((b11 * b9) * (b8 - b10)) * b5) & b6 = (b3 + (b8 * b4)) + (b9 * b5) & b7 = (b3 + (b10 * b4)) + (b11 * b5) & b12 + b13 = (b10 * b11) - (b8 * b9) & (b12 * b8) + (b13 * b10) = (b10 * b8) * (b11 - b9) & (b12 * b9) + (b13 * b11) = (b11 * b9) * (b10 - b8) holds
((1 * b2) + (b12 * b6)) + (b13 * b7) = 0. b1
proof end;

Lemma42: for b1 being RealLinearSpace
for b2, b3, b4, b5, b6 being Element of b1
for b7, b8, b9, b10, b11, b12 being Real st b2 = (b3 + (b7 * b4)) + (b8 * b5) & b6 = ((b11 * b3) + (b9 * b4)) + ((b11 * b8) * b5) & b11 = b12 & b9 = b12 * b7 & b11 * b8 = b10 holds
b6 = b11 * b2
proof end;

theorem Th9: :: ANPROJ_2:9
for b1 being RealLinearSpace
for b2, b3, b4, b5, b6, b7, b8, b9, b10, b11 being Element of b1 st b2 is_Prop_Vect & b3,b4,b5 are_Prop_Vect & b6,b7,b8 are_Prop_Vect & b9,b10,b11 are_Prop_Vect & b2,b3,b4,b5,b6,b7,b8 lie_on_an_angle & b2,b3,b4,b5,b6,b7,b8 are_half_mutually_not_Prop & b3,b7,b11 are_LinDep & b6,b4,b11 are_LinDep & b3,b8,b10 are_LinDep & b5,b6,b10 are_LinDep & b4,b8,b9 are_LinDep & b5,b7,b9 are_LinDep holds
b9,b10,b11 are_LinDep
proof end;

theorem Th10: :: ANPROJ_2:10
for b1 being non empty set
for b2, b3, b4 being Element of b1 ex b5, b6, b7 being Element of Funcs b1,REAL st
( ( for b8 being set st b8 in b1 holds
( ( b8 = b2 implies b5 . b8 = 1 ) & ( b8 <> b2 implies b5 . b8 = 0 ) ) ) & ( for b8 being set st b8 in b1 holds
( ( b8 = b3 implies b6 . b8 = 1 ) & ( b8 <> b3 implies b6 . b8 = 0 ) ) ) & ( for b8 being set st b8 in b1 holds
( ( b8 = b4 implies b7 . b8 = 1 ) & ( b8 <> b4 implies b7 . b8 = 0 ) ) ) )
proof end;

theorem Th11: :: ANPROJ_2:11
for b1 being non empty set
for b2, b3, b4 being Element of Funcs b1,REAL
for b5, b6, b7 being Element of b1 st b5 in b1 & b6 in b1 & b7 in b1 & b5 <> b6 & b5 <> b7 & b6 <> b7 & ( for b8 being set st b8 in b1 holds
( ( b8 = b5 implies b2 . b8 = 1 ) & ( b8 <> b5 implies b2 . b8 = 0 ) ) ) & ( for b8 being set st b8 in b1 holds
( ( b8 = b6 implies b3 . b8 = 1 ) & ( b8 <> b6 implies b3 . b8 = 0 ) ) ) & ( for b8 being set st b8 in b1 holds
( ( b8 = b7 implies b4 . b8 = 1 ) & ( b8 <> b7 implies b4 . b8 = 0 ) ) ) holds
for b8, b9, b10 being Real st (RealFuncAdd b1) . ((RealFuncAdd b1) . ((RealFuncExtMult b1) . [b8,b2]),((RealFuncExtMult b1) . [b9,b3])),((RealFuncExtMult b1) . [b10,b4]) = RealFuncZero b1 holds
( b8 = 0 & b9 = 0 & b10 = 0 )
proof end;

theorem Th12: :: ANPROJ_2:12
for b1 being non empty set
for b2, b3, b4 being Element of b1 st b2 in b1 & b3 in b1 & b4 in b1 & b2 <> b3 & b2 <> b4 & b3 <> b4 holds
ex b5, b6, b7 being Element of Funcs b1,REAL st
for b8, b9, b10 being Real st (RealFuncAdd b1) . ((RealFuncAdd b1) . ((RealFuncExtMult b1) . [b8,b5]),((RealFuncExtMult b1) . [b9,b6])),((RealFuncExtMult b1) . [b10,b7]) = RealFuncZero b1 holds
( b8 = 0 & b9 = 0 & b10 = 0 )
proof end;

theorem Th13: :: ANPROJ_2:13
for b1 being non empty set
for b2, b3, b4 being Element of Funcs b1,REAL
for b5, b6, b7 being Element of b1 st b1 = {b5,b6,b7} & b5 <> b6 & b5 <> b7 & b6 <> b7 & ( for b8 being set st b8 in b1 holds
( ( b8 = b5 implies b2 . b8 = 1 ) & ( b8 <> b5 implies b2 . b8 = 0 ) ) ) & ( for b8 being set st b8 in b1 holds
( ( b8 = b6 implies b3 . b8 = 1 ) & ( b8 <> b6 implies b3 . b8 = 0 ) ) ) & ( for b8 being set st b8 in b1 holds
( ( b8 = b7 implies b4 . b8 = 1 ) & ( b8 <> b7 implies b4 . b8 = 0 ) ) ) holds
for b8 being Element of Funcs b1,REAL ex b9, b10, b11 being Real st b8 = (RealFuncAdd b1) . ((RealFuncAdd b1) . ((RealFuncExtMult b1) . [b9,b2]),((RealFuncExtMult b1) . [b10,b3])),((RealFuncExtMult b1) . [b11,b4])
proof end;

theorem Th14: :: ANPROJ_2:14
for b1 being non empty set
for b2, b3, b4 being Element of b1 st b1 = {b2,b3,b4} & b2 <> b3 & b2 <> b4 & b3 <> b4 holds
ex b5, b6, b7 being Element of Funcs b1,REAL st
for b8 being Element of Funcs b1,REAL ex b9, b10, b11 being Real st b8 = (RealFuncAdd b1) . ((RealFuncAdd b1) . ((RealFuncExtMult b1) . [b9,b5]),((RealFuncExtMult b1) . [b10,b6])),((RealFuncExtMult b1) . [b11,b7])
proof end;

theorem Th15: :: ANPROJ_2:15
for b1 being non empty set
for b2, b3, b4 being Element of b1 st b1 = {b2,b3,b4} & b2 <> b3 & b2 <> b4 & b3 <> b4 holds
ex b5, b6, b7 being Element of Funcs b1,REAL st
( ( for b8, b9, b10 being Real st (RealFuncAdd b1) . ((RealFuncAdd b1) . ((RealFuncExtMult b1) . [b8,b5]),((RealFuncExtMult b1) . [b9,b6])),((RealFuncExtMult b1) . [b10,b7]) = RealFuncZero b1 holds
( b8 = 0 & b9 = 0 & b10 = 0 ) ) & ( for b8 being Element of Funcs b1,REAL ex b9, b10, b11 being Real st b8 = (RealFuncAdd b1) . ((RealFuncAdd b1) . ((RealFuncExtMult b1) . [b9,b5]),((RealFuncExtMult b1) . [b10,b6])),((RealFuncExtMult b1) . [b11,b7]) ) )
proof end;

Lemma48: ex b1 being non empty set ex b2, b3, b4 being Element of b1 st
( b1 = {b2,b3,b4} & b2 <> b3 & b2 <> b4 & b3 <> b4 )
proof end;

theorem Th16: :: ANPROJ_2:16
ex b1 being non trivial RealLinearSpaceex b2, b3, b4 being Element of b1 st
( ( for b5, b6, b7 being Real st ((b5 * b2) + (b6 * b3)) + (b7 * b4) = 0. b1 holds
( b5 = 0 & b6 = 0 & b7 = 0 ) ) & ( for b5 being Element of b1 ex b6, b7, b8 being Real st b5 = ((b6 * b2) + (b7 * b3)) + (b8 * b4) ) )
proof end;

theorem Th17: :: ANPROJ_2:17
for b1 being non empty set
for b2, b3, b4, b5 being Element of b1 ex b6, b7, b8, b9 being Element of Funcs b1,REAL st
( ( for b10 being set st b10 in b1 holds
( ( b10 = b2 implies b6 . b10 = 1 ) & ( b10 <> b2 implies b6 . b10 = 0 ) ) ) & ( for b10 being set st b10 in b1 holds
( ( b10 = b3 implies b7 . b10 = 1 ) & ( b10 <> b3 implies b7 . b10 = 0 ) ) ) & ( for b10 being set st b10 in b1 holds
( ( b10 = b4 implies b8 . b10 = 1 ) & ( b10 <> b4 implies b8 . b10 = 0 ) ) ) & ( for b10 being set st b10 in b1 holds
( ( b10 = b5 implies b9 . b10 = 1 ) & ( b10 <> b5 implies b9 . b10 = 0 ) ) ) )
proof end;

theorem Th18: :: ANPROJ_2:18
for b1 being non empty set
for b2, b3, b4, b5 being Element of Funcs b1,REAL
for b6, b7, b8, b9 being Element of b1 st b6 in b1 & b7 in b1 & b8 in b1 & b9 in b1 & b6 <> b7 & b6 <> b8 & b6 <> b9 & b7 <> b8 & b7 <> b9 & b8 <> b9 & ( for b10 being set st b10 in b1 holds
( ( b10 = b6 implies b2 . b10 = 1 ) & ( b10 <> b6 implies b2 . b10 = 0 ) ) ) & ( for b10 being set st b10 in b1 holds
( ( b10 = b7 implies b3 . b10 = 1 ) & ( b10 <> b7 implies b3 . b10 = 0 ) ) ) & ( for b10 being set st b10 in b1 holds
( ( b10 = b8 implies b4 . b10 = 1 ) & ( b10 <> b8 implies b4 . b10 = 0 ) ) ) & ( for b10 being set st b10 in b1 holds
( ( b10 = b9 implies b5 . b10 = 1 ) & ( b10 <> b9 implies b5 . b10 = 0 ) ) ) holds
for b10, b11, b12, b13 being Real st (RealFuncAdd b1) . ((RealFuncAdd b1) . ((RealFuncAdd b1) . ((RealFuncExtMult b1) . [b10,b2]),((RealFuncExtMult b1) . [b11,b3])),((RealFuncExtMult b1) . [b12,b4])),((RealFuncExtMult b1) . [b13,b5]) = RealFuncZero b1 holds
( b10 = 0 & b11 = 0 & b12 = 0 & b13 = 0 )
proof end;

theorem Th19: :: ANPROJ_2:19
for b1 being non empty set
for b2, b3, b4, b5 being Element of b1 st b2 in b1 & b3 in b1 & b4 in b1 & b5 in b1 & b2 <> b3 & b2 <> b4 & b2 <> b5 & b3 <> b4 & b3 <> b5 & b4 <> b5 holds
ex b6, b7, b8, b9 being Element of Funcs b1,REAL st
for b10, b11, b12, b13 being Real st (RealFuncAdd b1) . ((RealFuncAdd b1) . ((RealFuncAdd b1) . ((RealFuncExtMult b1) . [b10,b6]),((RealFuncExtMult b1) . [b11,b7])),((RealFuncExtMult b1) . [b12,b8])),((RealFuncExtMult b1) . [b13,b9]) = RealFuncZero b1 holds
( b10 = 0 & b11 = 0 & b12 = 0 & b13 = 0 )
proof end;

theorem Th20: :: ANPROJ_2:20
for b1 being non empty set
for b2, b3, b4, b5 being Element of Funcs b1,REAL
for b6, b7, b8, b9 being Element of b1 st b1 = {b6,b7,b8,b9} & b6 <> b7 & b6 <> b8 & b6 <> b9 & b7 <> b8 & b7 <> b9 & b8 <> b9 & ( for b10 being set st b10 in b1 holds
( ( b10 = b6 implies b2 . b10 = 1 ) & ( b10 <> b6 implies b2 . b10 = 0 ) ) ) & ( for b10 being set st b10 in b1 holds
( ( b10 = b7 implies b3 . b10 = 1 ) & ( b10 <> b7 implies b3 . b10 = 0 ) ) ) & ( for b10 being set st b10 in b1 holds
( ( b10 = b8 implies b4 . b10 = 1 ) & ( b10 <> b8 implies b4 . b10 = 0 ) ) ) & ( for b10 being set st b10 in b1 holds
( ( b10 = b9 implies b5 . b10 = 1 ) & ( b10 <> b9 implies b5 . b10 = 0 ) ) ) holds
for b10 being Element of Funcs b1,REAL ex b11, b12, b13, b14 being Real st b10 = (RealFuncAdd b1) . ((RealFuncAdd b1) . ((RealFuncAdd b1) . ((RealFuncExtMult b1) . [b11,b2]),((RealFuncExtMult b1) . [b12,b3])),((RealFuncExtMult b1) . [b13,b4])),((RealFuncExtMult b1) . [b14,b5])
proof end;

theorem Th21: :: ANPROJ_2:21
for b1 being non empty set
for b2, b3, b4, b5 being Element of b1 st b1 = {b2,b3,b4,b5} & b2 <> b3 & b2 <> b4 & b2 <> b5 & b3 <> b4 & b3 <> b5 & b4 <> b5 holds
ex b6, b7, b8, b9 being Element of Funcs b1,REAL st
for b10 being Element of Funcs b1,REAL ex b11, b12, b13, b14 being Real st b10 = (RealFuncAdd b1) . ((RealFuncAdd b1) . ((RealFuncAdd b1) . ((RealFuncExtMult b1) . [b11,b6]),((RealFuncExtMult b1) . [b12,b7])),((RealFuncExtMult b1) . [b13,b8])),((RealFuncExtMult b1) . [b14,b9])
proof end;

theorem Th22: :: ANPROJ_2:22
for b1 being non empty set
for b2, b3, b4, b5 being Element of b1 st b1 = {b2,b3,b4,b5} & b2 <> b3 & b2 <> b4 & b2 <> b5 & b3 <> b4 & b3 <> b5 & b4 <> b5 holds
ex b6, b7, b8, b9 being Element of Funcs b1,REAL st
( ( for b10, b11, b12, b13 being Real st (RealFuncAdd b1) . ((RealFuncAdd b1) . ((RealFuncAdd b1) . ((RealFuncExtMult b1) . [b10,b6]),((RealFuncExtMult b1) . [b11,b7])),((RealFuncExtMult b1) . [b12,b8])),((RealFuncExtMult b1) . [b13,b9]) = RealFuncZero b1 holds
( b10 = 0 & b11 = 0 & b12 = 0 & b13 = 0 ) ) & ( for b10 being Element of Funcs b1,REAL ex b11, b12, b13, b14 being Real st b10 = (RealFuncAdd b1) . ((RealFuncAdd b1) . ((RealFuncAdd b1) . ((RealFuncExtMult b1) . [b11,b6]),((RealFuncExtMult b1) . [b12,b7])),((RealFuncExtMult b1) . [b13,b8])),((RealFuncExtMult b1) . [b14,b9]) ) )
proof end;

Lemma54: ex b1 being non empty set ex b2, b3, b4, b5 being Element of b1 st
( b1 = {b2,b3,b4,b5} & b2 <> b3 & b2 <> b4 & b2 <> b5 & b3 <> b4 & b3 <> b5 & b4 <> b5 )
proof end;

theorem Th23: :: ANPROJ_2:23
ex b1 being non trivial RealLinearSpaceex b2, b3, b4, b5 being Element of b1 st
( ( for b6, b7, b8, b9 being Real st (((b6 * b2) + (b7 * b3)) + (b8 * b4)) + (b9 * b5) = 0. b1 holds
( b6 = 0 & b7 = 0 & b8 = 0 & b9 = 0 ) ) & ( for b6 being Element of b1 ex b7, b8, b9, b10 being Real st b6 = (((b7 * b2) + (b8 * b3)) + (b9 * b4)) + (b10 * b5) ) )
proof end;

definition
let c1 be RealLinearSpace;
attr a1 is up-3-dimensional means :Def6: :: ANPROJ_2:def 6
ex b1, b2, b3 being Element of a1 st
for b4, b5, b6 being Real st ((b4 * b1) + (b5 * b2)) + (b6 * b3) = 0. a1 holds
( b4 = 0 & b5 = 0 & b6 = 0 );
end;

:: deftheorem Def6 defines up-3-dimensional ANPROJ_2:def 6 :
for b1 being RealLinearSpace holds
( b1 is up-3-dimensional iff ex b2, b3, b4 being Element of b1 st
for b5, b6, b7 being Real st ((b5 * b2) + (b6 * b3)) + (b7 * b4) = 0. b1 holds
( b5 = 0 & b6 = 0 & b7 = 0 ) );

registration
cluster up-3-dimensional RLSStruct ;
existence
ex b1 being RealLinearSpace st b1 is up-3-dimensional
proof end;
end;

registration
cluster up-3-dimensional -> non trivial RLSStruct ;
coherence
for b1 being RealLinearSpace st b1 is up-3-dimensional holds
not b1 is trivial
proof end;
end;

definition
let c1 be non empty CollStr ;
redefine attr a1 is reflexive means :Def7: :: ANPROJ_2:def 7
for b1, b2, b3 being Element of a1 holds
( b1,b2,b1 is_collinear & b1,b1,b2 is_collinear & b1,b2,b2 is_collinear );
compatibility
( c1 is reflexive iff for b1, b2, b3 being Element of c1 holds
( b1,b2,b1 is_collinear & b1,b1,b2 is_collinear & b1,b2,b2 is_collinear ) )
proof end;
redefine attr a1 is transitive means :Def8: :: ANPROJ_2:def 8
for b1, b2, b3, b4, b5 being Element of a1 st b1 <> b2 & b1,b2,b3 is_collinear & b1,b2,b4 is_collinear & b1,b2,b5 is_collinear holds
b3,b4,b5 is_collinear ;
compatibility
( c1 is transitive iff for b1, b2, b3, b4, b5 being Element of c1 st b1 <> b2 & b1,b2,b3 is_collinear & b1,b2,b4 is_collinear & b1,b2,b5 is_collinear holds
b3,b4,b5 is_collinear )
proof end;
end;

:: deftheorem Def7 defines reflexive ANPROJ_2:def 7 :
for b1 being non empty CollStr holds
( b1 is reflexive iff for b2, b3, b4 being Element of b1 holds
( b2,b3,b2 is_collinear & b2,b2,b3 is_collinear & b2,b3,b3 is_collinear ) );

:: deftheorem Def8 defines transitive ANPROJ_2:def 8 :
for b1 being non empty CollStr holds
( b1 is transitive iff for b2, b3, b4, b5, b6 being Element of b1 st b2 <> b3 & b2,b3,b4 is_collinear & b2,b3,b5 is_collinear & b2,b3,b6 is_collinear holds
b4,b5,b6 is_collinear );

definition
let c1 be non empty CollStr ;
attr a1 is Vebleian means :Def9: :: ANPROJ_2:def 9
for b1, b2, b3, b4, b5 being Element of a1 st b1,b2,b4 is_collinear & b2,b3,b5 is_collinear holds
ex b6 being Element of a1 st
( b1,b3,b6 is_collinear & b4,b5,b6 is_collinear );
attr a1 is at_least_3rank means :Def10: :: ANPROJ_2:def 10
for b1, b2 being Element of a1 ex b3 being Element of a1 st
( b1 <> b3 & b2 <> b3 & b1,b2,b3 is_collinear );
end;

:: deftheorem Def9 defines Vebleian ANPROJ_2:def 9 :
for b1 being non empty CollStr holds
( b1 is Vebleian iff for b2, b3, b4, b5, b6 being Element of b1 st b2,b3,b5 is_collinear & b3,b4,b6 is_collinear holds
ex b7 being Element of b1 st
( b2,b4,b7 is_collinear & b5,b6,b7 is_collinear ) );

:: deftheorem Def10 defines at_least_3rank ANPROJ_2:def 10 :
for b1 being non empty CollStr holds
( b1 is at_least_3rank iff for b2, b3 being Element of b1 ex b4 being Element of b1 st
( b2 <> b4 & b3 <> b4 & b2,b3,b4 is_collinear ) );

theorem Th24: :: ANPROJ_2:24
for b1 being non trivial RealLinearSpace
for b2, b3, b4 being Element of (ProjectiveSpace b1) holds
( b2,b3,b4 is_collinear iff ex b5, b6, b7 being Element of b1 st
( b2 = Dir b5 & b3 = Dir b6 & b4 = Dir b7 & b5 is_Prop_Vect & b6 is_Prop_Vect & b7 is_Prop_Vect & b5,b6,b7 are_LinDep ) )
proof end;

Lemma62: for b1 being non trivial RealLinearSpace holds ProjectiveSpace b1 is reflexive
proof end;

Lemma63: for b1 being non trivial RealLinearSpace holds ProjectiveSpace b1 is transitive
proof end;

registration
let c1 be non trivial RealLinearSpace;
cluster ProjectiveSpace a1 -> reflexive transitive ;
coherence
( ProjectiveSpace c1 is reflexive & ProjectiveSpace c1 is transitive )
by Lemma62, Lemma63;
end;

theorem Th25: :: ANPROJ_2:25
for b1 being non trivial RealLinearSpace
for b2, b3, b4 being Element of (ProjectiveSpace b1) st b2,b3,b4 is_collinear holds
( b2,b4,b3 is_collinear & b3,b2,b4 is_collinear & b4,b3,b2 is_collinear & b4,b2,b3 is_collinear & b3,b4,b2 is_collinear )
proof end;

Lemma65: for b1 being non trivial RealLinearSpace
for b2, b3, b4, b5, b6 being Element of (ProjectiveSpace b1) st b2,b3,b4 is_collinear & b2,b3,b5 is_collinear & b3,b4,b6 is_collinear holds
ex b7 being Element of (ProjectiveSpace b1) st
( b2,b4,b7 is_collinear & b5,b6,b7 is_collinear )
proof end;

Lemma66: for b1 being non trivial RealLinearSpace
for b2, b3, b4, b5, b6 being Element of (ProjectiveSpace b1) st not b2,b3,b4 is_collinear & b2,b3,b5 is_collinear & b3,b4,b6 is_collinear holds
ex b7 being Element of (ProjectiveSpace b1) st
( b2,b4,b7 is_collinear & b5,b6,b7 is_collinear )
proof end;

Lemma67: for b1 being non trivial RealLinearSpace holds ProjectiveSpace b1 is Vebleian
proof end;

registration
let c1 be non trivial RealLinearSpace;
cluster ProjectiveSpace a1 -> reflexive transitive Vebleian ;
coherence
ProjectiveSpace c1 is Vebleian
by Lemma67;
end;

Lemma68: for b1 being non trivial RealLinearSpace st b1 is up-3-dimensional holds
ProjectiveSpace b1 is proper
proof end;

registration
let c1 be up-3-dimensional RealLinearSpace;
cluster ProjectiveSpace a1 -> reflexive transitive proper Vebleian ;
coherence
ProjectiveSpace c1 is proper
by Lemma68;
end;

theorem Th26: :: ANPROJ_2:26
for b1 being non trivial RealLinearSpace st ex b2, b3 being Element of b1 st
for b4, b5 being Real st (b4 * b2) + (b5 * b3) = 0. b1 holds
( b4 = 0 & b5 = 0 ) holds
ProjectiveSpace b1 is at_least_3rank
proof end;

Lemma70: for b1 being non trivial RealLinearSpace st b1 is up-3-dimensional holds
ProjectiveSpace b1 is at_least_3rank
proof end;

registration
let c1 be up-3-dimensional RealLinearSpace;
cluster ProjectiveSpace a1 -> reflexive transitive proper Vebleian at_least_3rank ;
coherence
ProjectiveSpace c1 is at_least_3rank
by Lemma70;
end;

registration
cluster non empty reflexive transitive proper Vebleian at_least_3rank CollStr ;
existence
ex b1 being non empty CollStr st
( b1 is transitive & b1 is reflexive & b1 is proper & b1 is Vebleian & b1 is at_least_3rank )
proof end;
end;

definition
mode CollProjectiveSpace is non empty reflexive transitive proper Vebleian at_least_3rank CollStr ;
end;

Lemma71: for b1 being up-3-dimensional RealLinearSpace holds ProjectiveSpace b1 is CollProjectiveSpace
;

definition
let c1 be CollProjectiveSpace;
attr a1 is Fanoian means :Def11: :: ANPROJ_2:def 11
for b1, b2, b3, b4, b5, b6, b7 being Element of a1 st b1,b2,b3 is_collinear & b4,b5,b3 is_collinear & b1,b4,b6 is_collinear & b2,b5,b6 is_collinear & b1,b5,b7 is_collinear & b2,b4,b7 is_collinear & b6,b3,b7 is_collinear & not b1,b2,b5 is_collinear & not b1,b2,b4 is_collinear & not b1,b4,b5 is_collinear holds
b2,b4,b5 is_collinear ;
attr a1 is Desarguesian means :: ANPROJ_2:def 12
for b1, b2, b3, b4, b5, b6, b7, b8, b9, b10 being Element of a1 st b1 <> b5 & b2 <> b5 & b1 <> b6 & b3 <> b6 & b1 <> b7 & b4 <> b7 & not b1,b2,b3 is_collinear & not b1,b2,b4 is_collinear & not b1,b3,b4 is_collinear & b2,b3,b10 is_collinear & b5,b6,b10 is_collinear & b3,b4,b8 is_collinear & b6,b7,b8 is_collinear & b2,b4,b9 is_collinear & b5,b7,b9 is_collinear & b1,b2,b5 is_collinear & b1,b3,b6 is_collinear & b1,b4,b7 is_collinear holds
b8,b9,b10 is_collinear ;
attr a1 is Pappian means :: ANPROJ_2:def 13
for b1, b2, b3, b4, b5, b6, b7, b8, b9, b10 being Element of a1 st b1 <> b3 & b1 <> b4 & b3 <> b4 & b2 <> b3 & b2 <> b4 & b1 <> b6 & b1 <> b7 & b6 <> b7 & b5 <> b6 & b5 <> b7 & not b1,b2,b5 is_collinear & b1,b2,b3 is_collinear & b1,b2,b4 is_collinear & b1,b5,b6 is_collinear & b1,b5,b7 is_collinear & b2,b6,b10 is_collinear & b5,b3,b10 is_collinear & b2,b7,b9 is_collinear & b4,b5,b9 is_collinear & b3,b7,b8 is_collinear & b4,b6,b8 is_collinear holds
b8,b9,b10 is_collinear ;
end;

:: deftheorem Def11 defines Fanoian ANPROJ_2:def 11 :
for b1 being CollProjectiveSpace holds
( b1 is Fanoian iff for b2, b3, b4, b5, b6, b7, b8 being Element of b1 st b2,b3,b4 is_collinear & b5,b6,b4 is_collinear & b2,b5,b7 is_collinear & b3,b6,b7 is_collinear & b2,b6,b8 is_collinear & b3,b5,b8 is_collinear & b7,b4,b8 is_collinear & not b2,b3,b6 is_collinear & not b2,b3,b5 is_collinear & not b2,b5,b6 is_collinear holds
b3,b5,b6 is_collinear );

:: deftheorem Def12 defines Desarguesian ANPROJ_2:def 12 :
for b1 being CollProjectiveSpace holds
( b1 is Desarguesian iff for b2, b3, b4, b5, b6, b7, b8, b9, b10, b11 being Element of b1 st b2 <> b6 & b3 <> b6 & b2 <> b7 & b4 <> b7 & b2 <> b8 & b5 <> b8 & not b2,b3,b4 is_collinear & not b2,b3,b5 is_collinear & not b2,b4,b5 is_collinear & b3,b4,b11 is_collinear & b6,b7,b11 is_collinear & b4,b5,b9 is_collinear & b7,b8,b9 is_collinear & b3,b5,b10 is_collinear & b6,b8,b10 is_collinear & b2,b3,b6 is_collinear & b2,b4,b7 is_collinear & b2,b5,b8 is_collinear holds
b9,b10,b11 is_collinear );

:: deftheorem Def13 defines Pappian ANPROJ_2:def 13 :
for b1 being CollProjectiveSpace holds
( b1 is Pappian iff for b2, b3, b4, b5, b6, b7, b8, b9, b10, b11 being Element of b1 st b2 <> b4 & b2 <> b5 & b4 <> b5 & b3 <> b4 & b3 <> b5 & b2 <> b7 & b2 <> b8 & b7 <> b8 & b6 <> b7 & b6 <> b8 & not b2,b3,b6 is_collinear & b2,b3,b4 is_collinear & b2,b3,b5 is_collinear & b2,b6,b7 is_collinear & b2,b6,b8 is_collinear & b3,b7,b11 is_collinear & b6,b4,b11 is_collinear & b3,b8,b10 is_collinear & b5,b6,b10 is_collinear & b4,b8,b9 is_collinear & b5,b7,b9 is_collinear holds
b9,b10,b11 is_collinear );

definition
let c1 be CollProjectiveSpace;
attr a1 is 2-dimensional means :Def14: :: ANPROJ_2:def 14
for b1, b2, b3, b4 being Element of a1 ex b5 being Element of a1 st
( b1,b2,b5 is_collinear & b3,b4,b5 is_collinear );
end;

:: deftheorem Def14 defines 2-dimensional ANPROJ_2:def 14 :
for b1 being CollProjectiveSpace holds
( b1 is 2-dimensional iff for b2, b3, b4, b5 being Element of b1 ex b6 being Element of b1 st
( b2,b3,b6 is_collinear & b4,b5,b6 is_collinear ) );

notation
let c1 be CollProjectiveSpace;
antonym up-3-dimensional c1 for 2-dimensional c1;
end;

definition
let c1 be CollProjectiveSpace;
attr a1 is at_most-3-dimensional means :Def15: :: ANPROJ_2:def 15
for b1, b2, b3, b4, b5 being Element of a1 ex b6, b7 being Element of a1 st
( b1,b3,b6 is_collinear & b2,b4,b7 is_collinear & b5,b6,b7 is_collinear );
end;

:: deftheorem Def15 defines at_most-3-dimensional ANPROJ_2:def 15 :
for b1 being CollProjectiveSpace holds
( b1 is at_most-3-dimensional iff for b2, b3, b4, b5, b6 being Element of b1 ex b7, b8 being Element of b1 st
( b2,b4,b7 is_collinear & b3,b5,b8 is_collinear & b6,b7,b8 is_collinear ) );

theorem Th27: :: ANPROJ_2:27
canceled;

theorem Th28: :: ANPROJ_2:28
for b1 being non trivial RealLinearSpace
for b2, b3, b4, b5, b6, b7, b8 being Element of (ProjectiveSpace b1) st b2,b3,b4 is_collinear & b5,b6,b4 is_collinear & b2,b5,b7 is_collinear & b3,b6,b7 is_collinear & b2,b6,b8 is_collinear & b3,b5,b8 is_collinear & b7,b4,b8 is_collinear & not b2,b3,b6 is_collinear & not b2,b3,b5 is_collinear & not b2,b5,b6 is_collinear holds
b3,b5,b6 is_collinear
proof end;

Lemma76: for b1 being up-3-dimensional RealLinearSpace holds ProjectiveSpace b1 is Fanoian
proof end;

Lemma77: for b1 being up-3-dimensional RealLinearSpace holds ProjectiveSpace b1 is Desarguesian
proof end;

Lemma78: for b1 being up-3-dimensional RealLinearSpace holds ProjectiveSpace b1 is Pappian
proof end;

registration
let c1 be up-3-dimensional RealLinearSpace;
cluster ProjectiveSpace a1 -> reflexive transitive proper Vebleian at_least_3rank Fanoian Desarguesian Pappian ;
coherence
( ProjectiveSpace c1 is Fanoian & ProjectiveSpace c1 is Desarguesian & ProjectiveSpace c1 is Pappian )
by Lemma76, Lemma77, Lemma78;
end;

theorem Th29: :: ANPROJ_2:29
for b1 being non trivial RealLinearSpace st ex b2, b3, b4 being Element of b1 st
( ( for b5, b6, b7 being Real st ((b5 * b2) + (b6 * b3)) + (b7 * b4) = 0. b1 holds
( b5 = 0 & b6 = 0 & b7 = 0 ) ) & ( for b5 being Element of b1 ex b6, b7, b8 being Real st b5 = ((b6 * b2) + (b7 * b3)) + (b8 * b4) ) ) holds
ex b2, b3 being Element of (ProjectiveSpace b1) st
( b2 <> b3 & ( for b4, b5 being Element of (ProjectiveSpace b1) ex b6 being Element of (ProjectiveSpace b1) st
( b2,b3,b6 is_collinear & b4,b5,b6 is_collinear ) ) )
proof end;

theorem Th30: :: ANPROJ_2:30
for b1 being non trivial RealLinearSpace st ex b2, b3 being Element of (ProjectiveSpace b1) st
( b2 <> b3 & ( for b4, b5 being Element of (ProjectiveSpace b1) ex b6 being Element of (ProjectiveSpace b1) st
( b2,b3,b6 is_collinear & b4,b5,b6 is_collinear ) ) ) holds
for b2, b3, b4, b5 being Element of (ProjectiveSpace b1) ex b6 being Element of (ProjectiveSpace b1) st
( b2,b3,b6 is_collinear & b4,b5,b6 is_collinear )
proof end;

theorem Th31: :: ANPROJ_2:31
for b1 being non trivial RealLinearSpace st ex b2, b3, b4 being Element of b1 st
( ( for b5, b6, b7 being Real st ((b5 * b2) + (b6 * b3)) + (b7 * b4) = 0. b1 holds
( b5 = 0 & b6 = 0 & b7 = 0 ) ) & ( for b5 being Element of b1 ex b6, b7, b8 being Real st b5 = ((b6 * b2) + (b7 * b3)) + (b8 * b4) ) ) holds
ex b2 being CollProjectiveSpace st
( b2 = ProjectiveSpace b1 & b2 is 2-dimensional )
proof end;

Lemma82: for b1 being non trivial RealLinearSpace st ex b2, b3, b4, b5 being Element of b1 st
for b6, b7, b8, b9 being Real st (((b6 * b2) + (b7 * b3)) + (b8 * b4)) + (b9 * b5) = 0. b1 holds
( b6 = 0 & b7 = 0 & b8 = 0 & b9 = 0 ) holds
b1 is up-3-dimensional
proof end;

Lemma83: for b1 being non trivial RealLinearSpace st ex b2, b3, b4, b5 being Element of b1 st
for b6, b7, b8, b9 being Real st (((b6 * b2) + (b7 * b3)) + (b8 * b4)) + (b9 * b5) = 0. b1 holds
( b6 = 0 & b7 = 0 & b8 = 0 & b9 = 0 ) holds
( ProjectiveSpace b1 is proper & ProjectiveSpace b1 is at_least_3rank )
proof end;

theorem Th32: :: ANPROJ_2:32
for b1 being non trivial RealLinearSpace st ex b2, b3, b4, b5 being Element of b1 st
( ( for b6 being Element of b1 ex b7, b8, b9, b10 being Real st b6 = (((b7 * b2) + (b8 * b3)) + (b9 * b4)) + (b10 * b5) ) & ( for b6, b7, b8, b9 being Real st (((b6 * b2) + (b7 * b3)) + (b8 * b4)) + (b9 * b5) = 0. b1 holds
( b6 = 0 & b7 = 0 & b8 = 0 & b9 = 0 ) ) ) holds
ex b2, b3, b4 being Element of (ProjectiveSpace b1) st
( not b2,b3,b4 is_collinear & ( for b5, b6 being Element of (ProjectiveSpace b1) ex b7, b8 being Element of (ProjectiveSpace b1) st
( b5,b6,b8 is_collinear & b3,b4,b7 is_collinear & b2,b8,b7 is_collinear ) ) )
proof end;

Lemma85: for b1 being non trivial RealLinearSpace
for b2, b3, b4, b5, b6, b7 being Element of (ProjectiveSpace b1) st not b7,b4,b3 is_collinear & b4,b3,b2 is_collinear & b7,b5,b4 is_collinear & b7,b6,b3 is_collinear holds
ex b8 being Element of (ProjectiveSpace b1) st
( b5,b6,b8 is_collinear & b7,b2,b8 is_collinear )
proof end;

theorem Th33: :: ANPROJ_2:33
for b1 being non trivial RealLinearSpace st ProjectiveSpace b1 is proper & ProjectiveSpace b1 is at_least_3rank & ex b2, b3, b4 being Element of (ProjectiveSpace b1) st
( not b2,b3,b4 is_collinear & ( for b5, b6 being Element of (ProjectiveSpace b1) ex b7, b8 being Element of (ProjectiveSpace b1) st
( b5,b6,b8 is_collinear & b3,b4,b7 is_collinear & b2,b8,b7 is_collinear ) ) ) holds
ex b2 being CollProjectiveSpace st
( b2 = ProjectiveSpace b1 & b2 is at_most-3-dimensional )
proof end;

theorem Th34: :: ANPROJ_2:34
for b1 being non trivial RealLinearSpace st ex b2, b3, b4, b5 being Element of b1 st
( ( for b6 being Element of b1 ex b7, b8, b9, b10 being Real st b6 = (((b7 * b2) + (b8 * b3)) + (b9 * b4)) + (b10 * b5) ) & ( for b6, b7, b8, b9 being Real st (((b6 * b2) + (b7 * b3)) + (b8 * b4)) + (b9 * b5) = 0. b1 holds
( b6 = 0 & b7 = 0 & b8 = 0 & b9 = 0 ) ) ) holds
ex b2 being CollProjectiveSpace st
( b2 = ProjectiveSpace b1 & b2 is at_most-3-dimensional )
proof end;

theorem Th35: :: ANPROJ_2:35
for b1 being non trivial RealLinearSpace st ex b2, b3, b4, b5 being Element of b1 st
for b6, b7, b8, b9 being Real st (((b6 * b2) + (b7 * b3)) + (b8 * b4)) + (b9 * b5) = 0. b1 holds
( b6 = 0 & b7 = 0 & b8 = 0 & b9 = 0 ) holds
ex b2 being CollProjectiveSpace st
( b2 = ProjectiveSpace b1 & not b2 is 2-dimensional )
proof end;

theorem Th36: :: ANPROJ_2:36
for b1 being non trivial RealLinearSpace st ex b2, b3, b4, b5 being Element of b1 st
( ( for b6 being Element of b1 ex b7, b8, b9, b10 being Real st b6 = (((b7 * b2) + (b8 * b3)) + (b9 * b4)) + (b10 * b5) ) & ( for b6, b7, b8, b9 being Real st (((b6 * b2) + (b7 * b3)) + (b8 * b4)) + (b9 * b5) = 0. b1 holds
( b6 = 0 & b7 = 0 & b8 = 0 & b9 = 0 ) ) ) holds
ex b2 being CollProjectiveSpace st
( b2 = ProjectiveSpace b1 & not b2 is 2-dimensional & b2 is at_most-3-dimensional )
proof end;

registration
cluster strict Fanoian Desarguesian Pappian 2-dimensional CollStr ;
existence
ex b1 being CollProjectiveSpace st
( b1 is strict & b1 is Fanoian & b1 is Desarguesian & b1 is Pappian & b1 is 2-dimensional )
proof end;
cluster strict Fanoian Desarguesian Pappian up-3-dimensional at_most-3-dimensional CollStr ;
existence
ex b1 being CollProjectiveSpace st
( b1 is strict & b1 is Fanoian & b1 is Desarguesian & b1 is Pappian & b1 is at_most-3-dimensional & not b1 is 2-dimensional )
proof end;
end;

definition
mode CollProjectivePlane is 2-dimensional CollProjectiveSpace;
end;

theorem Th37: :: ANPROJ_2:37
for b1 being non empty CollStr holds
( b1 is 2-dimensional CollProjectiveSpace iff ( b1 is proper at_least_3rank CollSp & ( for b2, b3, b4, b5 being Element of b1 ex b6 being Element of b1 st
( b2,b3,b6 is_collinear & b4,b5,b6 is_collinear ) ) ) )
proof end;