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

Theorem perpln2 25805
Description: Derive a line from perpendicularity. (Contributed by Thierry Arnoux, 27-Nov-2019.)
Hypotheses
Ref Expression
perpln.l 𝐿 = (LineG‘𝐺)
perpln.1 (𝜑𝐺 ∈ TarskiG)
perpln.2 (𝜑𝐴(⟂G‘𝐺)𝐵)
Assertion
Ref Expression
perpln2 (𝜑𝐵 ∈ ran 𝐿)

Proof of Theorem perpln2
Dummy variables 𝑎 𝑏 𝑔 𝑢 𝑣 𝑥 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 df-perpg 25790 . . . . . . 7 ⟂G = (𝑔 ∈ V ↦ {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran (LineG‘𝑔) ∧ 𝑏 ∈ ran (LineG‘𝑔)) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝑔))})
21a1i 11 . . . . . 6 (𝜑 → ⟂G = (𝑔 ∈ V ↦ {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran (LineG‘𝑔) ∧ 𝑏 ∈ ran (LineG‘𝑔)) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝑔))}))
3 simpr 479 . . . . . . . . . . . . 13 ((𝜑𝑔 = 𝐺) → 𝑔 = 𝐺)
43fveq2d 6356 . . . . . . . . . . . 12 ((𝜑𝑔 = 𝐺) → (LineG‘𝑔) = (LineG‘𝐺))
5 perpln.l . . . . . . . . . . . 12 𝐿 = (LineG‘𝐺)
64, 5syl6eqr 2812 . . . . . . . . . . 11 ((𝜑𝑔 = 𝐺) → (LineG‘𝑔) = 𝐿)
76rneqd 5508 . . . . . . . . . 10 ((𝜑𝑔 = 𝐺) → ran (LineG‘𝑔) = ran 𝐿)
87eleq2d 2825 . . . . . . . . 9 ((𝜑𝑔 = 𝐺) → (𝑎 ∈ ran (LineG‘𝑔) ↔ 𝑎 ∈ ran 𝐿))
97eleq2d 2825 . . . . . . . . 9 ((𝜑𝑔 = 𝐺) → (𝑏 ∈ ran (LineG‘𝑔) ↔ 𝑏 ∈ ran 𝐿))
108, 9anbi12d 749 . . . . . . . 8 ((𝜑𝑔 = 𝐺) → ((𝑎 ∈ ran (LineG‘𝑔) ∧ 𝑏 ∈ ran (LineG‘𝑔)) ↔ (𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿)))
113fveq2d 6356 . . . . . . . . . . 11 ((𝜑𝑔 = 𝐺) → (∟G‘𝑔) = (∟G‘𝐺))
1211eleq2d 2825 . . . . . . . . . 10 ((𝜑𝑔 = 𝐺) → (⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝑔) ↔ ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺)))
1312ralbidv 3124 . . . . . . . . 9 ((𝜑𝑔 = 𝐺) → (∀𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝑔) ↔ ∀𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺)))
1413rexralbidv 3196 . . . . . . . 8 ((𝜑𝑔 = 𝐺) → (∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝑔) ↔ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺)))
1510, 14anbi12d 749 . . . . . . 7 ((𝜑𝑔 = 𝐺) → (((𝑎 ∈ ran (LineG‘𝑔) ∧ 𝑏 ∈ ran (LineG‘𝑔)) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝑔)) ↔ ((𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))))
1615opabbidv 4868 . . . . . 6 ((𝜑𝑔 = 𝐺) → {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran (LineG‘𝑔) ∧ 𝑏 ∈ ran (LineG‘𝑔)) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝑔))} = {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))})
17 perpln.1 . . . . . . 7 (𝜑𝐺 ∈ TarskiG)
18 elex 3352 . . . . . . 7 (𝐺 ∈ TarskiG → 𝐺 ∈ V)
1917, 18syl 17 . . . . . 6 (𝜑𝐺 ∈ V)
20 fvex 6362 . . . . . . . . . 10 (LineG‘𝐺) ∈ V
215, 20eqeltri 2835 . . . . . . . . 9 𝐿 ∈ V
22 rnexg 7263 . . . . . . . . 9 (𝐿 ∈ V → ran 𝐿 ∈ V)
2321, 22mp1i 13 . . . . . . . 8 (𝜑 → ran 𝐿 ∈ V)
24 xpexg 7125 . . . . . . . 8 ((ran 𝐿 ∈ V ∧ ran 𝐿 ∈ V) → (ran 𝐿 × ran 𝐿) ∈ V)
2523, 23, 24syl2anc 696 . . . . . . 7 (𝜑 → (ran 𝐿 × ran 𝐿) ∈ V)
26 opabssxp 5350 . . . . . . . 8 {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))} ⊆ (ran 𝐿 × ran 𝐿)
2726a1i 11 . . . . . . 7 (𝜑 → {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))} ⊆ (ran 𝐿 × ran 𝐿))
2825, 27ssexd 4957 . . . . . 6 (𝜑 → {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))} ∈ V)
292, 16, 19, 28fvmptd 6450 . . . . 5 (𝜑 → (⟂G‘𝐺) = {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))})
3029rneqd 5508 . . . 4 (𝜑 → ran (⟂G‘𝐺) = ran {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))})
31 rnss 5509 . . . . 5 ({⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))} ⊆ (ran 𝐿 × ran 𝐿) → ran {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))} ⊆ ran (ran 𝐿 × ran 𝐿))
3226, 31ax-mp 5 . . . 4 ran {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))} ⊆ ran (ran 𝐿 × ran 𝐿)
3330, 32syl6eqss 3796 . . 3 (𝜑 → ran (⟂G‘𝐺) ⊆ ran (ran 𝐿 × ran 𝐿))
34 rnxpss 5724 . . 3 ran (ran 𝐿 × ran 𝐿) ⊆ ran 𝐿
3533, 34syl6ss 3756 . 2 (𝜑 → ran (⟂G‘𝐺) ⊆ ran 𝐿)
36 relopab 5403 . . . . . 6 Rel {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))}
3729releqd 5360 . . . . . 6 (𝜑 → (Rel (⟂G‘𝐺) ↔ Rel {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))}))
3836, 37mpbiri 248 . . . . 5 (𝜑 → Rel (⟂G‘𝐺))
39 perpln.2 . . . . 5 (𝜑𝐴(⟂G‘𝐺)𝐵)
40 brrelex12 5312 . . . . 5 ((Rel (⟂G‘𝐺) ∧ 𝐴(⟂G‘𝐺)𝐵) → (𝐴 ∈ V ∧ 𝐵 ∈ V))
4138, 39, 40syl2anc 696 . . . 4 (𝜑 → (𝐴 ∈ V ∧ 𝐵 ∈ V))
4241simpld 477 . . 3 (𝜑𝐴 ∈ V)
4341simprd 482 . . 3 (𝜑𝐵 ∈ V)
44 brelrng 5510 . . 3 ((𝐴 ∈ V ∧ 𝐵 ∈ V ∧ 𝐴(⟂G‘𝐺)𝐵) → 𝐵 ∈ ran (⟂G‘𝐺))
4542, 43, 39, 44syl3anc 1477 . 2 (𝜑𝐵 ∈ ran (⟂G‘𝐺))
4635, 45sseldd 3745 1 (𝜑𝐵 ∈ ran 𝐿)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 383   = wceq 1632  wcel 2139  wral 3050  wrex 3051  Vcvv 3340  cin 3714  wss 3715   class class class wbr 4804  {copab 4864  cmpt 4881   × cxp 5264  ran crn 5267  Rel wrel 5271  cfv 6049  ⟨“cs3 13787  TarskiGcstrkg 25528  LineGclng 25535  ∟Gcrag 25787  ⟂Gcperpg 25789
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1871  ax-4 1886  ax-5 1988  ax-6 2054  ax-7 2090  ax-8 2141  ax-9 2148  ax-10 2168  ax-11 2183  ax-12 2196  ax-13 2391  ax-ext 2740  ax-sep 4933  ax-nul 4941  ax-pow 4992  ax-pr 5055  ax-un 7114
This theorem depends on definitions:  df-bi 197  df-or 384  df-an 385  df-3an 1074  df-tru 1635  df-ex 1854  df-nf 1859  df-sb 2047  df-eu 2611  df-mo 2612  df-clab 2747  df-cleq 2753  df-clel 2756  df-nfc 2891  df-ne 2933  df-ral 3055  df-rex 3056  df-rab 3059  df-v 3342  df-sbc 3577  df-csb 3675  df-dif 3718  df-un 3720  df-in 3722  df-ss 3729  df-nul 4059  df-if 4231  df-pw 4304  df-sn 4322  df-pr 4324  df-op 4328  df-uni 4589  df-br 4805  df-opab 4865  df-mpt 4882  df-id 5174  df-xp 5272  df-rel 5273  df-cnv 5274  df-co 5275  df-dm 5276  df-rn 5277  df-iota 6012  df-fun 6051  df-fv 6057  df-perpg 25790
This theorem is referenced by:  hlperpnel  25816  mideulem2  25825  opphllem  25826  opphllem3  25840  opphllem6  25843  trgcopy  25895
  Copyright terms: Public domain W3C validator