Metamath Proof Explorer


Theorem coltr

Description: A transitivity law for colinearity. (Contributed by Thierry Arnoux, 27-Nov-2019)

Ref Expression
Hypotheses tglineintmo.p 𝑃 = ( Base ‘ 𝐺 )
tglineintmo.i 𝐼 = ( Itv ‘ 𝐺 )
tglineintmo.l 𝐿 = ( LineG ‘ 𝐺 )
tglineintmo.g ( 𝜑𝐺 ∈ TarskiG )
coltr.a ( 𝜑𝐴𝑃 )
coltr.b ( 𝜑𝐵𝑃 )
coltr.c ( 𝜑𝐶𝑃 )
coltr.d ( 𝜑𝐷𝑃 )
coltr.1 ( 𝜑𝐴 ∈ ( 𝐵 𝐿 𝐶 ) )
coltr.2 ( 𝜑 → ( 𝐵 ∈ ( 𝐶 𝐿 𝐷 ) ∨ 𝐶 = 𝐷 ) )
Assertion coltr ( 𝜑 → ( 𝐴 ∈ ( 𝐶 𝐿 𝐷 ) ∨ 𝐶 = 𝐷 ) )

Proof

Step Hyp Ref Expression
1 tglineintmo.p 𝑃 = ( Base ‘ 𝐺 )
2 tglineintmo.i 𝐼 = ( Itv ‘ 𝐺 )
3 tglineintmo.l 𝐿 = ( LineG ‘ 𝐺 )
4 tglineintmo.g ( 𝜑𝐺 ∈ TarskiG )
5 coltr.a ( 𝜑𝐴𝑃 )
6 coltr.b ( 𝜑𝐵𝑃 )
7 coltr.c ( 𝜑𝐶𝑃 )
8 coltr.d ( 𝜑𝐷𝑃 )
9 coltr.1 ( 𝜑𝐴 ∈ ( 𝐵 𝐿 𝐶 ) )
10 coltr.2 ( 𝜑 → ( 𝐵 ∈ ( 𝐶 𝐿 𝐷 ) ∨ 𝐶 = 𝐷 ) )
11 4 adantr ( ( 𝜑𝐶𝐷 ) → 𝐺 ∈ TarskiG )
12 7 adantr ( ( 𝜑𝐶𝐷 ) → 𝐶𝑃 )
13 8 adantr ( ( 𝜑𝐶𝐷 ) → 𝐷𝑃 )
14 simpr ( ( 𝜑𝐶𝐷 ) → 𝐶𝐷 )
15 1 2 3 11 12 13 14 tglinerflx1 ( ( 𝜑𝐶𝐷 ) → 𝐶 ∈ ( 𝐶 𝐿 𝐷 ) )
16 15 ex ( 𝜑 → ( 𝐶𝐷𝐶 ∈ ( 𝐶 𝐿 𝐷 ) ) )
17 16 necon1bd ( 𝜑 → ( ¬ 𝐶 ∈ ( 𝐶 𝐿 𝐷 ) → 𝐶 = 𝐷 ) )
18 17 orrd ( 𝜑 → ( 𝐶 ∈ ( 𝐶 𝐿 𝐷 ) ∨ 𝐶 = 𝐷 ) )
19 18 adantr ( ( 𝜑𝐴 = 𝐶 ) → ( 𝐶 ∈ ( 𝐶 𝐿 𝐷 ) ∨ 𝐶 = 𝐷 ) )
20 simplr ( ( ( 𝜑𝐴 = 𝐶 ) ∧ 𝐶 ∈ ( 𝐶 𝐿 𝐷 ) ) → 𝐴 = 𝐶 )
21 simpr ( ( ( 𝜑𝐴 = 𝐶 ) ∧ 𝐶 ∈ ( 𝐶 𝐿 𝐷 ) ) → 𝐶 ∈ ( 𝐶 𝐿 𝐷 ) )
22 20 21 eqeltrd ( ( ( 𝜑𝐴 = 𝐶 ) ∧ 𝐶 ∈ ( 𝐶 𝐿 𝐷 ) ) → 𝐴 ∈ ( 𝐶 𝐿 𝐷 ) )
23 22 ex ( ( 𝜑𝐴 = 𝐶 ) → ( 𝐶 ∈ ( 𝐶 𝐿 𝐷 ) → 𝐴 ∈ ( 𝐶 𝐿 𝐷 ) ) )
24 23 orim1d ( ( 𝜑𝐴 = 𝐶 ) → ( ( 𝐶 ∈ ( 𝐶 𝐿 𝐷 ) ∨ 𝐶 = 𝐷 ) → ( 𝐴 ∈ ( 𝐶 𝐿 𝐷 ) ∨ 𝐶 = 𝐷 ) ) )
25 19 24 mpd ( ( 𝜑𝐴 = 𝐶 ) → ( 𝐴 ∈ ( 𝐶 𝐿 𝐷 ) ∨ 𝐶 = 𝐷 ) )
26 10 ad2antrr ( ( ( 𝜑𝐴𝐶 ) ∧ ¬ ( 𝐴 ∈ ( 𝐶 𝐿 𝐷 ) ∨ 𝐶 = 𝐷 ) ) → ( 𝐵 ∈ ( 𝐶 𝐿 𝐷 ) ∨ 𝐶 = 𝐷 ) )
27 4 ad2antrr ( ( ( 𝜑𝐴𝐶 ) ∧ ¬ ( 𝐴 ∈ ( 𝐶 𝐿 𝐷 ) ∨ 𝐶 = 𝐷 ) ) → 𝐺 ∈ TarskiG )
28 5 ad2antrr ( ( ( 𝜑𝐴𝐶 ) ∧ ¬ ( 𝐴 ∈ ( 𝐶 𝐿 𝐷 ) ∨ 𝐶 = 𝐷 ) ) → 𝐴𝑃 )
29 7 ad2antrr ( ( ( 𝜑𝐴𝐶 ) ∧ ¬ ( 𝐴 ∈ ( 𝐶 𝐿 𝐷 ) ∨ 𝐶 = 𝐷 ) ) → 𝐶𝑃 )
30 8 ad2antrr ( ( ( 𝜑𝐴𝐶 ) ∧ ¬ ( 𝐴 ∈ ( 𝐶 𝐿 𝐷 ) ∨ 𝐶 = 𝐷 ) ) → 𝐷𝑃 )
31 6 ad2antrr ( ( ( 𝜑𝐴𝐶 ) ∧ ¬ ( 𝐴 ∈ ( 𝐶 𝐿 𝐷 ) ∨ 𝐶 = 𝐷 ) ) → 𝐵𝑃 )
32 simpr ( ( ( 𝜑𝐴𝐶 ) ∧ ¬ ( 𝐴 ∈ ( 𝐶 𝐿 𝐷 ) ∨ 𝐶 = 𝐷 ) ) → ¬ ( 𝐴 ∈ ( 𝐶 𝐿 𝐷 ) ∨ 𝐶 = 𝐷 ) )
33 4 adantr ( ( 𝜑𝐴𝐶 ) → 𝐺 ∈ TarskiG )
34 5 adantr ( ( 𝜑𝐴𝐶 ) → 𝐴𝑃 )
35 7 adantr ( ( 𝜑𝐴𝐶 ) → 𝐶𝑃 )
36 6 adantr ( ( 𝜑𝐴𝐶 ) → 𝐵𝑃 )
37 simpr ( ( 𝜑𝐴𝐶 ) → 𝐴𝐶 )
38 9 adantr ( ( 𝜑𝐴𝐶 ) → 𝐴 ∈ ( 𝐵 𝐿 𝐶 ) )
39 1 3 2 33 36 35 38 tglngne ( ( 𝜑𝐴𝐶 ) → 𝐵𝐶 )
40 39 necomd ( ( 𝜑𝐴𝐶 ) → 𝐶𝐵 )
41 1 2 3 33 35 36 34 40 38 lncom ( ( 𝜑𝐴𝐶 ) → 𝐴 ∈ ( 𝐶 𝐿 𝐵 ) )
42 1 2 3 33 34 35 36 37 41 40 lnrot2 ( ( 𝜑𝐴𝐶 ) → 𝐵 ∈ ( 𝐴 𝐿 𝐶 ) )
43 42 adantr ( ( ( 𝜑𝐴𝐶 ) ∧ ¬ ( 𝐴 ∈ ( 𝐶 𝐿 𝐷 ) ∨ 𝐶 = 𝐷 ) ) → 𝐵 ∈ ( 𝐴 𝐿 𝐶 ) )
44 1 3 2 4 6 7 9 tglngne ( 𝜑𝐵𝐶 )
45 44 ad2antrr ( ( ( 𝜑𝐴𝐶 ) ∧ ¬ ( 𝐴 ∈ ( 𝐶 𝐿 𝐷 ) ∨ 𝐶 = 𝐷 ) ) → 𝐵𝐶 )
46 1 2 3 27 28 29 30 31 32 43 45 ncolncol ( ( ( 𝜑𝐴𝐶 ) ∧ ¬ ( 𝐴 ∈ ( 𝐶 𝐿 𝐷 ) ∨ 𝐶 = 𝐷 ) ) → ¬ ( 𝐵 ∈ ( 𝐶 𝐿 𝐷 ) ∨ 𝐶 = 𝐷 ) )
47 26 46 condan ( ( 𝜑𝐴𝐶 ) → ( 𝐴 ∈ ( 𝐶 𝐿 𝐷 ) ∨ 𝐶 = 𝐷 ) )
48 25 47 pm2.61dane ( 𝜑 → ( 𝐴 ∈ ( 𝐶 𝐿 𝐷 ) ∨ 𝐶 = 𝐷 ) )