MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  isperp Structured version   Visualization version   GIF version

Theorem isperp 28691
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.)
Hypotheses
Ref Expression
isperp.p 𝑃 = (Base‘𝐺)
isperp.d = (dist‘𝐺)
isperp.i 𝐼 = (Itv‘𝐺)
isperp.l 𝐿 = (LineG‘𝐺)
isperp.g (𝜑𝐺 ∈ TarskiG)
isperp.a (𝜑𝐴 ∈ ran 𝐿)
isperp.b (𝜑𝐵 ∈ ran 𝐿)
Assertion
Ref Expression
isperp (𝜑 → (𝐴(⟂G‘𝐺)𝐵 ↔ ∃𝑥 ∈ (𝐴𝐵)∀𝑢𝐴𝑣𝐵 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺)))
Distinct variable groups:   𝑣,𝑢,𝑥,𝐴   𝑢,𝐵,𝑣,𝑥   𝑢,𝐺,𝑣,𝑥   𝜑,𝑢,𝑣,𝑥
Allowed substitution hints:   𝑃(𝑥,𝑣,𝑢)   𝐼(𝑥,𝑣,𝑢)   𝐿(𝑥,𝑣,𝑢)   (𝑥,𝑣,𝑢)

Proof of Theorem isperp
Dummy variables 𝑎 𝑏 𝑔 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 df-br 5094 . . 3 (𝐴(⟂G‘𝐺)𝐵 ↔ ⟨𝐴, 𝐵⟩ ∈ (⟂G‘𝐺))
2 df-perpg 28675 . . . . 5 ⟂G = (𝑔 ∈ V ↦ {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran (LineG‘𝑔) ∧ 𝑏 ∈ ran (LineG‘𝑔)) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝑔))})
3 simpr 484 . . . . . . . . . . . 12 ((𝜑𝑔 = 𝐺) → 𝑔 = 𝐺)
43fveq2d 6832 . . . . . . . . . . 11 ((𝜑𝑔 = 𝐺) → (LineG‘𝑔) = (LineG‘𝐺))
5 isperp.l . . . . . . . . . . 11 𝐿 = (LineG‘𝐺)
64, 5eqtr4di 2786 . . . . . . . . . 10 ((𝜑𝑔 = 𝐺) → (LineG‘𝑔) = 𝐿)
76rneqd 5882 . . . . . . . . 9 ((𝜑𝑔 = 𝐺) → ran (LineG‘𝑔) = ran 𝐿)
87eleq2d 2819 . . . . . . . 8 ((𝜑𝑔 = 𝐺) → (𝑎 ∈ ran (LineG‘𝑔) ↔ 𝑎 ∈ ran 𝐿))
97eleq2d 2819 . . . . . . . 8 ((𝜑𝑔 = 𝐺) → (𝑏 ∈ ran (LineG‘𝑔) ↔ 𝑏 ∈ ran 𝐿))
108, 9anbi12d 632 . . . . . . 7 ((𝜑𝑔 = 𝐺) → ((𝑎 ∈ ran (LineG‘𝑔) ∧ 𝑏 ∈ ran (LineG‘𝑔)) ↔ (𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿)))
113fveq2d 6832 . . . . . . . . . 10 ((𝜑𝑔 = 𝐺) → (∟G‘𝑔) = (∟G‘𝐺))
1211eleq2d 2819 . . . . . . . . 9 ((𝜑𝑔 = 𝐺) → (⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝑔) ↔ ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺)))
1312ralbidv 3156 . . . . . . . 8 ((𝜑𝑔 = 𝐺) → (∀𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝑔) ↔ ∀𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺)))
1413rexralbidv 3199 . . . . . . 7 ((𝜑𝑔 = 𝐺) → (∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝑔) ↔ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺)))
1510, 14anbi12d 632 . . . . . 6 ((𝜑𝑔 = 𝐺) → (((𝑎 ∈ ran (LineG‘𝑔) ∧ 𝑏 ∈ ran (LineG‘𝑔)) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝑔)) ↔ ((𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))))
1615opabbidv 5159 . . . . 5 ((𝜑𝑔 = 𝐺) → {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran (LineG‘𝑔) ∧ 𝑏 ∈ ran (LineG‘𝑔)) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝑔))} = {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))})
17 isperp.g . . . . . 6 (𝜑𝐺 ∈ TarskiG)
1817elexd 3461 . . . . 5 (𝜑𝐺 ∈ V)
195fvexi 6842 . . . . . . . 8 𝐿 ∈ V
20 rnexg 7838 . . . . . . . 8 (𝐿 ∈ V → ran 𝐿 ∈ V)
2119, 20mp1i 13 . . . . . . 7 (𝜑 → ran 𝐿 ∈ V)
2221, 21xpexd 7690 . . . . . 6 (𝜑 → (ran 𝐿 × ran 𝐿) ∈ V)
23 opabssxp 5711 . . . . . . 7 {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))} ⊆ (ran 𝐿 × ran 𝐿)
2423a1i 11 . . . . . 6 (𝜑 → {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))} ⊆ (ran 𝐿 × ran 𝐿))
2522, 24ssexd 5264 . . . . 5 (𝜑 → {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))} ∈ V)
262, 16, 18, 25fvmptd2 6943 . . . 4 (𝜑 → (⟂G‘𝐺) = {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))})
2726eleq2d 2819 . . 3 (𝜑 → (⟨𝐴, 𝐵⟩ ∈ (⟂G‘𝐺) ↔ ⟨𝐴, 𝐵⟩ ∈ {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))}))
281, 27bitrid 283 . 2 (𝜑 → (𝐴(⟂G‘𝐺)𝐵 ↔ ⟨𝐴, 𝐵⟩ ∈ {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))}))
29 isperp.a . . 3 (𝜑𝐴 ∈ ran 𝐿)
30 isperp.b . . 3 (𝜑𝐵 ∈ ran 𝐿)
31 ineq12 4164 . . . . 5 ((𝑎 = 𝐴𝑏 = 𝐵) → (𝑎𝑏) = (𝐴𝐵))
32 simpll 766 . . . . . 6 (((𝑎 = 𝐴𝑏 = 𝐵) ∧ 𝑥 ∈ (𝑎𝑏)) → 𝑎 = 𝐴)
33 simpllr 775 . . . . . . 7 ((((𝑎 = 𝐴𝑏 = 𝐵) ∧ 𝑥 ∈ (𝑎𝑏)) ∧ 𝑢𝑎) → 𝑏 = 𝐵)
3433raleqdv 3293 . . . . . 6 ((((𝑎 = 𝐴𝑏 = 𝐵) ∧ 𝑥 ∈ (𝑎𝑏)) ∧ 𝑢𝑎) → (∀𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺) ↔ ∀𝑣𝐵 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺)))
3532, 34raleqbidva 3299 . . . . 5 (((𝑎 = 𝐴𝑏 = 𝐵) ∧ 𝑥 ∈ (𝑎𝑏)) → (∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺) ↔ ∀𝑢𝐴𝑣𝐵 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺)))
3631, 35rexeqbidva 3300 . . . 4 ((𝑎 = 𝐴𝑏 = 𝐵) → (∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺) ↔ ∃𝑥 ∈ (𝐴𝐵)∀𝑢𝐴𝑣𝐵 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺)))
3736opelopab2a 5478 . . 3 ((𝐴 ∈ ran 𝐿𝐵 ∈ ran 𝐿) → (⟨𝐴, 𝐵⟩ ∈ {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))} ↔ ∃𝑥 ∈ (𝐴𝐵)∀𝑢𝐴𝑣𝐵 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺)))
3829, 30, 37syl2anc 584 . 2 (𝜑 → (⟨𝐴, 𝐵⟩ ∈ {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))} ↔ ∃𝑥 ∈ (𝐴𝐵)∀𝑢𝐴𝑣𝐵 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺)))
3928, 38bitrd 279 1 (𝜑 → (𝐴(⟂G‘𝐺)𝐵 ↔ ∃𝑥 ∈ (𝐴𝐵)∀𝑢𝐴𝑣𝐵 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺)))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 206  wa 395   = wceq 1541  wcel 2113  wral 3048  wrex 3057  Vcvv 3437  cin 3897  wss 3898  cop 4581   class class class wbr 5093  {copab 5155   × cxp 5617  ran crn 5620  cfv 6486  ⟨“cs3 14751  Basecbs 17122  distcds 17172  TarskiGcstrkg 28406  Itvcitv 28412  LineGclng 28413  ∟Gcrag 28672  ⟂Gcperpg 28674
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1796  ax-4 1810  ax-5 1911  ax-6 1968  ax-7 2009  ax-8 2115  ax-9 2123  ax-10 2146  ax-11 2162  ax-12 2182  ax-ext 2705  ax-sep 5236  ax-nul 5246  ax-pow 5305  ax-pr 5372  ax-un 7674
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3an 1088  df-tru 1544  df-fal 1554  df-ex 1781  df-nf 1785  df-sb 2068  df-mo 2537  df-eu 2566  df-clab 2712  df-cleq 2725  df-clel 2808  df-nfc 2882  df-ne 2930  df-ral 3049  df-rex 3058  df-rab 3397  df-v 3439  df-sbc 3738  df-csb 3847  df-dif 3901  df-un 3903  df-in 3905  df-ss 3915  df-nul 4283  df-if 4475  df-pw 4551  df-sn 4576  df-pr 4578  df-op 4582  df-uni 4859  df-br 5094  df-opab 5156  df-mpt 5175  df-id 5514  df-xp 5625  df-rel 5626  df-cnv 5627  df-co 5628  df-dm 5629  df-rn 5630  df-iota 6442  df-fun 6488  df-fv 6494  df-perpg 28675
This theorem is referenced by:  perpcom  28692  perpneq  28693  isperp2  28694
  Copyright terms: Public domain W3C validator