:: Desargues Theorem In Projective 3-Space
:: by Eugeniusz Kusak
::
:: Copyright (c) 1990-2021 Association of Mizar Users

theorem Th1: :: PROJDES1:1
for FCPS being up-3-dimensional CollProjectiveSpace
for a, b, c being Element of FCPS st a,b,c are_collinear holds
( b,c,a are_collinear & c,a,b are_collinear & b,a,c are_collinear & a,c,b are_collinear & c,b,a are_collinear )
proof end;

theorem :: PROJDES1:2
for FCPS being up-3-dimensional CollProjectiveSpace
for p being Element of FCPS holds
not for q, r being Element of FCPS holds p,q,r are_collinear
proof end;

theorem :: PROJDES1:3
for FCPS being up-3-dimensional CollProjectiveSpace
for a, b, b9, c being Element of FCPS st not a,b,c are_collinear & a,b,b9 are_collinear & a <> b9 holds
not a,b9,c are_collinear
proof end;

theorem :: PROJDES1:4
for FCPS being up-3-dimensional CollProjectiveSpace
for a, b, c, d being Element of FCPS st not a,b,c are_collinear & a,b,d are_collinear & a,c,d are_collinear holds
a = d
proof end;

theorem Th5: :: PROJDES1:5
for FCPS being up-3-dimensional CollProjectiveSpace
for a, a9, d, d9, o, s being Element of FCPS st not o,a,d are_collinear & o,d,d9 are_collinear & d <> d9 & a9,d9,s are_collinear & o,a,a9 are_collinear & o <> a9 holds
s <> d
proof end;

Lm1: for FCPS being up-3-dimensional CollProjectiveSpace
for a, b, b9, c, c9 being Element of FCPS st not a,b,c are_collinear & a,b,b9 are_collinear & a,c,c9 are_collinear & a <> b9 holds
b9 <> c9

proof end;

definition
let FCPS be up-3-dimensional CollProjectiveSpace;
let a, b, c, d be Element of FCPS;
pred a,b,c,d are_coplanar means :: PROJDES1:def 1
ex x being Element of FCPS st
( a,b,x are_collinear & c,d,x are_collinear );
end;

:: deftheorem defines are_coplanar PROJDES1:def 1 :
for FCPS being up-3-dimensional CollProjectiveSpace
for a, b, c, d being Element of FCPS holds
( a,b,c,d are_coplanar iff ex x being Element of FCPS st
( a,b,x are_collinear & c,d,x are_collinear ) );

theorem Th6: :: PROJDES1:6
for FCPS being up-3-dimensional CollProjectiveSpace
for a, b, c, d being Element of FCPS st ( a,b,c are_collinear or b,c,d are_collinear or c,d,a are_collinear or d,a,b are_collinear ) holds
a,b,c,d are_coplanar
proof end;

Lm2: for FCPS being up-3-dimensional CollProjectiveSpace
for a, b, c, d being Element of FCPS st a,b,c,d are_coplanar holds
b,a,c,d are_coplanar

proof end;

Lm3: for FCPS being up-3-dimensional CollProjectiveSpace
for a, b, c, d being Element of FCPS st a,b,c,d are_coplanar holds
b,c,d,a are_coplanar

proof end;

theorem Th7: :: PROJDES1:7
for FCPS being up-3-dimensional CollProjectiveSpace
for a, b, c, d being Element of FCPS st a,b,c,d are_coplanar holds
( b,c,d,a are_coplanar & c,d,a,b are_coplanar & d,a,b,c are_coplanar & b,a,c,d are_coplanar & c,b,d,a are_coplanar & d,c,a,b are_coplanar & a,d,b,c are_coplanar & a,c,d,b are_coplanar & b,d,a,c are_coplanar & c,a,b,d are_coplanar & d,b,c,a are_coplanar & c,a,d,b are_coplanar & d,b,a,c are_coplanar & a,c,b,d are_coplanar & b,d,c,a are_coplanar & a,b,d,c are_coplanar & a,d,c,b are_coplanar & b,c,a,d are_coplanar & b,a,d,c are_coplanar & c,b,a,d are_coplanar & c,d,b,a are_coplanar & d,a,c,b are_coplanar & d,c,b,a are_coplanar )
proof end;

Lm4: for FCPS being up-3-dimensional CollProjectiveSpace
for a, b, c, p, q being Element of FCPS st not a,b,c are_collinear & a,b,c,p are_coplanar & a,b,c,q are_coplanar holds
a,b,p,q are_coplanar

proof end;

theorem Th8: :: PROJDES1:8
for FCPS being up-3-dimensional CollProjectiveSpace
for a, b, c, p, q, r, s being Element of FCPS st not a,b,c are_collinear & a,b,c,p are_coplanar & a,b,c,q are_coplanar & a,b,c,r are_coplanar & a,b,c,s are_coplanar holds
p,q,r,s are_coplanar
proof end;

Lm5: for FCPS being up-3-dimensional CollProjectiveSpace
for a, b, c, p, q, r being Element of FCPS st not a,b,c are_collinear & a,b,c,p are_coplanar & a,b,c,q are_coplanar & a,b,c,r are_coplanar holds
a,p,q,r are_coplanar

proof end;

theorem :: PROJDES1:9
for FCPS being up-3-dimensional CollProjectiveSpace
for a, b, c, p, q, r, s being Element of FCPS st not p,q,r are_collinear & a,b,c,p are_coplanar & a,b,c,r are_coplanar & a,b,c,q are_coplanar & p,q,r,s are_coplanar holds
a,b,c,s are_coplanar
proof end;

Lm6: for FCPS being up-3-dimensional CollProjectiveSpace
for a, b, p, q, r being Element of FCPS st p <> q & p,q,r are_collinear & a,b,p,q are_coplanar holds
a,b,p,r are_coplanar

proof end;

theorem Th10: :: PROJDES1:10
for FCPS being up-3-dimensional CollProjectiveSpace
for a, b, c, p, q, r being Element of FCPS st p <> q & p,q,r are_collinear & a,b,c,p are_coplanar & a,b,c,q are_coplanar holds
a,b,c,r are_coplanar
proof end;

theorem :: PROJDES1:11
for FCPS being up-3-dimensional CollProjectiveSpace
for a, b, c, p, q, r, s being Element of FCPS st not a,b,c are_collinear & a,b,c,p are_coplanar & a,b,c,q are_coplanar & a,b,c,r are_coplanar & a,b,c,s are_coplanar holds
ex x being Element of FCPS st
( p,q,x are_collinear & r,s,x are_collinear )
proof end;

theorem Th12: :: PROJDES1:12
for FCPS being up-3-dimensional CollProjectiveSpace holds
not for a, b, c, d being Element of FCPS holds a,b,c,d are_coplanar
proof end;

theorem Th13: :: PROJDES1:13
for FCPS being up-3-dimensional CollProjectiveSpace
for p, q, r being Element of FCPS st not p,q,r are_collinear holds
ex s being Element of FCPS st not p,q,r,s are_coplanar
proof end;

theorem Th14: :: PROJDES1:14
for FCPS being up-3-dimensional CollProjectiveSpace
for a, b, c, d being Element of FCPS st ( a = b or a = c or b = c or a = d or b = d or d = c ) holds
a,b,c,d are_coplanar
proof end;

theorem Th15: :: PROJDES1:15
for FCPS being up-3-dimensional CollProjectiveSpace
for a, a9, b, c, o being Element of FCPS st not a,b,c,o are_coplanar & o,a,a9 are_collinear & a <> a9 holds
not a,b,c,a9 are_coplanar
proof end;

theorem Th16: :: PROJDES1:16
for FCPS being up-3-dimensional CollProjectiveSpace
for a, a9, b, b9, c, c9, p, q, r being Element of FCPS st not a,b,c are_collinear & not a9,b9,c9 are_collinear & a,b,c,p are_coplanar & a,b,c,q are_coplanar & a,b,c,r are_coplanar & a9,b9,c9,p are_coplanar & a9,b9,c9,q are_coplanar & a9,b9,c9,r are_coplanar & not a,b,c,a9 are_coplanar holds
p,q,r are_collinear
proof end;

theorem Th17: :: PROJDES1:17
for FCPS being up-3-dimensional CollProjectiveSpace
for a, a9, b, b9, c, c9, o, p, q, r being Element of FCPS st a <> a9 & o,a,a9 are_collinear & not a,b,c,o are_coplanar & not a9,b9,c9 are_collinear & a,b,p are_collinear & a9,b9,p are_collinear & b,c,q are_collinear & b9,c9,q are_collinear & a,c,r are_collinear & a9,c9,r are_collinear holds
p,q,r are_collinear
proof end;

theorem Th18: :: PROJDES1:18
for FCPS being up-3-dimensional CollProjectiveSpace
for a, b, c, d, o being Element of FCPS st not a,b,c,d are_coplanar & a,b,c,o are_coplanar & not a,b,o are_collinear holds
not a,b,d,o are_coplanar
proof end;

theorem Th19: :: PROJDES1:19
for FCPS being up-3-dimensional CollProjectiveSpace
for a, a9, b, b9, c, c9, o being Element of FCPS st not a,b,c,o are_coplanar & o,a,a9 are_collinear & o,b,b9 are_collinear & o,c,c9 are_collinear & o <> a9 & o <> b9 & o <> c9 holds
( not a9,b9,c9 are_collinear & not a9,b9,c9,o are_coplanar )
proof end;

theorem Th20: :: PROJDES1:20
for FCPS being up-3-dimensional CollProjectiveSpace
for a, a9, b, b9, c, d, d9, o, s, t, u being Element of FCPS st a,b,c,o are_coplanar & not a,b,c,d are_coplanar & not a,b,d,o are_coplanar & o,d,d9 are_collinear & o,a,a9 are_collinear & o,b,b9 are_collinear & a,d,s are_collinear & a9,d9,s are_collinear & b,d,t are_collinear & b9,d9,t are_collinear & c,d,u are_collinear & o <> a9 & d <> d9 & o <> b9 holds
not s,t,u are_collinear
proof end;

definition
let FCPS be up-3-dimensional CollProjectiveSpace;
let o, a, b, c be Element of FCPS;
pred o,a,b,c constitute_a_quadrangle means :: PROJDES1:def 2
( not a,b,c are_collinear & not o,a,b are_collinear & not o,b,c are_collinear & not o,c,a are_collinear );
end;

:: deftheorem defines constitute_a_quadrangle PROJDES1:def 2 :
for FCPS being up-3-dimensional CollProjectiveSpace
for o, a, b, c being Element of FCPS holds
( o,a,b,c constitute_a_quadrangle iff ( not a,b,c are_collinear & not o,a,b are_collinear & not o,b,c are_collinear & not o,c,a are_collinear ) );

Lm7: for FCPS being up-3-dimensional CollProjectiveSpace
for a, a9, b, b9, c, c9, o, p, q, r being Element of FCPS st o <> a9 & o <> b9 & o <> c9 & a <> a9 & b <> b9 & o,a,b,c constitute_a_quadrangle & o,a,a9 are_collinear & o,b,b9 are_collinear & o,c,c9 are_collinear & a,b,p are_collinear & a9,b9,p are_collinear & b,c,q are_collinear & b9,c9,q are_collinear & a,c,r are_collinear & a9,c9,r are_collinear holds
p,q,r are_collinear

proof end;

theorem Th21: :: PROJDES1:21
for FCPS being up-3-dimensional CollProjectiveSpace
for a, a9, b, b9, c, c9, o, p, q, r being Element of FCPS st not o,a,b are_collinear & not o,b,c are_collinear & not o,a,c are_collinear & o,a,a9 are_collinear & o,b,b9 are_collinear & o,c,c9 are_collinear & a,b,p are_collinear & a9,b9,p are_collinear & a <> a9 & b,c,r are_collinear & b9,c9,r are_collinear & a,c,q are_collinear & b <> b9 & a9,c9,q are_collinear & o <> a9 & o <> b9 & o <> c9 holds
r,q,p are_collinear
proof end;

theorem Th22: :: PROJDES1:22
for CS being up-3-dimensional CollProjectiveSpace holds CS is Desarguesian
proof end;

registration
correctness
coherence
for b1 being up-3-dimensional CollProjectiveSpace holds b1 is Desarguesian
;
by Th22;
end;