:: AFPROJ semantic presentation

theorem E1: :: AFPROJ:1
for b1 being AffinSpace
for b2 being Subset of b1 holds
( ( b1 is AffinPlane & b2 = the carrier of b1 ) implies ( b2 is is_plane ) )
proof
let c1 be AffinSpace;
let c2 be Subset of c1;
assume that E2: c1 is AffinPlane
and E3: c2 = the carrier of c1 ;
consider c3, c4, c5 being Element of c1 such that
E4: not LIN c3,c4,c5 by AFF_1:21;
E5: ( c3 <> c4 & c3 <> c5 ) by E4, AFF_1:16;
set c6 = Line c3,c4;
set c7 = Line c3,c5;
E6: ( c3 in Line c3,c4 & c3 in Line c3,c5 & c4 in Line c3,c4 & c5 in Line c3,c5 & Line c3,c4 is is_line & Line c3,c5 is is_line ) by E5, AFF_1:26, AFF_1:def 3;
E7: not Line c3,c5 // Line c3,c4
proof
assume Line c3,c5 // Line c3,c4 ;
then c5 in Line c3,c4 by E6, AFF_1:59;
hence not verum by E4, E6, AFF_1:33;
end;
set c8 = Plane (Line c3,c5),(Line c3,c4);
E8: Plane (Line c3,c5),(Line c3,c4) is is_plane by E6, E7, AFF_4:def 2;
now
let c9 be set ;
assume c9 in c2 ;
then reconsider c10 = c9 as Element of c1 ;
set c11 = c10 * (Line c3,c5);
E9: ( c10 * (Line c3,c5) is is_line & Line c3,c5 // c10 * (Line c3,c5) & c10 in c10 * (Line c3,c5) ) by E6, AFF_4:27, AFF_4:def 3;
then not c10 * (Line c3,c5) // Line c3,c4 by E7, AFF_1:58;
then consider c12 being Element of c1 such that
E10: ( c12 in c10 * (Line c3,c5) & c12 in Line c3,c4 ) by E2, E6, E9, AFF_1:72;
c10,c12 // Line c3,c5 by E9, E10, AFF_1:54;
then c10 in { b1 where B is Element of c1 : ex b1 being Element of c1 st
( b1,b2 // Line c3,c5 & b2 in Line c3,c4 )
}
by E10;
hence c9 in Plane (Line c3,c5),(Line c3,c4) by AFF_4:def 1;
end;
then c2 c= Plane (Line c3,c5),(Line c3,c4) by TARSKI:def 3;
hence c2 is is_plane by E3, E8, XBOOLE_0:def 10;
end;

theorem E2: :: AFPROJ:2
for b1 being AffinSpace
for b2 being Subset of b1 holds
( ( b1 is AffinPlane & b2 is is_plane ) implies ( b2 = the carrier of b1 ) )
proof
let c1 be AffinSpace;
let c2 be Subset of c1;
assume that E3: c1 is AffinPlane
and E4: c2 is is_plane ;
the carrier of c1 c= the carrier of c1 ;
then reconsider c3 = the carrier of c1 as Subset of c1 ;
( c2 c= c3 & c3 is is_plane ) by E3, E1;
hence c2 = the carrier of c1 by E4, AFF_4:33;
end;

theorem E3: :: AFPROJ:3
for b1 being AffinSpace
for b2, b3 being Subset of b1 holds
( ( b1 is AffinPlane & b2 is is_plane & b3 is is_plane ) implies ( b2 = b3 ) )
proof
let c1 be AffinSpace;
let c2, c3 be Subset of c1;
assume ( c1 is AffinPlane & c2 is is_plane & c3 is is_plane ) ;
then ( c2 = the carrier of c1 & c3 = the carrier of c1 ) by E2;
hence c2 = c3 ;
end;

theorem :: AFPROJ:4
for b1 being AffinSpace
for b2 being Subset of b1 holds
( ( b2 = the carrier of b1 & b2 is is_plane ) implies ( b1 is AffinPlane ) )
proof
let c1 be AffinSpace;
let c2 be Subset of c1;
assume that E4: c2 = the carrier of c1
and E5: c2 is is_plane ;
assume not c1 is AffinPlane ;
then not for b1 being Element of c1 holds b1 in c2 by E5, AFF_4:48;
hence not verum by E4;
end;

theorem E4: :: AFPROJ:5
for b1 being AffinSpace
for b2, b3, b4, b5 being Subset of b1 holds
( ( b2 '||' b4 & b2 '||' b5 & b3 '||' b4 & b3 '||' b5 & b2 is is_line & b3 is is_line & b4 is is_plane & b5 is is_plane ) implies ( b2 // b3 or b4 '||' b5 ) )
proof
let c1 be AffinSpace;
let c2, c3, c4, c5 be Subset of c1;
assume that E5: not c2 // c3
and E6: ( c2 '||' c4 & c2 '||' c5 & c3 '||' c4 & c3 '||' c5 )
and E7: ( c2 is is_line & c3 is is_line & c4 is is_plane & c5 is is_plane ) ;
E8: ( c4 <> {} & c5 <> {} ) by E7, AFF_4:59;
consider c6 being Element of c4;
consider c7 being Element of c5;
reconsider c8 = c6, c9 = c7 as Element of c1 by E8, TARSKI:def 3;
( c8 * c2 c= c8 + c4 & c8 * c3 c= c8 + c4 & c9 * c2 c= c9 + c5 & c9 * c3 c= c9 + c5 ) by E6, E7, AFF_4:68;
then E9: ( c8 * c2 c= c4 & c8 * c3 c= c4 & c9 * c2 c= c5 & c9 * c3 c= c5 ) by E7, E8, AFF_4:66;
E10: ( c2 // c8 * c2 & c2 // c9 * c2 & c3 // c8 * c3 & c3 // c9 * c3 ) by E7, AFF_4:def 3;
E11: not c8 * c2 // c8 * c3
proof
assume c8 * c2 // c8 * c3 ;
then c8 * c2 // c3 by E10, AFF_1:58;
hence not verum by E5, E10, AFF_1:58;
end;
( c8 * c2 // c9 * c2 & c8 * c3 // c9 * c3 ) by E10, AFF_1:58;
hence c4 '||' c5 by E7, E9, E11, AFF_4:55;
end;

theorem E5: :: AFPROJ:6
for b1 being AffinSpace
for b2, b3, b4 being Subset of b1 holds
( ( b2 is is_plane & b3 '||' b2 & b2 '||' b4 ) implies ( b3 '||' b4 ) )
proof
let c1 be AffinSpace;
let c2, c3, c4 be Subset of c1;
assume that E6: c2 is is_plane
and E7: ( c3 '||' c2 & c2 '||' c4 ) ;
c2 <> {} by E6, AFF_4:59;
hence c3 '||' c4 by E7, AFF_4:60;
end;

definition
let c1 be AffinSpace;
func AfLines a1 -> Subset-Family of a1 equals :: AFPROJ:def 1
{ b1 where B is Subset of a1 : b1 is is_line } ;
coherence
{ b1 where B is Subset of c1 : b1 is is_line } is Subset-Family of c1
proof
set c2 = { b1 where B is Subset of c1 : b1 is is_line } ;
{ b1 where B is Subset of c1 : b1 is is_line } c= bool the carrier of c1
proof
let c3 be set ; :: uses TARSKI:def 3
assume c3 in { b1 where B is Subset of c1 : b1 is is_line } ;
then ex b1 being Subset of c1 st
( c3 = b1 & b1 is is_line ) ;
hence c3 in bool the carrier of c1 ;
end;
hence { b1 where B is Subset of c1 : b1 is is_line } is Subset-Family of c1 ;
end;
end;

:: deftheorem defines AfLines AFPROJ:def 1 :
for b1 being AffinSpace holds AfLines b1 = { b2 where B is Subset of b1 : b2 is is_line } ;

definition
let c1 be AffinSpace;
func AfPlanes a1 -> Subset-Family of a1 equals :: AFPROJ:def 2
{ b1 where B is Subset of a1 : b1 is is_plane } ;
coherence
{ b1 where B is Subset of c1 : b1 is is_plane } is Subset-Family of c1
proof
set c2 = { b1 where B is Subset of c1 : b1 is is_plane } ;
{ b1 where B is Subset of c1 : b1 is is_plane } c= bool the carrier of c1
proof
let c3 be set ; :: uses TARSKI:def 3
assume c3 in { b1 where B is Subset of c1 : b1 is is_plane } ;
then ex b1 being Subset of c1 st
( c3 = b1 & b1 is is_plane ) ;
hence c3 in bool the carrier of c1 ;
end;
hence { b1 where B is Subset of c1 : b1 is is_plane } is Subset-Family of c1 ;
end;
end;

:: deftheorem defines AfPlanes AFPROJ:def 2 :
for b1 being AffinSpace holds AfPlanes b1 = { b2 where B is Subset of b1 : b2 is is_plane } ;

theorem E6: :: AFPROJ:7
for b1 being AffinSpace
for b2 being set holds
( b2 in AfLines b1 iff ex b3 being Subset of b1 st
( b2 = b3 & b3 is is_line ) )
proof
let c1 be AffinSpace;
let c2 be set ;
AfLines c1 = { b1 where B is Subset of c1 : b1 is is_line } ;
hence ( c2 in AfLines c1 iff ex b1 being Subset of c1 st
( c2 = b1 & b1 is is_line ) ) ;
end;

theorem E7: :: AFPROJ:8
for b1 being AffinSpace
for b2 being set holds
( b2 in AfPlanes b1 iff ex b3 being Subset of b1 st
( b2 = b3 & b3 is is_plane ) )
proof
let c1 be AffinSpace;
let c2 be set ;
AfPlanes c1 = { b1 where B is Subset of c1 : b1 is is_plane } ;
hence ( c2 in AfPlanes c1 iff ex b1 being Subset of c1 st
( c2 = b1 & b1 is is_plane ) ) ;
end;

definition
let c1 be AffinSpace;
func LinesParallelity a1 -> Equivalence_Relation of AfLines a1 equals :: AFPROJ:def 3
{ [b1,b2] where B is Subset of a1, B is Subset of a1 : ( b1 is is_line & b2 is is_line & b1 '||' b2 ) } ;
coherence
{ [b1,b2] where B is Subset of c1, B is Subset of c1 : ( b1 is is_line & b2 is is_line & b1 '||' b2 ) } is Equivalence_Relation of AfLines c1
proof
set c2 = { [b1,b2] where B is Subset of c1, B is Subset of c1 : ( b1 is is_line & b2 is is_line & b1 '||' b2 ) } ;
set c3 = AfLines c1;
set c4 = [:(AfLines c1),(AfLines c1):];
E8: for b1, b2 being Subset of c1 holds
( ( b1 is is_line & b2 is is_line ) implies ( ( [b1,b2] in { [b3,b4] where B is Subset of c1, B is Subset of c1 : ( b3 is is_line & b4 is is_line & b3 '||' b4 ) } iff b1 '||' b2 ) ) )
proof
let c5, c6 be Subset of c1;
assume E9: ( c5 is is_line & c6 is is_line ) ;
now
assume [c5,c6] in { [b1,b2] where B is Subset of c1, B is Subset of c1 : ( b1 is is_line & b2 is is_line & b1 '||' b2 ) } ;
then consider c7, c8 being Subset of c1 such that
E10: [c5,c6] = [c7,c8]
and ( c7 is is_line & c8 is is_line )
and E11: c7 '||' c8 ;
( c5 = c7 & c6 = c8 ) by E10, ZFMISC_1:33;
hence c5 '||' c6 by E11;
end;
hence ( [c5,c6] in { [b1,b2] where B is Subset of c1, B is Subset of c1 : ( b1 is is_line & b2 is is_line & b1 '||' b2 ) } iff c5 '||' c6 ) by E9;
end;
now
let c5 be set ;
assume c5 in { [b1,b2] where B is Subset of c1, B is Subset of c1 : ( b1 is is_line & b2 is is_line & b1 '||' b2 ) } ;
then consider c6, c7 being Subset of c1 such that
E9: c5 = [c6,c7]
and E10: ( c6 is is_line & c7 is is_line & c6 '||' c7 ) ;
( c6 in AfLines c1 & c7 in AfLines c1 ) by E10;
hence c5 in [:(AfLines c1),(AfLines c1):] by E9, ZFMISC_1:def 2;
end;
then { [b1,b2] where B is Subset of c1, B is Subset of c1 : ( b1 is is_line & b2 is is_line & b1 '||' b2 ) } c= [:(AfLines c1),(AfLines c1):] by TARSKI:def 3;
then reconsider c5 = { [b1,b2] where B is Subset of c1, B is Subset of c1 : ( b1 is is_line & b2 is is_line & b1 '||' b2 ) } as Relation of AfLines c1, AfLines c1 by RELSET_1:def 1;
now
let c6 be set ;
assume c6 in AfLines c1 ;
then consider c7 being Subset of c1 such that
E9: ( c6 = c7 & c7 is is_line ) ;
c7 // c7 by E9, AFF_1:55;
then c7 '||' c7 by E9, AFF_4:40;
hence [c6,c6] in c5 by E9;
end;
then c5 is_reflexive_in AfLines c1 by RELAT_2:def 1;
then E9: ( dom c5 = AfLines c1 & field c5 = AfLines c1 ) by ORDERS_1:98;
now
let c6, c7 be set ;
assume that E10: ( c6 in AfLines c1 & c7 in AfLines c1 )
and E11: [c6,c7] in c5 ;
consider c8 being Subset of c1 such that
E12: ( c6 = c8 & c8 is is_line ) by E10;
consider c9 being Subset of c1 such that
E13: ( c7 = c9 & c9 is is_line ) by E10;
c8 '||' c9 by E8, E11, E12, E13;
then c8 // c9 by E12, E13, AFF_4:40;
then c9 '||' c8 by E12, E13, AFF_4:40;
hence [c7,c6] in c5 by E12, E13;
end;
then E10: c5 is_symmetric_in AfLines c1 by RELAT_2:def 3;
now
let c6, c7, c8 be set ;
assume that E11: ( c6 in AfLines c1 & c7 in AfLines c1 & c8 in AfLines c1 )
and E12: ( [c6,c7] in c5 & [c7,c8] in c5 ) ;
consider c9 being Subset of c1 such that
E13: ( c6 = c9 & c9 is is_line ) by E11;
consider c10 being Subset of c1 such that
E14: ( c7 = c10 & c10 is is_line ) by E11;
consider c11 being Subset of c1 such that
E15: ( c8 = c11 & c11 is is_line ) by E11;
( c9 '||' c10 & c10 '||' c11 ) by E8, E12, E13, E14, E15;
then ( c9 // c10 & c10 // c11 ) by E13, E14, E15, AFF_4:40;
then c9 // c11 by AFF_1:58;
then c9 '||' c11 by E13, E15, AFF_4:40;
hence [c6,c8] in c5 by E13, E15;
end;
then c5 is_transitive_in AfLines c1 by RELAT_2:def 8;
hence { [b1,b2] where B is Subset of c1, B is Subset of c1 : ( b1 is is_line & b2 is is_line & b1 '||' b2 ) } is Equivalence_Relation of AfLines c1 by E9, E10, PARTFUN1:def 4, RELAT_2:def 11, RELAT_2:def 16;
end;
end;

:: deftheorem defines LinesParallelity AFPROJ:def 3 :
for b1 being AffinSpace holds LinesParallelity b1 = { [b2,b3] where B is Subset of b1, B is Subset of b1 : ( b2 is is_line & b3 is is_line & b2 '||' b3 ) } ;

definition
let c1 be AffinSpace;
func PlanesParallelity a1 -> Equivalence_Relation of AfPlanes a1 equals :: AFPROJ:def 4
{ [b1,b2] where B is Subset of a1, B is Subset of a1 : ( b1 is is_plane & b2 is is_plane & b1 '||' b2 ) } ;
coherence
{ [b1,b2] where B is Subset of c1, B is Subset of c1 : ( b1 is is_plane & b2 is is_plane & b1 '||' b2 ) } is Equivalence_Relation of AfPlanes c1
proof
set c2 = { [b1,b2] where B is Subset of c1, B is Subset of c1 : ( b1 is is_plane & b2 is is_plane & b1 '||' b2 ) } ;
set c3 = AfPlanes c1;
set c4 = [:(AfPlanes c1),(AfPlanes c1):];
E8: for b1, b2 being Subset of c1 holds
( ( b1 is is_plane & b2 is is_plane ) implies ( ( [b1,b2] in { [b3,b4] where B is Subset of c1, B is Subset of c1 : ( b3 is is_plane & b4 is is_plane & b3 '||' b4 ) } iff b1 '||' b2 ) ) )
proof
let c5, c6 be Subset of c1;
assume E9: ( c5 is is_plane & c6 is is_plane ) ;
now
assume [c5,c6] in { [b1,b2] where B is Subset of c1, B is Subset of c1 : ( b1 is is_plane & b2 is is_plane & b1 '||' b2 ) } ;
then consider c7, c8 being Subset of c1 such that
E10: [c5,c6] = [c7,c8]
and ( c7 is is_plane & c8 is is_plane )
and E11: c7 '||' c8 ;
( c5 = c7 & c6 = c8 ) by E10, ZFMISC_1:33;
hence c5 '||' c6 by E11;
end;
hence ( [c5,c6] in { [b1,b2] where B is Subset of c1, B is Subset of c1 : ( b1 is is_plane & b2 is is_plane & b1 '||' b2 ) } iff c5 '||' c6 ) by E9;
end;
now
let c5 be set ;
assume c5 in { [b1,b2] where B is Subset of c1, B is Subset of c1 : ( b1 is is_plane & b2 is is_plane & b1 '||' b2 ) } ;
then consider c6, c7 being Subset of c1 such that
E9: c5 = [c6,c7]
and E10: ( c6 is is_plane & c7 is is_plane & c6 '||' c7 ) ;
( c6 in AfPlanes c1 & c7 in AfPlanes c1 ) by E10;
hence c5 in [:(AfPlanes c1),(AfPlanes c1):] by E9, ZFMISC_1:def 2;
end;
then { [b1,b2] where B is Subset of c1, B is Subset of c1 : ( b1 is is_plane & b2 is is_plane & b1 '||' b2 ) } c= [:(AfPlanes c1),(AfPlanes c1):] by TARSKI:def 3;
then reconsider c5 = { [b1,b2] where B is Subset of c1, B is Subset of c1 : ( b1 is is_plane & b2 is is_plane & b1 '||' b2 ) } as Relation of AfPlanes c1, AfPlanes c1 by RELSET_1:def 1;
now
let c6 be set ;
assume c6 in AfPlanes c1 ;
then consider c7 being Subset of c1 such that
E9: ( c6 = c7 & c7 is is_plane ) ;
c7 '||' c7 by E9, AFF_4:57;
hence [c6,c6] in c5 by E9;
end;
then c5 is_reflexive_in AfPlanes c1 by RELAT_2:def 1;
then E9: ( dom c5 = AfPlanes c1 & field c5 = AfPlanes c1 ) by ORDERS_1:98;
now
let c6, c7 be set ;
assume that E10: ( c6 in AfPlanes c1 & c7 in AfPlanes c1 )
and E11: [c6,c7] in c5 ;
consider c8 being Subset of c1 such that
E12: ( c6 = c8 & c8 is is_plane ) by E10;
consider c9 being Subset of c1 such that
E13: ( c7 = c9 & c9 is is_plane ) by E10;
c8 '||' c9 by E8, E11, E12, E13;
then c9 '||' c8 by E12, E13, AFF_4:58;
hence [c7,c6] in c5 by E12, E13;
end;
then E10: c5 is_symmetric_in AfPlanes c1 by RELAT_2:def 3;
now
let c6, c7, c8 be set ;
assume that E11: ( c6 in AfPlanes c1 & c7 in AfPlanes c1 & c8 in AfPlanes c1 )
and E12: ( [c6,c7] in c5 & [c7,c8] in c5 ) ;
consider c9 being Subset of c1 such that
E13: ( c6 = c9 & c9 is is_plane ) by E11;
consider c10 being Subset of c1 such that
E14: ( c7 = c10 & c10 is is_plane ) by E11;
consider c11 being Subset of c1 such that
E15: ( c8 = c11 & c11 is is_plane ) by E11;
( c9 '||' c10 & c10 '||' c11 ) by E8, E12, E13, E14, E15;
then c9 '||' c11 by E13, E14, E15, AFF_4:61;
hence [c6,c8] in c5 by E13, E15;
end;
then c5 is_transitive_in AfPlanes c1 by RELAT_2:def 8;
hence { [b1,b2] where B is Subset of c1, B is Subset of c1 : ( b1 is is_plane & b2 is is_plane & b1 '||' b2 ) } is Equivalence_Relation of AfPlanes c1 by E9, E10, PARTFUN1:def 4, RELAT_2:def 11, RELAT_2:def 16;
end;
end;

:: deftheorem defines PlanesParallelity AFPROJ:def 4 :
for b1 being AffinSpace holds PlanesParallelity b1 = { [b2,b3] where B is Subset of b1, B is Subset of b1 : ( b2 is is_plane & b3 is is_plane & b2 '||' b3 ) } ;

definition
let c1 be AffinSpace;
let c2 be Subset of c1;
assume c2 is is_line ;
func LDir a2 -> Subset of (AfLines a1) equals :E8: :: AFPROJ:def 5
Class (LinesParallelity a1),a2;
correctness
coherence
Class (LinesParallelity c1),c2 is Subset of (AfLines c1)
;
;
end;

:: deftheorem E8 defines LDir AFPROJ:def 5 :
for b1 being AffinSpace
for b2 being Subset of b1 holds
( b2 is is_line implies LDir b2 = Class (LinesParallelity b1),b2 );

definition
let c1 be AffinSpace;
let c2 be Subset of c1;
assume c2 is is_plane ;
func PDir a2 -> Subset of (AfPlanes a1) equals :E9: :: AFPROJ:def 6
Class (PlanesParallelity a1),a2;
correctness
coherence
Class (PlanesParallelity c1),c2 is Subset of (AfPlanes c1)
;
;
end;

:: deftheorem E9 defines PDir AFPROJ:def 6 :
for b1 being AffinSpace
for b2 being Subset of b1 holds
( b2 is is_plane implies PDir b2 = Class (PlanesParallelity b1),b2 );

theorem E10: :: AFPROJ:9
for b1 being AffinSpace
for b2 being Subset of b1 holds
( b2 is is_line implies for b3 being set holds
( b3 in LDir b2 iff ex b4 being Subset of b1 st
( b3 = b4 & b4 is is_line & b2 '||' b4 ) ) )
proof
let c1 be AffinSpace;
let c2 be Subset of c1;
assume E11: c2 is is_line ;
let c3 be set ;
E12: now
assume c3 in LDir c2 ;
then c3 in Class (LinesParallelity c1),c2 by E11, E8;
then [c3,c2] in LinesParallelity c1 by EQREL_1:27;
then [c3,c2] in { [b1,b2] where B is Subset of c1, B is Subset of c1 : ( b1 is is_line & b2 is is_line & b1 '||' b2 ) } ;
then consider c4, c5 being Subset of c1 such that
E13: [c3,c2] = [c4,c5]
and E14: ( c4 is is_line & c5 is is_line & c4 '||' c5 ) ;
E15: ( c3 = c4 & c2 = c5 ) by E13, ZFMISC_1:33;
take c6 = c4;
c4 // c5 by E14, AFF_4:40;
hence ( c3 = c6 & c6 is is_line & c2 '||' c6 ) by E14, E15, AFF_4:40;
end;
now
given c4 being Subset of c1 such that E13: ( c3 = c4 & c4 is is_line & c2 '||' c4 ) ;
c2 // c4 by E11, E13, AFF_4:40;
then c4 '||' c2 by E11, E13, AFF_4:40;
then [c4,c2] in { [b1,b2] where B is Subset of c1, B is Subset of c1 : ( b1 is is_line & b2 is is_line & b1 '||' b2 ) } by E11, E13;
then [c4,c2] in LinesParallelity c1 ;
then c4 in Class (LinesParallelity c1),c2 by EQREL_1:27;
hence c3 in LDir c2 by E11, E13, E8;
end;
hence ( c3 in LDir c2 iff ex b1 being Subset of c1 st
( c3 = b1 & b1 is is_line & c2 '||' b1 ) ) by E12;
end;

theorem E11: :: AFPROJ:10
for b1 being AffinSpace
for b2 being Subset of b1 holds
( b2 is is_plane implies for b3 being set holds
( b3 in PDir b2 iff ex b4 being Subset of b1 st
( b3 = b4 & b4 is is_plane & b2 '||' b4 ) ) )
proof
let c1 be AffinSpace;
let c2 be Subset of c1;
assume E12: c2 is is_plane ;
let c3 be set ;
E13: now
assume c3 in PDir c2 ;
then c3 in Class (PlanesParallelity c1),c2 by E12, E9;
then [c3,c2] in PlanesParallelity c1 by EQREL_1:27;
then [c3,c2] in { [b1,b2] where B is Subset of c1, B is Subset of c1 : ( b1 is is_plane & b2 is is_plane & b1 '||' b2 ) } ;
then consider c4, c5 being Subset of c1 such that
E14: [c3,c2] = [c4,c5]
and E15: ( c4 is is_plane & c5 is is_plane & c4 '||' c5 ) ;
E16: ( c3 = c4 & c2 = c5 ) by E14, ZFMISC_1:33;
take c6 = c4;
thus ( c3 = c6 & c6 is is_plane & c2 '||' c6 ) by E15, E16, AFF_4:58;
end;
now
given c4 being Subset of c1 such that E14: ( c3 = c4 & c4 is is_plane & c2 '||' c4 ) ;
c4 '||' c2 by E12, E14, AFF_4:58;
then [c4,c2] in { [b1,b2] where B is Subset of c1, B is Subset of c1 : ( b1 is is_plane & b2 is is_plane & b1 '||' b2 ) } by E12, E14;
then [c4,c2] in PlanesParallelity c1 ;
then c4 in Class (PlanesParallelity c1),c2 by EQREL_1:27;
hence c3 in PDir c2 by E12, E14, E9;
end;
hence ( c3 in PDir c2 iff ex b1 being Subset of c1 st
( c3 = b1 & b1 is is_plane & c2 '||' b1 ) ) by E13;
end;

theorem E12: :: AFPROJ:11
for b1 being AffinSpace
for b2, b3 being Subset of b1 holds
( ( b2 is is_line & b3 is is_line ) implies ( ( LDir b2 = LDir b3 iff b2 // b3 ) ) )
proof
let c1 be AffinSpace;
let c2, c3 be Subset of c1;
assume E13: ( c2 is is_line & c3 is is_line ) ;
then E14: ( c3 in AfLines c1 & c2 in AfLines c1 ) ;
E15: ( LDir c2 = Class (LinesParallelity c1),c2 & LDir c3 = Class (LinesParallelity c1),c3 ) by E13, E8;
E16: now
assume LDir c2 = LDir c3 ;
then c2 in Class (LinesParallelity c1),c3 by E14, E15, EQREL_1:31;
then ex b1 being Subset of c1 st
( c2 = b1 & b1 is is_line & c3 '||' b1 ) by E13, E15, E10;
hence c2 // c3 by E13, AFF_4:40;
end;
now
assume c2 // c3 ;
then c2 '||' c3 by E13, AFF_4:40;
then c3 in Class (LinesParallelity c1),c2 by E13, E15, E10;
hence LDir c2 = LDir c3 by E14, E15, EQREL_1:31;
end;
hence ( LDir c2 = LDir c3 iff c2 // c3 ) by E16;
end;

theorem E13: :: AFPROJ:12
for b1 being AffinSpace
for b2, b3 being Subset of b1 holds
( ( b2 is is_line & b3 is is_line ) implies ( ( LDir b2 = LDir b3 iff b2 '||' b3 ) ) )
proof
let c1 be AffinSpace;
let c2, c3 be Subset of c1;
assume ( c2 is is_line & c3 is is_line ) ;
then ( ( LDir c2 = LDir c3 implies c2 // c3 ) & ( c2 // c3 implies LDir c2 = LDir c3 ) & ( c2 // c3 implies c2 '||' c3 ) & ( c2 '||' c3 implies c2 // c3 ) ) by E12, AFF_4:40;
hence ( LDir c2 = LDir c3 iff c2 '||' c3 ) ;
end;

theorem E14: :: AFPROJ:13
for b1 being AffinSpace
for b2, b3 being Subset of b1 holds
( ( b2 is is_plane & b3 is is_plane ) implies ( ( PDir b2 = PDir b3 iff b2 '||' b3 ) ) )
proof
let c1 be AffinSpace;
let c2, c3 be Subset of c1;
assume E15: ( c2 is is_plane & c3 is is_plane ) ;
then E16: ( c3 in AfPlanes c1 & c2 in AfPlanes c1 ) ;
E17: ( PDir c2 = Class (PlanesParallelity c1),c2 & PDir c3 = Class (PlanesParallelity c1),c3 ) by E15, E9;
E18: now
assume PDir c2 = PDir c3 ;
then c2 in Class (PlanesParallelity c1),c3 by E16, E17, EQREL_1:31;
then ex b1 being Subset of c1 st
( c2 = b1 & b1 is is_plane & c3 '||' b1 ) by E15, E17, E11;
hence c2 '||' c3 by E15, AFF_4:58;
end;
now
assume c2 '||' c3 ;
then c3 in Class (PlanesParallelity c1),c2 by E15, E17, E11;
hence PDir c2 = PDir c3 by E16, E17, EQREL_1:31;
end;
hence ( PDir c2 = PDir c3 iff c2 '||' c3 ) by E18;
end;

definition
let c1 be AffinSpace;
func Dir_of_Lines a1 -> non empty set equals :: AFPROJ:def 7
Class (LinesParallelity a1);
coherence
Class (LinesParallelity c1) is non empty set
proof
consider c2, c3 being Element of the carrier of c1 such that
E15: c2 <> c3 by DIRAF:47;
set c4 = Line c2,c3;
Line c2,c3 is is_line by E15, AFF_1:def 3;
then Line c2,c3 in AfLines c1 ;
then Class (LinesParallelity c1),(Line c2,c3) in Class (LinesParallelity c1) by EQREL_1:def 5;
hence Class (LinesParallelity c1) is non empty set ;
end;
end;

:: deftheorem defines Dir_of_Lines AFPROJ:def 7 :
for b1 being AffinSpace holds Dir_of_Lines b1 = Class (LinesParallelity b1);

definition
let c1 be AffinSpace;
func Dir_of_Planes a1 -> non empty set equals :: AFPROJ:def 8
Class (PlanesParallelity a1);
coherence
Class (PlanesParallelity c1) is non empty set
proof
consider c2, c3, c4 being Element of c1;
consider c5 being Subset of c1 such that
( c2 in c5 & c3 in c5 & c4 in c5 )
and E15: c5 is is_plane by AFF_4:37;
c5 in AfPlanes c1 by E15;
then Class (PlanesParallelity c1),c5 in Class (PlanesParallelity c1) by EQREL_1:def 5;
hence Class (PlanesParallelity c1) is non empty set ;
end;
end;

:: deftheorem defines Dir_of_Planes AFPROJ:def 8 :
for b1 being AffinSpace holds Dir_of_Planes b1 = Class (PlanesParallelity b1);

theorem E15: :: AFPROJ:14
for b1 being AffinSpace
for b2 being set holds
( b2 in Dir_of_Lines b1 iff ex b3 being Subset of b1 st
( b2 = LDir b3 & b3 is is_line ) )
proof
let c1 be AffinSpace;
let c2 be set ;
E16: now
assume E17: c2 in Dir_of_Lines c1 ;
Dir_of_Lines c1 = Class (LinesParallelity c1) ;
then reconsider c3 = c2 as Subset of (AfLines c1) by E17;
c3 in Class (LinesParallelity c1) by E17;
then consider c4 being set such that
E18: c4 in AfLines c1
and E19: c3 = Class (LinesParallelity c1),c4 by EQREL_1:def 5;
consider c5 being Subset of c1 such that
E20: c4 = c5
and E21: c5 is is_line by E18;
take c6 = c5;
thus c2 = LDir c6 by E19, E20, E21, E8;
thus c6 is is_line by E21;
end;
now
given c3 being Subset of c1 such that E17: c2 = LDir c3
and E18: c3 is is_line ;
E19: c2 = Class (LinesParallelity c1),c3 by E17, E18, E8;
c3 in AfLines c1 by E18;
then c2 in Class (LinesParallelity c1) by E19, EQREL_1:def 5;
hence c2 in Dir_of_Lines c1 ;
end;
hence ( c2 in Dir_of_Lines c1 iff ex b1 being Subset of c1 st
( c2 = LDir b1 & b1 is is_line ) ) by E16;
end;

theorem E16: :: AFPROJ:15
for b1 being AffinSpace
for b2 being set holds
( b2 in Dir_of_Planes b1 iff ex b3 being Subset of b1 st
( b2 = PDir b3 & b3 is is_plane ) )
proof
let c1 be AffinSpace;
let c2 be set ;
E17: now
assume E18: c2 in Dir_of_Planes c1 ;
Dir_of_Planes c1 = Class (PlanesParallelity c1) ;
then reconsider c3 = c2 as Subset of (AfPlanes c1) by E18;
c3 in Class (PlanesParallelity c1) by E18;
then consider c4 being set such that
E19: c4 in AfPlanes c1
and E20: c3 = Class (PlanesParallelity c1),c4 by EQREL_1:def 5;
consider c5 being Subset of c1 such that
E21: c4 = c5
and E22: c5 is is_plane by E19;
take c6 = c5;
thus c2 = PDir c6 by E20, E21, E22, E9;
thus c6 is is_plane by E22;
end;
now
given c3 being Subset of c1 such that E18: c2 = PDir c3
and E19: c3 is is_plane ;
E20: c2 = Class (PlanesParallelity c1),c3 by E18, E19, E9;
c3 in AfPlanes c1 by E19;
then c2 in Class (PlanesParallelity c1) by E20, EQREL_1:def 5;
hence c2 in Dir_of_Planes c1 ;
end;
hence ( c2 in Dir_of_Planes c1 iff ex b1 being Subset of c1 st
( c2 = PDir b1 & b1 is is_plane ) ) by E17;
end;

theorem E17: :: AFPROJ:16
for b1 being AffinSpace holds the carrier of b1 misses Dir_of_Lines b1
proof
let c1 be AffinSpace;
assume not the carrier of c1 misses Dir_of_Lines c1 ;
then consider c2 being set such that
E18: ( c2 in the carrier of c1 & c2 in Dir_of_Lines c1 ) by XBOOLE_0:3;
consider c3 being Subset of c1 such that
E19: ( c2 = LDir c3 & c3 is is_line ) by E18, E15;
reconsider c4 = c2 as Element of c1 by E18;
set c5 = c4 * c3;
E20: ( c4 * c3 is is_line & c3 // c4 * c3 ) by E19, AFF_4:27, AFF_4:def 3;
then c3 '||' c4 * c3 by E19, AFF_4:40;
then c4 * c3 in c2 by E19, E20, E10;
hence not verum by E19, AFF_4:def 3;
end;

theorem :: AFPROJ:17
for b1 being AffinSpace holds
( b1 is AffinPlane implies AfLines b1 misses Dir_of_Planes b1 )
proof
let c1 be AffinSpace;
assume E18: c1 is AffinPlane ;
assume not AfLines c1 misses Dir_of_Planes c1 ;
then consider c2 being set such that
E19: ( c2 in AfLines c1 & c2 in Dir_of_Planes c1 ) by XBOOLE_0:3;
the carrier of c1 c= the carrier of c1 ;
then reconsider c3 = the carrier of c1 as Subset of c1 ;
E20: c3 is is_plane by E18, E1;
consider c4 being Subset of c1 such that
E21: c2 = PDir c4
and E22: c4 is is_plane by E19, E16;
consider c5 being Subset of c1 such that
E23: c2 = c5
and E24: c5 is is_line by E19;
consider c6, c7 being Element of c1 such that
E25: c6 in c5
and ( c7 in c5 & c6 <> c7 ) by E24, AFF_1:31;
consider c8 being Subset of c1 such that
E26: c6 = c8
and E27: c8 is is_plane
and c4 '||' c8 by E21, E22, E23, E25, E11;
E28: c8 = c3 by E20, E27, AFF_4:33;
not c8 in c8 ;
hence not verum by E26, E28;
end;

theorem E18: :: AFPROJ:18
for b1 being AffinSpace
for b2 being set holds
( b2 in [:(AfLines b1),{1}:] iff ex b3 being Subset of b1 st
( b2 = [b3,1] & b3 is is_line ) )
proof
let c1 be AffinSpace;
let c2 be set ;
E19: now
assume c2 in [:(AfLines c1),{1}:] ;
then consider c3, c4 being set such that
E20: c3 in AfLines c1
and E21: c4 in {1}
and E22: c2 = [c3,c4] by ZFMISC_1:def 2;
consider c5 being Subset of c1 such that
E23: c3 = c5
and E24: c5 is is_line by E20;
take c6 = c5;
thus c2 = [c6,1] by E21, E22, E23, TARSKI:def 1;
thus c6 is is_line by E24;
end;
now
given c3 being Subset of c1 such that E20: c2 = [c3,1]
and E21: c3 is is_line ;
c3 in AfLines c1 by E21;
hence c2 in [:(AfLines c1),{1}:] by E20, ZFMISC_1:129;
end;
hence ( c2 in [:(AfLines c1),{1}:] iff ex b1 being Subset of c1 st
( c2 = [b1,1] & b1 is is_line ) ) by E19;
end;

theorem E19: :: AFPROJ:19
for b1 being AffinSpace
for b2 being set holds
( b2 in [:(Dir_of_Planes b1),{2}:] iff ex b3 being Subset of b1 st
( b2 = [(PDir b3),2] & b3 is is_plane ) )
proof
let c1 be AffinSpace;
let c2 be set ;
E20: now
assume c2 in [:(Dir_of_Planes c1),{2}:] ;
then consider c3, c4 being set such that
E21: c3 in Dir_of_Planes c1
and E22: c4 in {2}
and E23: c2 = [c3,c4] by ZFMISC_1:def 2;
consider c5 being Subset of c1 such that
E24: c3 = PDir c5
and E25: c5 is is_plane by E21, E16;
take c6 = c5;
thus c2 = [(PDir c6),2] by E22, E23, E24, TARSKI:def 1;
thus c6 is is_plane by E25;
end;
now
given c3 being Subset of c1 such that E21: c2 = [(PDir c3),2]
and E22: c3 is is_plane ;
PDir c3 in Dir_of_Planes c1 by E22, E16;
hence c2 in [:(Dir_of_Planes c1),{2}:] by E21, ZFMISC_1:129;
e