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

Theorem isperp 28796
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 5101 . . 3 (𝐴(⟂G‘𝐺)𝐵 ↔ ⟨𝐴, 𝐵⟩ ∈ (⟂G‘𝐺))
2 df-perpg 28780 . . . . 5 ⟂G = (𝑔 ∈ V ↦ {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran (LineG‘𝑔) ∧ 𝑏 ∈ ran (LineG‘𝑔)) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝑔))})
3 simpr 484 . . . . . . . . . . . 12 ((𝜑𝑔 = 𝐺) → 𝑔 = 𝐺)
43fveq2d 6846 . . . . . . . . . . 11 ((𝜑𝑔 = 𝐺) → (LineG‘𝑔) = (LineG‘𝐺))
5 isperp.l . . . . . . . . . . 11 𝐿 = (LineG‘𝐺)
64, 5eqtr4di 2790 . . . . . . . . . 10 ((𝜑𝑔 = 𝐺) → (LineG‘𝑔) = 𝐿)
76rneqd 5895 . . . . . . . . 9 ((𝜑𝑔 = 𝐺) → ran (LineG‘𝑔) = ran 𝐿)
87eleq2d 2823 . . . . . . . 8 ((𝜑𝑔 = 𝐺) → (𝑎 ∈ ran (LineG‘𝑔) ↔ 𝑎 ∈ ran 𝐿))
97eleq2d 2823 . . . . . . . 8 ((𝜑𝑔 = 𝐺) → (𝑏 ∈ ran (LineG‘𝑔) ↔ 𝑏 ∈ ran 𝐿))
108, 9anbi12d 633 . . . . . . 7 ((𝜑𝑔 = 𝐺) → ((𝑎 ∈ ran (LineG‘𝑔) ∧ 𝑏 ∈ ran (LineG‘𝑔)) ↔ (𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿)))
113fveq2d 6846 . . . . . . . . . 10 ((𝜑𝑔 = 𝐺) → (∟G‘𝑔) = (∟G‘𝐺))
1211eleq2d 2823 . . . . . . . . 9 ((𝜑𝑔 = 𝐺) → (⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝑔) ↔ ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺)))
1312ralbidv 3161 . . . . . . . 8 ((𝜑𝑔 = 𝐺) → (∀𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝑔) ↔ ∀𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺)))
1413rexralbidv 3204 . . . . . . 7 ((𝜑𝑔 = 𝐺) → (∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝑔) ↔ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺)))
1510, 14anbi12d 633 . . . . . 6 ((𝜑𝑔 = 𝐺) → (((𝑎 ∈ ran (LineG‘𝑔) ∧ 𝑏 ∈ ran (LineG‘𝑔)) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝑔)) ↔ ((𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))))
1615opabbidv 5166 . . . . 5 ((𝜑𝑔 = 𝐺) → {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran (LineG‘𝑔) ∧ 𝑏 ∈ ran (LineG‘𝑔)) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝑔))} = {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))})
17 isperp.g . . . . . 6 (𝜑𝐺 ∈ TarskiG)
1817elexd 3466 . . . . 5 (𝜑𝐺 ∈ V)
195fvexi 6856 . . . . . . . 8 𝐿 ∈ V
20 rnexg 7854 . . . . . . . 8 (𝐿 ∈ V → ran 𝐿 ∈ V)
2119, 20mp1i 13 . . . . . . 7 (𝜑 → ran 𝐿 ∈ V)
2221, 21xpexd 7706 . . . . . 6 (𝜑 → (ran 𝐿 × ran 𝐿) ∈ V)
23 opabssxp 5724 . . . . . . 7 {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))} ⊆ (ran 𝐿 × ran 𝐿)
2423a1i 11 . . . . . 6 (𝜑 → {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))} ⊆ (ran 𝐿 × ran 𝐿))
2522, 24ssexd 5271 . . . . 5 (𝜑 → {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))} ∈ V)
262, 16, 18, 25fvmptd2 6958 . . . 4 (𝜑 → (⟂G‘𝐺) = {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))})
2726eleq2d 2823 . . 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 4169 . . . . 5 ((𝑎 = 𝐴𝑏 = 𝐵) → (𝑎𝑏) = (𝐴𝐵))
32 simpll 767 . . . . . 6 (((𝑎 = 𝐴𝑏 = 𝐵) ∧ 𝑥 ∈ (𝑎𝑏)) → 𝑎 = 𝐴)
33 simpllr 776 . . . . . . 7 ((((𝑎 = 𝐴𝑏 = 𝐵) ∧ 𝑥 ∈ (𝑎𝑏)) ∧ 𝑢𝑎) → 𝑏 = 𝐵)
3433raleqdv 3298 . . . . . 6 ((((𝑎 = 𝐴𝑏 = 𝐵) ∧ 𝑥 ∈ (𝑎𝑏)) ∧ 𝑢𝑎) → (∀𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺) ↔ ∀𝑣𝐵 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺)))
3532, 34raleqbidva 3304 . . . . 5 (((𝑎 = 𝐴𝑏 = 𝐵) ∧ 𝑥 ∈ (𝑎𝑏)) → (∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺) ↔ ∀𝑢𝐴𝑣𝐵 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺)))
3631, 35rexeqbidva 3305 . . . 4 ((𝑎 = 𝐴𝑏 = 𝐵) → (∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺) ↔ ∃𝑥 ∈ (𝐴𝐵)∀𝑢𝐴𝑣𝐵 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺)))
3736opelopab2a 5491 . . 3 ((𝐴 ∈ ran 𝐿𝐵 ∈ ran 𝐿) → (⟨𝐴, 𝐵⟩ ∈ {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))} ↔ ∃𝑥 ∈ (𝐴𝐵)∀𝑢𝐴𝑣𝐵 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺)))
3829, 30, 37syl2anc 585 . 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 1542  wcel 2114  wral 3052  wrex 3062  Vcvv 3442  cin 3902  wss 3903  cop 4588   class class class wbr 5100  {copab 5162   × cxp 5630  ran crn 5633  cfv 6500  ⟨“cs3 14777  Basecbs 17148  distcds 17198  TarskiGcstrkg 28511  Itvcitv 28517  LineGclng 28518  ∟Gcrag 28777  ⟂Gcperpg 28779
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1912  ax-6 1969  ax-7 2010  ax-8 2116  ax-9 2124  ax-10 2147  ax-11 2163  ax-12 2185  ax-ext 2709  ax-sep 5243  ax-nul 5253  ax-pow 5312  ax-pr 5379  ax-un 7690
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 849  df-3an 1089  df-tru 1545  df-fal 1555  df-ex 1782  df-nf 1786  df-sb 2069  df-mo 2540  df-eu 2570  df-clab 2716  df-cleq 2729  df-clel 2812  df-nfc 2886  df-ne 2934  df-ral 3053  df-rex 3063  df-rab 3402  df-v 3444  df-sbc 3743  df-csb 3852  df-dif 3906  df-un 3908  df-in 3910  df-ss 3920  df-nul 4288  df-if 4482  df-pw 4558  df-sn 4583  df-pr 4585  df-op 4589  df-uni 4866  df-br 5101  df-opab 5163  df-mpt 5182  df-id 5527  df-xp 5638  df-rel 5639  df-cnv 5640  df-co 5641  df-dm 5642  df-rn 5643  df-iota 6456  df-fun 6502  df-fv 6508  df-perpg 28780
This theorem is referenced by:  perpcom  28797  perpneq  28798  isperp2  28799
  Copyright terms: Public domain W3C validator