Metamath Proof Explorer


Theorem tglnpt3

Description: Find a third point on a line. (Contributed by Thierry Arnoux, 17-Jun-2026)

Ref Expression
Hypotheses tglnpt2.p 𝑃 = ( Base ‘ 𝐺 )
tglnpt2.i 𝐼 = ( Itv ‘ 𝐺 )
tglnpt2.l 𝐿 = ( LineG ‘ 𝐺 )
tglnpt2.g ( 𝜑𝐺 ∈ TarskiG )
tglnpt2.a ( 𝜑𝐴 ∈ ran 𝐿 )
tglnpt3.x ( 𝜑𝑋𝐴 )
tglnpt3.y ( 𝜑𝑌𝐴 )
tglnpt3.1 ( 𝜑𝑋𝑌 )
Assertion tglnpt3 ( 𝜑 → ∃ 𝑧𝐴 ( 𝑧𝑋𝑧𝑌 ) )

Proof

Step Hyp Ref Expression
1 tglnpt2.p 𝑃 = ( Base ‘ 𝐺 )
2 tglnpt2.i 𝐼 = ( Itv ‘ 𝐺 )
3 tglnpt2.l 𝐿 = ( LineG ‘ 𝐺 )
4 tglnpt2.g ( 𝜑𝐺 ∈ TarskiG )
5 tglnpt2.a ( 𝜑𝐴 ∈ ran 𝐿 )
6 tglnpt3.x ( 𝜑𝑋𝐴 )
7 tglnpt3.y ( 𝜑𝑌𝐴 )
8 tglnpt3.1 ( 𝜑𝑋𝑌 )
9 eqid ( dist ‘ 𝐺 ) = ( dist ‘ 𝐺 )
10 4 ad2antrr ( ( ( 𝜑𝑡𝐴 ) ∧ 𝑋𝑡 ) → 𝐺 ∈ TarskiG )
11 1 3 2 4 5 7 tglnpt ( 𝜑𝑌𝑃 )
12 11 ad2antrr ( ( ( 𝜑𝑡𝐴 ) ∧ 𝑋𝑡 ) → 𝑌𝑃 )
13 1 3 2 4 5 6 tglnpt ( 𝜑𝑋𝑃 )
14 13 ad2antrr ( ( ( 𝜑𝑡𝐴 ) ∧ 𝑋𝑡 ) → 𝑋𝑃 )
15 1 fvexi 𝑃 ∈ V
16 15 a1i ( 𝜑𝑃 ∈ V )
17 16 13 11 8 nehash2 ( 𝜑 → 2 ≤ ( ♯ ‘ 𝑃 ) )
18 17 ad2antrr ( ( ( 𝜑𝑡𝐴 ) ∧ 𝑋𝑡 ) → 2 ≤ ( ♯ ‘ 𝑃 ) )
19 1 9 2 10 12 14 18 tgbtwndiff ( ( ( 𝜑𝑡𝐴 ) ∧ 𝑋𝑡 ) → ∃ 𝑧𝑃 ( 𝑋 ∈ ( 𝑌 𝐼 𝑧 ) ∧ 𝑋𝑧 ) )
20 4 ad5antr ( ( ( ( ( ( 𝜑𝑡𝐴 ) ∧ 𝑋𝑡 ) ∧ 𝑧𝑃 ) ∧ 𝑋 ∈ ( 𝑌 𝐼 𝑧 ) ) ∧ 𝑋𝑧 ) → 𝐺 ∈ TarskiG )
21 13 ad5antr ( ( ( ( ( ( 𝜑𝑡𝐴 ) ∧ 𝑋𝑡 ) ∧ 𝑧𝑃 ) ∧ 𝑋 ∈ ( 𝑌 𝐼 𝑧 ) ) ∧ 𝑋𝑧 ) → 𝑋𝑃 )
22 11 ad5antr ( ( ( ( ( ( 𝜑𝑡𝐴 ) ∧ 𝑋𝑡 ) ∧ 𝑧𝑃 ) ∧ 𝑋 ∈ ( 𝑌 𝐼 𝑧 ) ) ∧ 𝑋𝑧 ) → 𝑌𝑃 )
23 simpllr ( ( ( ( ( ( 𝜑𝑡𝐴 ) ∧ 𝑋𝑡 ) ∧ 𝑧𝑃 ) ∧ 𝑋 ∈ ( 𝑌 𝐼 𝑧 ) ) ∧ 𝑋𝑧 ) → 𝑧𝑃 )
24 8 ad5antr ( ( ( ( ( ( 𝜑𝑡𝐴 ) ∧ 𝑋𝑡 ) ∧ 𝑧𝑃 ) ∧ 𝑋 ∈ ( 𝑌 𝐼 𝑧 ) ) ∧ 𝑋𝑧 ) → 𝑋𝑌 )
25 simpr ( ( ( ( ( ( 𝜑𝑡𝐴 ) ∧ 𝑋𝑡 ) ∧ 𝑧𝑃 ) ∧ 𝑋 ∈ ( 𝑌 𝐼 𝑧 ) ) ∧ 𝑋𝑧 ) → 𝑋𝑧 )
26 20 adantr ( ( ( ( ( ( ( 𝜑𝑡𝐴 ) ∧ 𝑋𝑡 ) ∧ 𝑧𝑃 ) ∧ 𝑋 ∈ ( 𝑌 𝐼 𝑧 ) ) ∧ 𝑋𝑧 ) ∧ 𝑌 = 𝑧 ) → 𝐺 ∈ TarskiG )
27 23 adantr ( ( ( ( ( ( ( 𝜑𝑡𝐴 ) ∧ 𝑋𝑡 ) ∧ 𝑧𝑃 ) ∧ 𝑋 ∈ ( 𝑌 𝐼 𝑧 ) ) ∧ 𝑋𝑧 ) ∧ 𝑌 = 𝑧 ) → 𝑧𝑃 )
28 21 adantr ( ( ( ( ( ( ( 𝜑𝑡𝐴 ) ∧ 𝑋𝑡 ) ∧ 𝑧𝑃 ) ∧ 𝑋 ∈ ( 𝑌 𝐼 𝑧 ) ) ∧ 𝑋𝑧 ) ∧ 𝑌 = 𝑧 ) → 𝑋𝑃 )
29 simpllr ( ( ( ( ( ( ( 𝜑𝑡𝐴 ) ∧ 𝑋𝑡 ) ∧ 𝑧𝑃 ) ∧ 𝑋 ∈ ( 𝑌 𝐼 𝑧 ) ) ∧ 𝑋𝑧 ) ∧ 𝑌 = 𝑧 ) → 𝑋 ∈ ( 𝑌 𝐼 𝑧 ) )
30 simpr ( ( ( ( ( ( ( 𝜑𝑡𝐴 ) ∧ 𝑋𝑡 ) ∧ 𝑧𝑃 ) ∧ 𝑋 ∈ ( 𝑌 𝐼 𝑧 ) ) ∧ 𝑋𝑧 ) ∧ 𝑌 = 𝑧 ) → 𝑌 = 𝑧 )
31 30 oveq1d ( ( ( ( ( ( ( 𝜑𝑡𝐴 ) ∧ 𝑋𝑡 ) ∧ 𝑧𝑃 ) ∧ 𝑋 ∈ ( 𝑌 𝐼 𝑧 ) ) ∧ 𝑋𝑧 ) ∧ 𝑌 = 𝑧 ) → ( 𝑌 𝐼 𝑧 ) = ( 𝑧 𝐼 𝑧 ) )
32 29 31 eleqtrd ( ( ( ( ( ( ( 𝜑𝑡𝐴 ) ∧ 𝑋𝑡 ) ∧ 𝑧𝑃 ) ∧ 𝑋 ∈ ( 𝑌 𝐼 𝑧 ) ) ∧ 𝑋𝑧 ) ∧ 𝑌 = 𝑧 ) → 𝑋 ∈ ( 𝑧 𝐼 𝑧 ) )
33 1 9 2 26 27 28 32 axtgbtwnid ( ( ( ( ( ( ( 𝜑𝑡𝐴 ) ∧ 𝑋𝑡 ) ∧ 𝑧𝑃 ) ∧ 𝑋 ∈ ( 𝑌 𝐼 𝑧 ) ) ∧ 𝑋𝑧 ) ∧ 𝑌 = 𝑧 ) → 𝑧 = 𝑋 )
34 33 eqcomd ( ( ( ( ( ( ( 𝜑𝑡𝐴 ) ∧ 𝑋𝑡 ) ∧ 𝑧𝑃 ) ∧ 𝑋 ∈ ( 𝑌 𝐼 𝑧 ) ) ∧ 𝑋𝑧 ) ∧ 𝑌 = 𝑧 ) → 𝑋 = 𝑧 )
35 25 34 mteqand ( ( ( ( ( ( 𝜑𝑡𝐴 ) ∧ 𝑋𝑡 ) ∧ 𝑧𝑃 ) ∧ 𝑋 ∈ ( 𝑌 𝐼 𝑧 ) ) ∧ 𝑋𝑧 ) → 𝑌𝑧 )
36 simplr ( ( ( ( ( ( 𝜑𝑡𝐴 ) ∧ 𝑋𝑡 ) ∧ 𝑧𝑃 ) ∧ 𝑋 ∈ ( 𝑌 𝐼 𝑧 ) ) ∧ 𝑋𝑧 ) → 𝑋 ∈ ( 𝑌 𝐼 𝑧 ) )
37 1 2 3 20 22 23 21 35 36 btwnlng1 ( ( ( ( ( ( 𝜑𝑡𝐴 ) ∧ 𝑋𝑡 ) ∧ 𝑧𝑃 ) ∧ 𝑋 ∈ ( 𝑌 𝐼 𝑧 ) ) ∧ 𝑋𝑧 ) → 𝑋 ∈ ( 𝑌 𝐿 𝑧 ) )
38 1 2 3 20 21 22 23 24 37 35 lnrot2 ( ( ( ( ( ( 𝜑𝑡𝐴 ) ∧ 𝑋𝑡 ) ∧ 𝑧𝑃 ) ∧ 𝑋 ∈ ( 𝑌 𝐼 𝑧 ) ) ∧ 𝑋𝑧 ) → 𝑧 ∈ ( 𝑋 𝐿 𝑌 ) )
39 1 2 3 4 13 11 8 8 5 6 7 tglinethru ( 𝜑𝐴 = ( 𝑋 𝐿 𝑌 ) )
40 39 ad5antr ( ( ( ( ( ( 𝜑𝑡𝐴 ) ∧ 𝑋𝑡 ) ∧ 𝑧𝑃 ) ∧ 𝑋 ∈ ( 𝑌 𝐼 𝑧 ) ) ∧ 𝑋𝑧 ) → 𝐴 = ( 𝑋 𝐿 𝑌 ) )
41 38 40 eleqtrrd ( ( ( ( ( ( 𝜑𝑡𝐴 ) ∧ 𝑋𝑡 ) ∧ 𝑧𝑃 ) ∧ 𝑋 ∈ ( 𝑌 𝐼 𝑧 ) ) ∧ 𝑋𝑧 ) → 𝑧𝐴 )
42 25 necomd ( ( ( ( ( ( 𝜑𝑡𝐴 ) ∧ 𝑋𝑡 ) ∧ 𝑧𝑃 ) ∧ 𝑋 ∈ ( 𝑌 𝐼 𝑧 ) ) ∧ 𝑋𝑧 ) → 𝑧𝑋 )
43 35 necomd ( ( ( ( ( ( 𝜑𝑡𝐴 ) ∧ 𝑋𝑡 ) ∧ 𝑧𝑃 ) ∧ 𝑋 ∈ ( 𝑌 𝐼 𝑧 ) ) ∧ 𝑋𝑧 ) → 𝑧𝑌 )
44 41 42 43 jca32 ( ( ( ( ( ( 𝜑𝑡𝐴 ) ∧ 𝑋𝑡 ) ∧ 𝑧𝑃 ) ∧ 𝑋 ∈ ( 𝑌 𝐼 𝑧 ) ) ∧ 𝑋𝑧 ) → ( 𝑧𝐴 ∧ ( 𝑧𝑋𝑧𝑌 ) ) )
45 44 anasss ( ( ( ( ( 𝜑𝑡𝐴 ) ∧ 𝑋𝑡 ) ∧ 𝑧𝑃 ) ∧ ( 𝑋 ∈ ( 𝑌 𝐼 𝑧 ) ∧ 𝑋𝑧 ) ) → ( 𝑧𝐴 ∧ ( 𝑧𝑋𝑧𝑌 ) ) )
46 45 expl ( ( ( 𝜑𝑡𝐴 ) ∧ 𝑋𝑡 ) → ( ( 𝑧𝑃 ∧ ( 𝑋 ∈ ( 𝑌 𝐼 𝑧 ) ∧ 𝑋𝑧 ) ) → ( 𝑧𝐴 ∧ ( 𝑧𝑋𝑧𝑌 ) ) ) )
47 46 reximdv2 ( ( ( 𝜑𝑡𝐴 ) ∧ 𝑋𝑡 ) → ( ∃ 𝑧𝑃 ( 𝑋 ∈ ( 𝑌 𝐼 𝑧 ) ∧ 𝑋𝑧 ) → ∃ 𝑧𝐴 ( 𝑧𝑋𝑧𝑌 ) ) )
48 19 47 mpd ( ( ( 𝜑𝑡𝐴 ) ∧ 𝑋𝑡 ) → ∃ 𝑧𝐴 ( 𝑧𝑋𝑧𝑌 ) )
49 1 2 3 4 5 6 tglnpt2 ( 𝜑 → ∃ 𝑡𝐴 𝑋𝑡 )
50 48 49 r19.29a ( 𝜑 → ∃ 𝑧𝐴 ( 𝑧𝑋𝑧𝑌 ) )