Metamath Proof Explorer


Theorem lnperpexs

Description: Existence of a perpendicular to a line L at a given point A . Theorem 10.15 of Schwabhauser p. 92. (Contributed by Thierry Arnoux, 2-Aug-2020)

Ref Expression
Hypotheses lnperpexs.p 𝑃 = ( Base ‘ 𝐺 )
lnperpexs.l 𝐿 = ( LineG ‘ 𝐺 )
lnperpexs.g ( 𝜑𝐺 ∈ TarskiG )
lnperpexs.h ( 𝜑𝐺 DimTarskiG≥ 2 )
lnperpexs.d ( 𝜑𝐷 ∈ ran 𝐿 )
lnperpexs.a ( 𝜑𝐴𝐷 )
lnperpexs.q ( 𝜑𝑄𝑃 )
lnperpexs.1 ( 𝜑 → ¬ 𝑄𝐷 )
Assertion lnperpexs ( 𝜑 → ∃ 𝑝𝑃 ( 𝐷 ( ⟂G ‘ 𝐺 ) ( 𝑝 𝐿 𝐴 ) ∧ 𝑝 ( ( hpG ‘ 𝐺 ) ‘ 𝐷 ) 𝑄 ) )

Proof

Step Hyp Ref Expression
1 lnperpexs.p 𝑃 = ( Base ‘ 𝐺 )
2 lnperpexs.l 𝐿 = ( LineG ‘ 𝐺 )
3 lnperpexs.g ( 𝜑𝐺 ∈ TarskiG )
4 lnperpexs.h ( 𝜑𝐺 DimTarskiG≥ 2 )
5 lnperpexs.d ( 𝜑𝐷 ∈ ran 𝐿 )
6 lnperpexs.a ( 𝜑𝐴𝐷 )
7 lnperpexs.q ( 𝜑𝑄𝑃 )
8 lnperpexs.1 ( 𝜑 → ¬ 𝑄𝐷 )
9 eqid ( dist ‘ 𝐺 ) = ( dist ‘ 𝐺 )
10 eqid ( Itv ‘ 𝐺 ) = ( Itv ‘ 𝐺 )
11 eleq1w ( 𝑎 = 𝑐 → ( 𝑎 ∈ ( 𝑃𝐷 ) ↔ 𝑐 ∈ ( 𝑃𝐷 ) ) )
12 eleq1w ( 𝑏 = 𝑑 → ( 𝑏 ∈ ( 𝑃𝐷 ) ↔ 𝑑 ∈ ( 𝑃𝐷 ) ) )
13 11 12 bi2anan9 ( ( 𝑎 = 𝑐𝑏 = 𝑑 ) → ( ( 𝑎 ∈ ( 𝑃𝐷 ) ∧ 𝑏 ∈ ( 𝑃𝐷 ) ) ↔ ( 𝑐 ∈ ( 𝑃𝐷 ) ∧ 𝑑 ∈ ( 𝑃𝐷 ) ) ) )
14 oveq12 ( ( 𝑎 = 𝑐𝑏 = 𝑑 ) → ( 𝑎 ( Itv ‘ 𝐺 ) 𝑏 ) = ( 𝑐 ( Itv ‘ 𝐺 ) 𝑑 ) )
15 14 eleq2d ( ( 𝑎 = 𝑐𝑏 = 𝑑 ) → ( 𝑠 ∈ ( 𝑎 ( Itv ‘ 𝐺 ) 𝑏 ) ↔ 𝑠 ∈ ( 𝑐 ( Itv ‘ 𝐺 ) 𝑑 ) ) )
16 15 rexbidv ( ( 𝑎 = 𝑐𝑏 = 𝑑 ) → ( ∃ 𝑠𝐷 𝑠 ∈ ( 𝑎 ( Itv ‘ 𝐺 ) 𝑏 ) ↔ ∃ 𝑠𝐷 𝑠 ∈ ( 𝑐 ( Itv ‘ 𝐺 ) 𝑑 ) ) )
17 eleq1w ( 𝑠 = 𝑡 → ( 𝑠 ∈ ( 𝑐 ( Itv ‘ 𝐺 ) 𝑑 ) ↔ 𝑡 ∈ ( 𝑐 ( Itv ‘ 𝐺 ) 𝑑 ) ) )
18 17 cbvrexvw ( ∃ 𝑠𝐷 𝑠 ∈ ( 𝑐 ( Itv ‘ 𝐺 ) 𝑑 ) ↔ ∃ 𝑡𝐷 𝑡 ∈ ( 𝑐 ( Itv ‘ 𝐺 ) 𝑑 ) )
19 16 18 bitrdi ( ( 𝑎 = 𝑐𝑏 = 𝑑 ) → ( ∃ 𝑠𝐷 𝑠 ∈ ( 𝑎 ( Itv ‘ 𝐺 ) 𝑏 ) ↔ ∃ 𝑡𝐷 𝑡 ∈ ( 𝑐 ( Itv ‘ 𝐺 ) 𝑑 ) ) )
20 13 19 anbi12d ( ( 𝑎 = 𝑐𝑏 = 𝑑 ) → ( ( ( 𝑎 ∈ ( 𝑃𝐷 ) ∧ 𝑏 ∈ ( 𝑃𝐷 ) ) ∧ ∃ 𝑠𝐷 𝑠 ∈ ( 𝑎 ( Itv ‘ 𝐺 ) 𝑏 ) ) ↔ ( ( 𝑐 ∈ ( 𝑃𝐷 ) ∧ 𝑑 ∈ ( 𝑃𝐷 ) ) ∧ ∃ 𝑡𝐷 𝑡 ∈ ( 𝑐 ( Itv ‘ 𝐺 ) 𝑑 ) ) ) )
21 20 cbvopabv { ⟨ 𝑎 , 𝑏 ⟩ ∣ ( ( 𝑎 ∈ ( 𝑃𝐷 ) ∧ 𝑏 ∈ ( 𝑃𝐷 ) ) ∧ ∃ 𝑠𝐷 𝑠 ∈ ( 𝑎 ( Itv ‘ 𝐺 ) 𝑏 ) ) } = { ⟨ 𝑐 , 𝑑 ⟩ ∣ ( ( 𝑐 ∈ ( 𝑃𝐷 ) ∧ 𝑑 ∈ ( 𝑃𝐷 ) ) ∧ ∃ 𝑡𝐷 𝑡 ∈ ( 𝑐 ( Itv ‘ 𝐺 ) 𝑑 ) ) }
22 1 9 10 2 3 4 5 21 6 7 8 lnperpex ( 𝜑 → ∃ 𝑝𝑃 ( 𝐷 ( ⟂G ‘ 𝐺 ) ( 𝑝 𝐿 𝐴 ) ∧ 𝑝 ( ( hpG ‘ 𝐺 ) ‘ 𝐷 ) 𝑄 ) )