Metamath Proof Explorer


Theorem isperp

Description: Property for 2 lines A, B to be perpendicular. Item (ii) of definition 8.11 of Schwabhauser p. 59. (Contributed by Thierry Arnoux, 16-Oct-2019)

Ref Expression
Hypotheses isperp.p 𝑃 = ( Base ‘ 𝐺 )
isperp.d = ( dist ‘ 𝐺 )
isperp.i 𝐼 = ( Itv ‘ 𝐺 )
isperp.l 𝐿 = ( LineG ‘ 𝐺 )
isperp.g ( 𝜑𝐺 ∈ TarskiG )
isperp.a ( 𝜑𝐴 ∈ ran 𝐿 )
isperp.b ( 𝜑𝐵 ∈ ran 𝐿 )
Assertion isperp ( 𝜑 → ( 𝐴 ( ⟂G ‘ 𝐺 ) 𝐵 ↔ ∃ 𝑥 ∈ ( 𝐴𝐵 ) ∀ 𝑢𝐴𝑣𝐵 ⟨“ 𝑢 𝑥 𝑣 ”⟩ ∈ ( ∟G ‘ 𝐺 ) ) )

Proof

Step Hyp Ref Expression
1 isperp.p 𝑃 = ( Base ‘ 𝐺 )
2 isperp.d = ( dist ‘ 𝐺 )
3 isperp.i 𝐼 = ( Itv ‘ 𝐺 )
4 isperp.l 𝐿 = ( LineG ‘ 𝐺 )
5 isperp.g ( 𝜑𝐺 ∈ TarskiG )
6 isperp.a ( 𝜑𝐴 ∈ ran 𝐿 )
7 isperp.b ( 𝜑𝐵 ∈ ran 𝐿 )
8 df-br ( 𝐴 ( ⟂G ‘ 𝐺 ) 𝐵 ↔ ⟨ 𝐴 , 𝐵 ⟩ ∈ ( ⟂G ‘ 𝐺 ) )
9 df-perpg ⟂G = ( 𝑔 ∈ V ↦ { ⟨ 𝑎 , 𝑏 ⟩ ∣ ( ( 𝑎 ∈ ran ( LineG ‘ 𝑔 ) ∧ 𝑏 ∈ ran ( LineG ‘ 𝑔 ) ) ∧ ∃ 𝑥 ∈ ( 𝑎𝑏 ) ∀ 𝑢𝑎𝑣𝑏 ⟨“ 𝑢 𝑥 𝑣 ”⟩ ∈ ( ∟G ‘ 𝑔 ) ) } )
10 simpr ( ( 𝜑𝑔 = 𝐺 ) → 𝑔 = 𝐺 )
11 10 fveq2d ( ( 𝜑𝑔 = 𝐺 ) → ( LineG ‘ 𝑔 ) = ( LineG ‘ 𝐺 ) )
12 11 4 eqtr4di ( ( 𝜑𝑔 = 𝐺 ) → ( LineG ‘ 𝑔 ) = 𝐿 )
13 12 rneqd ( ( 𝜑𝑔 = 𝐺 ) → ran ( LineG ‘ 𝑔 ) = ran 𝐿 )
14 13 eleq2d ( ( 𝜑𝑔 = 𝐺 ) → ( 𝑎 ∈ ran ( LineG ‘ 𝑔 ) ↔ 𝑎 ∈ ran 𝐿 ) )
15 13 eleq2d ( ( 𝜑𝑔 = 𝐺 ) → ( 𝑏 ∈ ran ( LineG ‘ 𝑔 ) ↔ 𝑏 ∈ ran 𝐿 ) )
16 14 15 anbi12d ( ( 𝜑𝑔 = 𝐺 ) → ( ( 𝑎 ∈ ran ( LineG ‘ 𝑔 ) ∧ 𝑏 ∈ ran ( LineG ‘ 𝑔 ) ) ↔ ( 𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿 ) ) )
17 10 fveq2d ( ( 𝜑𝑔 = 𝐺 ) → ( ∟G ‘ 𝑔 ) = ( ∟G ‘ 𝐺 ) )
18 17 eleq2d ( ( 𝜑𝑔 = 𝐺 ) → ( ⟨“ 𝑢 𝑥 𝑣 ”⟩ ∈ ( ∟G ‘ 𝑔 ) ↔ ⟨“ 𝑢 𝑥 𝑣 ”⟩ ∈ ( ∟G ‘ 𝐺 ) ) )
19 18 ralbidv ( ( 𝜑𝑔 = 𝐺 ) → ( ∀ 𝑣𝑏 ⟨“ 𝑢 𝑥 𝑣 ”⟩ ∈ ( ∟G ‘ 𝑔 ) ↔ ∀ 𝑣𝑏 ⟨“ 𝑢 𝑥 𝑣 ”⟩ ∈ ( ∟G ‘ 𝐺 ) ) )
20 19 rexralbidv ( ( 𝜑𝑔 = 𝐺 ) → ( ∃ 𝑥 ∈ ( 𝑎𝑏 ) ∀ 𝑢𝑎𝑣𝑏 ⟨“ 𝑢 𝑥 𝑣 ”⟩ ∈ ( ∟G ‘ 𝑔 ) ↔ ∃ 𝑥 ∈ ( 𝑎𝑏 ) ∀ 𝑢𝑎𝑣𝑏 ⟨“ 𝑢 𝑥 𝑣 ”⟩ ∈ ( ∟G ‘ 𝐺 ) ) )
21 16 20 anbi12d ( ( 𝜑𝑔 = 𝐺 ) → ( ( ( 𝑎 ∈ ran ( LineG ‘ 𝑔 ) ∧ 𝑏 ∈ ran ( LineG ‘ 𝑔 ) ) ∧ ∃ 𝑥 ∈ ( 𝑎𝑏 ) ∀ 𝑢𝑎𝑣𝑏 ⟨“ 𝑢 𝑥 𝑣 ”⟩ ∈ ( ∟G ‘ 𝑔 ) ) ↔ ( ( 𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿 ) ∧ ∃ 𝑥 ∈ ( 𝑎𝑏 ) ∀ 𝑢𝑎𝑣𝑏 ⟨“ 𝑢 𝑥 𝑣 ”⟩ ∈ ( ∟G ‘ 𝐺 ) ) ) )
22 21 opabbidv ( ( 𝜑𝑔 = 𝐺 ) → { ⟨ 𝑎 , 𝑏 ⟩ ∣ ( ( 𝑎 ∈ ran ( LineG ‘ 𝑔 ) ∧ 𝑏 ∈ ran ( LineG ‘ 𝑔 ) ) ∧ ∃ 𝑥 ∈ ( 𝑎𝑏 ) ∀ 𝑢𝑎𝑣𝑏 ⟨“ 𝑢 𝑥 𝑣 ”⟩ ∈ ( ∟G ‘ 𝑔 ) ) } = { ⟨ 𝑎 , 𝑏 ⟩ ∣ ( ( 𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿 ) ∧ ∃ 𝑥 ∈ ( 𝑎𝑏 ) ∀ 𝑢𝑎𝑣𝑏 ⟨“ 𝑢 𝑥 𝑣 ”⟩ ∈ ( ∟G ‘ 𝐺 ) ) } )
23 5 elexd ( 𝜑𝐺 ∈ V )
24 4 fvexi 𝐿 ∈ V
25 rnexg ( 𝐿 ∈ V → ran 𝐿 ∈ V )
26 24 25 mp1i ( 𝜑 → ran 𝐿 ∈ V )
27 26 26 xpexd ( 𝜑 → ( ran 𝐿 × ran 𝐿 ) ∈ V )
28 opabssxp { ⟨ 𝑎 , 𝑏 ⟩ ∣ ( ( 𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿 ) ∧ ∃ 𝑥 ∈ ( 𝑎𝑏 ) ∀ 𝑢𝑎𝑣𝑏 ⟨“ 𝑢 𝑥 𝑣 ”⟩ ∈ ( ∟G ‘ 𝐺 ) ) } ⊆ ( ran 𝐿 × ran 𝐿 )
29 28 a1i ( 𝜑 → { ⟨ 𝑎 , 𝑏 ⟩ ∣ ( ( 𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿 ) ∧ ∃ 𝑥 ∈ ( 𝑎𝑏 ) ∀ 𝑢𝑎𝑣𝑏 ⟨“ 𝑢 𝑥 𝑣 ”⟩ ∈ ( ∟G ‘ 𝐺 ) ) } ⊆ ( ran 𝐿 × ran 𝐿 ) )
30 27 29 ssexd ( 𝜑 → { ⟨ 𝑎 , 𝑏 ⟩ ∣ ( ( 𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿 ) ∧ ∃ 𝑥 ∈ ( 𝑎𝑏 ) ∀ 𝑢𝑎𝑣𝑏 ⟨“ 𝑢 𝑥 𝑣 ”⟩ ∈ ( ∟G ‘ 𝐺 ) ) } ∈ V )
31 9 22 23 30 fvmptd2 ( 𝜑 → ( ⟂G ‘ 𝐺 ) = { ⟨ 𝑎 , 𝑏 ⟩ ∣ ( ( 𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿 ) ∧ ∃ 𝑥 ∈ ( 𝑎𝑏 ) ∀ 𝑢𝑎𝑣𝑏 ⟨“ 𝑢 𝑥 𝑣 ”⟩ ∈ ( ∟G ‘ 𝐺 ) ) } )
32 31 eleq2d ( 𝜑 → ( ⟨ 𝐴 , 𝐵 ⟩ ∈ ( ⟂G ‘ 𝐺 ) ↔ ⟨ 𝐴 , 𝐵 ⟩ ∈ { ⟨ 𝑎 , 𝑏 ⟩ ∣ ( ( 𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿 ) ∧ ∃ 𝑥 ∈ ( 𝑎𝑏 ) ∀ 𝑢𝑎𝑣𝑏 ⟨“ 𝑢 𝑥 𝑣 ”⟩ ∈ ( ∟G ‘ 𝐺 ) ) } ) )
33 8 32 syl5bb ( 𝜑 → ( 𝐴 ( ⟂G ‘ 𝐺 ) 𝐵 ↔ ⟨ 𝐴 , 𝐵 ⟩ ∈ { ⟨ 𝑎 , 𝑏 ⟩ ∣ ( ( 𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿 ) ∧ ∃ 𝑥 ∈ ( 𝑎𝑏 ) ∀ 𝑢𝑎𝑣𝑏 ⟨“ 𝑢 𝑥 𝑣 ”⟩ ∈ ( ∟G ‘ 𝐺 ) ) } ) )
34 ineq12 ( ( 𝑎 = 𝐴𝑏 = 𝐵 ) → ( 𝑎𝑏 ) = ( 𝐴𝐵 ) )
35 simpll ( ( ( 𝑎 = 𝐴𝑏 = 𝐵 ) ∧ 𝑥 ∈ ( 𝑎𝑏 ) ) → 𝑎 = 𝐴 )
36 simpllr ( ( ( ( 𝑎 = 𝐴𝑏 = 𝐵 ) ∧ 𝑥 ∈ ( 𝑎𝑏 ) ) ∧ 𝑢𝑎 ) → 𝑏 = 𝐵 )
37 36 raleqdv ( ( ( ( 𝑎 = 𝐴𝑏 = 𝐵 ) ∧ 𝑥 ∈ ( 𝑎𝑏 ) ) ∧ 𝑢𝑎 ) → ( ∀ 𝑣𝑏 ⟨“ 𝑢 𝑥 𝑣 ”⟩ ∈ ( ∟G ‘ 𝐺 ) ↔ ∀ 𝑣𝐵 ⟨“ 𝑢 𝑥 𝑣 ”⟩ ∈ ( ∟G ‘ 𝐺 ) ) )
38 35 37 raleqbidva ( ( ( 𝑎 = 𝐴𝑏 = 𝐵 ) ∧ 𝑥 ∈ ( 𝑎𝑏 ) ) → ( ∀ 𝑢𝑎𝑣𝑏 ⟨“ 𝑢 𝑥 𝑣 ”⟩ ∈ ( ∟G ‘ 𝐺 ) ↔ ∀ 𝑢𝐴𝑣𝐵 ⟨“ 𝑢 𝑥 𝑣 ”⟩ ∈ ( ∟G ‘ 𝐺 ) ) )
39 34 38 rexeqbidva ( ( 𝑎 = 𝐴𝑏 = 𝐵 ) → ( ∃ 𝑥 ∈ ( 𝑎𝑏 ) ∀ 𝑢𝑎𝑣𝑏 ⟨“ 𝑢 𝑥 𝑣 ”⟩ ∈ ( ∟G ‘ 𝐺 ) ↔ ∃ 𝑥 ∈ ( 𝐴𝐵 ) ∀ 𝑢𝐴𝑣𝐵 ⟨“ 𝑢 𝑥 𝑣 ”⟩ ∈ ( ∟G ‘ 𝐺 ) ) )
40 39 opelopab2a ( ( 𝐴 ∈ ran 𝐿𝐵 ∈ ran 𝐿 ) → ( ⟨ 𝐴 , 𝐵 ⟩ ∈ { ⟨ 𝑎 , 𝑏 ⟩ ∣ ( ( 𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿 ) ∧ ∃ 𝑥 ∈ ( 𝑎𝑏 ) ∀ 𝑢𝑎𝑣𝑏 ⟨“ 𝑢 𝑥 𝑣 ”⟩ ∈ ( ∟G ‘ 𝐺 ) ) } ↔ ∃ 𝑥 ∈ ( 𝐴𝐵 ) ∀ 𝑢𝐴𝑣𝐵 ⟨“ 𝑢 𝑥 𝑣 ”⟩ ∈ ( ∟G ‘ 𝐺 ) ) )
41 6 7 40 syl2anc ( 𝜑 → ( ⟨ 𝐴 , 𝐵 ⟩ ∈ { ⟨ 𝑎 , 𝑏 ⟩ ∣ ( ( 𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿 ) ∧ ∃ 𝑥 ∈ ( 𝑎𝑏 ) ∀ 𝑢𝑎𝑣𝑏 ⟨“ 𝑢 𝑥 𝑣 ”⟩ ∈ ( ∟G ‘ 𝐺 ) ) } ↔ ∃ 𝑥 ∈ ( 𝐴𝐵 ) ∀ 𝑢𝐴𝑣𝐵 ⟨“ 𝑢 𝑥 𝑣 ”⟩ ∈ ( ∟G ‘ 𝐺 ) ) )
42 33 41 bitrd ( 𝜑 → ( 𝐴 ( ⟂G ‘ 𝐺 ) 𝐵 ↔ ∃ 𝑥 ∈ ( 𝐴𝐵 ) ∀ 𝑢𝐴𝑣𝐵 ⟨“ 𝑢 𝑥 𝑣 ”⟩ ∈ ( ∟G ‘ 𝐺 ) ) )