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

Theorem perpln2 29168
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 29153 . . . . . 6 ⟂G = (𝑔 ∈ V ↦ {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran (LineG‘𝑔) ∧ 𝑏 ∈ ran (LineG‘𝑔)) ∧ ∃𝑥 ∈ (𝑎 ∩ 𝑏)∀𝑢 ∈ 𝑎 ∀𝑣 ∈ 𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝑔))})
2 simpr 490 . . . . . . . . . . . . 13 ((𝜑 ∧ 𝑔 = 𝐺) → 𝑔 = 𝐺)
32fveq2d 6881 . . . . . . . . . . . 12 ((𝜑 ∧ 𝑔 = 𝐺) → (LineG‘𝑔) = (LineG‘𝐺))
4 perpln.l . . . . . . . . . . . 12 𝐿 = (LineG‘𝐺)
53, 4eqtr4di 2814 . . . . . . . . . . 11 ((𝜑 ∧ 𝑔 = 𝐺) → (LineG‘𝑔) = 𝐿)
65rneqd 5920 . . . . . . . . . 10 ((𝜑 ∧ 𝑔 = 𝐺) → ran (LineG‘𝑔) = ran 𝐿)
76eleq2d 2847 . . . . . . . . 9 ((𝜑 ∧ 𝑔 = 𝐺) → (𝑎 ∈ ran (LineG‘𝑔) ↔ 𝑎 ∈ ran 𝐿))
86eleq2d 2847 . . . . . . . . 9 ((𝜑 ∧ 𝑔 = 𝐺) → (𝑏 ∈ ran (LineG‘𝑔) ↔ 𝑏 ∈ ran 𝐿))
97, 8anbi12d 644 . . . . . . . 8 ((𝜑 ∧ 𝑔 = 𝐺) → ((𝑎 ∈ ran (LineG‘𝑔) ∧ 𝑏 ∈ ran (LineG‘𝑔)) ↔ (𝑎 ∈ ran 𝐿 ∧ 𝑏 ∈ ran 𝐿)))
102fveq2d 6881 . . . . . . . . . . 11 ((𝜑 ∧ 𝑔 = 𝐺) → (∟G‘𝑔) = (∟G‘𝐺))
1110eleq2d 2847 . . . . . . . . . 10 ((𝜑 ∧ 𝑔 = 𝐺) → (⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝑔) ↔ ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺)))
1211ralbidv 3186 . . . . . . . . 9 ((𝜑 ∧ 𝑔 = 𝐺) → (∀𝑣 ∈ 𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝑔) ↔ ∀𝑣 ∈ 𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺)))
1312rexralbidv 3229 . . . . . . . 8 ((𝜑 ∧ 𝑔 = 𝐺) → (∃𝑥 ∈ (𝑎 ∩ 𝑏)∀𝑢 ∈ 𝑎 ∀𝑣 ∈ 𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝑔) ↔ ∃𝑥 ∈ (𝑎 ∩ 𝑏)∀𝑢 ∈ 𝑎 ∀𝑣 ∈ 𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺)))
149, 13anbi12d 644 . . . . . . 7 ((𝜑 ∧ 𝑔 = 𝐺) → (((𝑎 ∈ ran (LineG‘𝑔) ∧ 𝑏 ∈ ran (LineG‘𝑔)) ∧ ∃𝑥 ∈ (𝑎 ∩ 𝑏)∀𝑢 ∈ 𝑎 ∀𝑣 ∈ 𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝑔)) ↔ ((𝑎 ∈ ran 𝐿 ∧ 𝑏 ∈ ran 𝐿) ∧ ∃𝑥 ∈ (𝑎 ∩ 𝑏)∀𝑢 ∈ 𝑎 ∀𝑣 ∈ 𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))))
1514opabbidv 5171 . . . . . 6 ((𝜑 ∧ 𝑔 = 𝐺) → {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran (LineG‘𝑔) ∧ 𝑏 ∈ ran (LineG‘𝑔)) ∧ ∃𝑥 ∈ (𝑎 ∩ 𝑏)∀𝑢 ∈ 𝑎 ∀𝑣 ∈ 𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝑔))} = {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran 𝐿 ∧ 𝑏 ∈ ran 𝐿) ∧ ∃𝑥 ∈ (𝑎 ∩ 𝑏)∀𝑢 ∈ 𝑎 ∀𝑣 ∈ 𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))})
16 perpln.1 . . . . . . 7 (𝜑 → 𝐺 ∈ TarskiG)
1716elexd 3474 . . . . . 6 (𝜑 → 𝐺 ∈ V)
184fvexi 6891 . . . . . . . . 9 𝐿 ∈ V
19 rnexg 7903 . . . . . . . . 9 (𝐿 ∈ V → ran 𝐿 ∈ V)
2018, 19mp1i 14 . . . . . . . 8 (𝜑 → ran 𝐿 ∈ V)
2120, 20xpexd 7754 . . . . . . 7 (𝜑 → (ran 𝐿 × ran 𝐿) ∈ V)
22 opabssxp 5743 . . . . . . . 8 {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran 𝐿 ∧ 𝑏 ∈ ran 𝐿) ∧ ∃𝑥 ∈ (𝑎 ∩ 𝑏)∀𝑢 ∈ 𝑎 ∀𝑣 ∈ 𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))} ⊆ (ran 𝐿 × ran 𝐿)
2322a1i 11 . . . . . . 7 (𝜑 → {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran 𝐿 ∧ 𝑏 ∈ ran 𝐿) ∧ ∃𝑥 ∈ (𝑎 ∩ 𝑏)∀𝑢 ∈ 𝑎 ∀𝑣 ∈ 𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))} ⊆ (ran 𝐿 × ran 𝐿))
2421, 23ssexd 5286 . . . . . 6 (𝜑 → {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran 𝐿 ∧ 𝑏 ∈ ran 𝐿) ∧ ∃𝑥 ∈ (𝑎 ∩ 𝑏)∀𝑢 ∈ 𝑎 ∀𝑣 ∈ 𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))} ∈ V)
251, 15, 17, 24fvmptd2 6994 . . . . 5 (𝜑 → (⟂G‘𝐺) = {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran 𝐿 ∧ 𝑏 ∈ ran 𝐿) ∧ ∃𝑥 ∈ (𝑎 ∩ 𝑏)∀𝑢 ∈ 𝑎 ∀𝑣 ∈ 𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))})
2625rneqd 5920 . . . 4 (𝜑 → ran (⟂G‘𝐺) = ran {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran 𝐿 ∧ 𝑏 ∈ ran 𝐿) ∧ ∃𝑥 ∈ (𝑎 ∩ 𝑏)∀𝑢 ∈ 𝑎 ∀𝑣 ∈ 𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))})
2722rnssi 5922 . . . 4 ran {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran 𝐿 ∧ 𝑏 ∈ ran 𝐿) ∧ ∃𝑥 ∈ (𝑎 ∩ 𝑏)∀𝑢 ∈ 𝑎 ∀𝑣 ∈ 𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))} ⊆ ran (ran 𝐿 × ran 𝐿)
2826, 27eqsstrdi 3975 . . 3 (𝜑 → ran (⟂G‘𝐺) ⊆ ran (ran 𝐿 × ran 𝐿))
29 rnxpss 6163 . . 3 ran (ran 𝐿 × ran 𝐿) ⊆ ran 𝐿
3028, 29sstrdi 3943 . 2 (𝜑 → ran (⟂G‘𝐺) ⊆ ran 𝐿)
31 relopabv 5799 . . . . . 6 Rel {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran 𝐿 ∧ 𝑏 ∈ ran 𝐿) ∧ ∃𝑥 ∈ (𝑎 ∩ 𝑏)∀𝑢 ∈ 𝑎 ∀𝑣 ∈ 𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))}
3225releqd 5755 . . . . . 6 (𝜑 → (Rel (⟂G‘𝐺) ↔ Rel {⟨𝑎, 𝑏⟩ ∣ ((𝑎 ∈ ran 𝐿 ∧ 𝑏 ∈ ran 𝐿) ∧ ∃𝑥 ∈ (𝑎 ∩ 𝑏)∀𝑢 ∈ 𝑎 ∀𝑣 ∈ 𝑏 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))}))
3331, 32mpbiri 261 . . . . 5 (𝜑 → Rel (⟂G‘𝐺))
34 perpln.2 . . . . 5 (𝜑 → 𝐴(⟂G‘𝐺)𝐵)
35 brrelex12 5703 . . . . 5 ((Rel (⟂G‘𝐺) ∧ 𝐴(⟂G‘𝐺)𝐵) → (𝐴 ∈ V ∧ 𝐵 ∈ V))
3633, 34, 35syl2anc 596 . . . 4 (𝜑 → (𝐴 ∈ V ∧ 𝐵 ∈ V))
3736simpld 500 . . 3 (𝜑 → 𝐴 ∈ V)
3836simprd 501 . . 3 (𝜑 → 𝐵 ∈ V)
39 brelrng 5923 . . 3 ((𝐴 ∈ V ∧ 𝐵 ∈ V ∧ 𝐴(⟂G‘𝐺)𝐵) → 𝐵 ∈ ran (⟂G‘𝐺))
4037, 38, 34, 39syl3anc 1398 . 2 (𝜑 → 𝐵 ∈ ran (⟂G‘𝐺))
4130, 40sseldd 3932 1 (𝜑 → 𝐵 ∈ ran 𝐿)
Colors of variables:    wff setvar class
This proof depends on syntax axioms:   → wi 4   ∧ wa 401   = wceq 1570   ∈ wcel 2145  ∀wral 3077  ∃wrex 3087  Vcvv 3451   ∩ cin 3898   ⊆ wss 3899   class class class wbr 5103  {copab 5167   × cxp 5649  ran crn 5652  Rel wrel 5656  ‘cfv 6531  ⟨“cs3 14973  TarskiGcstrkg 28871  LineGclng 28878  ∟Gcrag 29150  ⟂Gcperpg 29152
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1828  ax-4 1842  ax-5 1943  ax-6 2000  ax-7 2041  ax-8 2147  ax-9 2155  ax-10 2178  ax-11 2194  ax-12 2213  ax-ext 2733  ax-sep 5249  ax-nul 5260  ax-pow 5327  ax-pr 5391  ax-un 7740
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2100  df-mo 2565  df-eu 2595  df-clab 2740  df-cleq 2753  df-clel 2836  df-nfc 2910  df-ne 2957  df-ral 3078  df-rex 3088  df-rab 3414  df-v 3453  df-sbc 3740  df-csb 3848  df-dif 3902  df-un 3904  df-in 3906  df-ss 3916  df-nul 4280  df-if 4483  df-pw 4559  df-sn 4585  df-pr 4587  df-op 4591  df-uni 4868  df-br 5104  df-opab 5168  df-mpt 5187  df-id 5546  df-xp 5657  df-rel 5658  df-cnv 5659  df-co 5660  df-dm 5661  df-rn 5662  df-iota 6487  df-fun 6533  df-fv 6539  df-perpg 29153
This theorem is used by:  perpin  29182  hlperpnel  29183  mideulem2  29192  opphllem  29193  opphllem3  29207  opphllem5  29209  opphllem6  29210  trgcopy  29293  perpprlng  29410  prlngex  29411
  Copyright terms: Public domain W3C validator