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

Theorem perpln2 25606
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 25591 . . . . . . 7 ⟂G = (𝑔 ∈ V ↦ {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran (LineG‘𝑔) ∧ 𝑏 ∈ ran (LineG‘𝑔)) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝑔))})
21a1i 11 . . . . . 6 (𝜑 → ⟂G = (𝑔 ∈ V ↦ {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran (LineG‘𝑔) ∧ 𝑏 ∈ ran (LineG‘𝑔)) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝑔))}))
3 simpr 477 . . . . . . . . . . . . 13 ((𝜑𝑔 = 𝐺) → 𝑔 = 𝐺)
43fveq2d 6195 . . . . . . . . . . . 12 ((𝜑𝑔 = 𝐺) → (LineG‘𝑔) = (LineG‘𝐺))
5 perpln.l . . . . . . . . . . . 12 𝐿 = (LineG‘𝐺)
64, 5syl6eqr 2674 . . . . . . . . . . 11 ((𝜑𝑔 = 𝐺) → (LineG‘𝑔) = 𝐿)
76rneqd 5353 . . . . . . . . . 10 ((𝜑𝑔 = 𝐺) → ran (LineG‘𝑔) = ran 𝐿)
87eleq2d 2687 . . . . . . . . 9 ((𝜑𝑔 = 𝐺) → (𝑎 ∈ ran (LineG‘𝑔) ↔ 𝑎 ∈ ran 𝐿))
97eleq2d 2687 . . . . . . . . 9 ((𝜑𝑔 = 𝐺) → (𝑏 ∈ ran (LineG‘𝑔) ↔ 𝑏 ∈ ran 𝐿))
108, 9anbi12d 747 . . . . . . . 8 ((𝜑𝑔 = 𝐺) → ((𝑎 ∈ ran (LineG‘𝑔) ∧ 𝑏 ∈ ran (LineG‘𝑔)) ↔ (𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿)))
113fveq2d 6195 . . . . . . . . . . 11 ((𝜑𝑔 = 𝐺) → (∟G‘𝑔) = (∟G‘𝐺))
1211eleq2d 2687 . . . . . . . . . 10 ((𝜑𝑔 = 𝐺) → (⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝑔) ↔ ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺)))
1312ralbidv 2986 . . . . . . . . 9 ((𝜑𝑔 = 𝐺) → (∀𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝑔) ↔ ∀𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺)))
1413rexralbidv 3058 . . . . . . . 8 ((𝜑𝑔 = 𝐺) → (∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝑔) ↔ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺)))
1510, 14anbi12d 747 . . . . . . 7 ((𝜑𝑔 = 𝐺) → (((𝑎 ∈ ran (LineG‘𝑔) ∧ 𝑏 ∈ ran (LineG‘𝑔)) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝑔)) ↔ ((𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))))
1615opabbidv 4716 . . . . . 6 ((𝜑𝑔 = 𝐺) → {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran (LineG‘𝑔) ∧ 𝑏 ∈ ran (LineG‘𝑔)) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝑔))} = {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))})
17 perpln.1 . . . . . . 7 (𝜑𝐺 ∈ TarskiG)
18 elex 3212 . . . . . . 7 (𝐺 ∈ TarskiG → 𝐺 ∈ V)
1917, 18syl 17 . . . . . 6 (𝜑𝐺 ∈ V)
20 fvex 6201 . . . . . . . . . 10 (LineG‘𝐺) ∈ V
215, 20eqeltri 2697 . . . . . . . . 9 𝐿 ∈ V
22 rnexg 7098 . . . . . . . . 9 (𝐿 ∈ V → ran 𝐿 ∈ V)
2321, 22mp1i 13 . . . . . . . 8 (𝜑 → ran 𝐿 ∈ V)
24 xpexg 6960 . . . . . . . 8 ((ran 𝐿 ∈ V ∧ ran 𝐿 ∈ V) → (ran 𝐿 × ran 𝐿) ∈ V)
2523, 23, 24syl2anc 693 . . . . . . 7 (𝜑 → (ran 𝐿 × ran 𝐿) ∈ V)
26 opabssxp 5193 . . . . . . . 8 {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))} ⊆ (ran 𝐿 × ran 𝐿)
2726a1i 11 . . . . . . 7 (𝜑 → {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))} ⊆ (ran 𝐿 × ran 𝐿))
2825, 27ssexd 4805 . . . . . 6 (𝜑 → {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))} ∈ V)
292, 16, 19, 28fvmptd 6288 . . . . 5 (𝜑 → (⟂G‘𝐺) = {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))})
3029rneqd 5353 . . . 4 (𝜑 → ran (⟂G‘𝐺) = ran {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))})
31 rnss 5354 . . . . 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 3655 . . 3 (𝜑 → ran (⟂G‘𝐺) ⊆ ran (ran 𝐿 × ran 𝐿))
34 rnxpss 5566 . . 3 ran (ran 𝐿 × ran 𝐿) ⊆ ran 𝐿
3533, 34syl6ss 3615 . 2 (𝜑 → ran (⟂G‘𝐺) ⊆ ran 𝐿)
36 relopab 5247 . . . . . 6 Rel {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))}
3729releqd 5203 . . . . . 6 (𝜑 → (Rel (⟂G‘𝐺) ↔ Rel {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran 𝐿𝑏 ∈ ran 𝐿) ∧ ∃𝑥 ∈ (𝑎𝑏)∀𝑢𝑎𝑣𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))}))
3836, 37mpbiri 248 . . . . 5 (𝜑 → Rel (⟂G‘𝐺))
39 perpln.2 . . . . 5 (𝜑𝐴(⟂G‘𝐺)𝐵)
40 brrelex12 5155 . . . . 5 ((Rel (⟂G‘𝐺) ∧ 𝐴(⟂G‘𝐺)𝐵) → (𝐴 ∈ V ∧ 𝐵 ∈ V))
4138, 39, 40syl2anc 693 . . . 4 (𝜑 → (𝐴 ∈ V ∧ 𝐵 ∈ V))
4241simpld 475 . . 3 (𝜑𝐴 ∈ V)
4341simprd 479 . . 3 (𝜑𝐵 ∈ V)
44 brelrng 5355 . . 3 ((𝐴 ∈ V ∧ 𝐵 ∈ V ∧ 𝐴(⟂G‘𝐺)𝐵) → 𝐵 ∈ ran (⟂G‘𝐺))
4542, 43, 39, 44syl3anc 1326 . 2 (𝜑𝐵 ∈ ran (⟂G‘𝐺))
4635, 45sseldd 3604 1 (𝜑𝐵 ∈ ran 𝐿)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 384   = wceq 1483  wcel 1990  wral 2912  wrex 2913  Vcvv 3200  cin 3573  wss 3574   class class class wbr 4653  {copab 4712  cmpt 4729   × cxp 5112  ran crn 5115  Rel wrel 5119  cfv 5888  ⟨“cs3 13587  TarskiGcstrkg 25329  LineGclng 25336  ∟Gcrag 25588  ⟂Gcperpg 25590
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1722  ax-4 1737  ax-5 1839  ax-6 1888  ax-7 1935  ax-8 1992  ax-9 1999  ax-10 2019  ax-11 2034  ax-12 2047  ax-13 2246  ax-ext 2602  ax-sep 4781  ax-nul 4789  ax-pow 4843  ax-pr 4906  ax-un 6949
This theorem depends on definitions:  df-bi 197  df-or 385  df-an 386  df-3an 1039  df-tru 1486  df-ex 1705  df-nf 1710  df-sb 1881  df-eu 2474  df-mo 2475  df-clab 2609  df-cleq 2615  df-clel 2618  df-nfc 2753  df-ne 2795  df-ral 2917  df-rex 2918  df-rab 2921  df-v 3202  df-sbc 3436  df-csb 3534  df-dif 3577  df-un 3579  df-in 3581  df-ss 3588  df-nul 3916  df-if 4087  df-pw 4160  df-sn 4178  df-pr 4180  df-op 4184  df-uni 4437  df-br 4654  df-opab 4713  df-mpt 4730  df-id 5024  df-xp 5120  df-rel 5121  df-cnv 5122  df-co 5123  df-dm 5124  df-rn 5125  df-iota 5851  df-fun 5890  df-fv 5896  df-perpg 25591
This theorem is referenced by:  hlperpnel  25617  mideulem2  25626  opphllem  25627  opphllem3  25641  opphllem6  25644  trgcopy  25696
  Copyright terms: Public domain W3C validator