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

Theorem perpcom 29049
Description: The "perpendicular" relation is symmetric. Theorem 8.12 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 𝐿)
perpcom.1 (𝜑𝐴(⟂G‘𝐺)𝐵)
Assertion
Ref Expression
perpcom (𝜑𝐵(⟂G‘𝐺)𝐴)

Proof of Theorem perpcom
Dummy variables 𝑢 𝑣 𝑥 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 perpcom.1 . 2 (𝜑𝐴(⟂G‘𝐺)𝐵)
2 incom 4162 . . . . 5 (𝐴𝐵) = (𝐵𝐴)
32a1i 11 . . . 4 (𝜑 → (𝐴𝐵) = (𝐵𝐴))
4 ralcom 3295 . . . . 5 (∀𝑢𝐴𝑣𝐵 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺) ↔ ∀𝑣𝐵𝑢𝐴 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))
5 isperp.p . . . . . . . 8 𝑃 = (Base‘𝐺)
6 isperp.d . . . . . . . 8 = (dist‘𝐺)
7 isperp.i . . . . . . . 8 𝐼 = (Itv‘𝐺)
8 isperp.l . . . . . . . 8 𝐿 = (LineG‘𝐺)
9 eqid 2765 . . . . . . . 8 (pInvG‘𝐺) = (pInvG‘𝐺)
10 isperp.g . . . . . . . . 9 (𝜑𝐺 ∈ TarskiG)
1110ad3antrrr 743 . . . . . . . 8 ((((𝜑𝑥 ∈ (𝐴𝐵)) ∧ (𝑣𝐵𝑢𝐴)) ∧ ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺)) → 𝐺 ∈ TarskiG)
12 isperp.a . . . . . . . . . 10 (𝜑𝐴 ∈ ran 𝐿)
1312ad3antrrr 743 . . . . . . . . 9 ((((𝜑𝑥 ∈ (𝐴𝐵)) ∧ (𝑣𝐵𝑢𝐴)) ∧ ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺)) → 𝐴 ∈ ran 𝐿)
14 simplrr 790 . . . . . . . . 9 ((((𝜑𝑥 ∈ (𝐴𝐵)) ∧ (𝑣𝐵𝑢𝐴)) ∧ ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺)) → 𝑢𝐴)
155, 8, 7, 11, 13, 14tglnpt 28874 . . . . . . . 8 ((((𝜑𝑥 ∈ (𝐴𝐵)) ∧ (𝑣𝐵𝑢𝐴)) ∧ ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺)) → 𝑢𝑃)
16 simpllr 788 . . . . . . . . . 10 ((((𝜑𝑥 ∈ (𝐴𝐵)) ∧ (𝑣𝐵𝑢𝐴)) ∧ ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺)) → 𝑥 ∈ (𝐴𝐵))
1716elin1d 4157 . . . . . . . . 9 ((((𝜑𝑥 ∈ (𝐴𝐵)) ∧ (𝑣𝐵𝑢𝐴)) ∧ ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺)) → 𝑥𝐴)
185, 8, 7, 11, 13, 17tglnpt 28874 . . . . . . . 8 ((((𝜑𝑥 ∈ (𝐴𝐵)) ∧ (𝑣𝐵𝑢𝐴)) ∧ ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺)) → 𝑥𝑃)
19 isperp.b . . . . . . . . . 10 (𝜑𝐵 ∈ ran 𝐿)
2019ad3antrrr 743 . . . . . . . . 9 ((((𝜑𝑥 ∈ (𝐴𝐵)) ∧ (𝑣𝐵𝑢𝐴)) ∧ ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺)) → 𝐵 ∈ ran 𝐿)
21 simplrl 789 . . . . . . . . 9 ((((𝜑𝑥 ∈ (𝐴𝐵)) ∧ (𝑣𝐵𝑢𝐴)) ∧ ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺)) → 𝑣𝐵)
225, 8, 7, 11, 20, 21tglnpt 28874 . . . . . . . 8 ((((𝜑𝑥 ∈ (𝐴𝐵)) ∧ (𝑣𝐵𝑢𝐴)) ∧ ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺)) → 𝑣𝑃)
23 simpr 490 . . . . . . . 8 ((((𝜑𝑥 ∈ (𝐴𝐵)) ∧ (𝑣𝐵𝑢𝐴)) ∧ ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺)) → ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))
245, 6, 7, 8, 9, 11, 15, 18, 22, 23ragcom 29034 . . . . . . 7 ((((𝜑𝑥 ∈ (𝐴𝐵)) ∧ (𝑣𝐵𝑢𝐴)) ∧ ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺)) → ⟨“𝑣𝑥𝑢”⟩ ∈ (∟G‘𝐺))
2510ad3antrrr 743 . . . . . . . 8 ((((𝜑𝑥 ∈ (𝐴𝐵)) ∧ (𝑣𝐵𝑢𝐴)) ∧ ⟨“𝑣𝑥𝑢”⟩ ∈ (∟G‘𝐺)) → 𝐺 ∈ TarskiG)
2619ad3antrrr 743 . . . . . . . . 9 ((((𝜑𝑥 ∈ (𝐴𝐵)) ∧ (𝑣𝐵𝑢𝐴)) ∧ ⟨“𝑣𝑥𝑢”⟩ ∈ (∟G‘𝐺)) → 𝐵 ∈ ran 𝐿)
27 simplrl 789 . . . . . . . . 9 ((((𝜑𝑥 ∈ (𝐴𝐵)) ∧ (𝑣𝐵𝑢𝐴)) ∧ ⟨“𝑣𝑥𝑢”⟩ ∈ (∟G‘𝐺)) → 𝑣𝐵)
285, 8, 7, 25, 26, 27tglnpt 28874 . . . . . . . 8 ((((𝜑𝑥 ∈ (𝐴𝐵)) ∧ (𝑣𝐵𝑢𝐴)) ∧ ⟨“𝑣𝑥𝑢”⟩ ∈ (∟G‘𝐺)) → 𝑣𝑃)
2912ad3antrrr 743 . . . . . . . . 9 ((((𝜑𝑥 ∈ (𝐴𝐵)) ∧ (𝑣𝐵𝑢𝐴)) ∧ ⟨“𝑣𝑥𝑢”⟩ ∈ (∟G‘𝐺)) → 𝐴 ∈ ran 𝐿)
30 simpllr 788 . . . . . . . . . 10 ((((𝜑𝑥 ∈ (𝐴𝐵)) ∧ (𝑣𝐵𝑢𝐴)) ∧ ⟨“𝑣𝑥𝑢”⟩ ∈ (∟G‘𝐺)) → 𝑥 ∈ (𝐴𝐵))
3130elin1d 4157 . . . . . . . . 9 ((((𝜑𝑥 ∈ (𝐴𝐵)) ∧ (𝑣𝐵𝑢𝐴)) ∧ ⟨“𝑣𝑥𝑢”⟩ ∈ (∟G‘𝐺)) → 𝑥𝐴)
325, 8, 7, 25, 29, 31tglnpt 28874 . . . . . . . 8 ((((𝜑𝑥 ∈ (𝐴𝐵)) ∧ (𝑣𝐵𝑢𝐴)) ∧ ⟨“𝑣𝑥𝑢”⟩ ∈ (∟G‘𝐺)) → 𝑥𝑃)
33 simplrr 790 . . . . . . . . 9 ((((𝜑𝑥 ∈ (𝐴𝐵)) ∧ (𝑣𝐵𝑢𝐴)) ∧ ⟨“𝑣𝑥𝑢”⟩ ∈ (∟G‘𝐺)) → 𝑢𝐴)
345, 8, 7, 25, 29, 33tglnpt 28874 . . . . . . . 8 ((((𝜑𝑥 ∈ (𝐴𝐵)) ∧ (𝑣𝐵𝑢𝐴)) ∧ ⟨“𝑣𝑥𝑢”⟩ ∈ (∟G‘𝐺)) → 𝑢𝑃)
35 simpr 490 . . . . . . . 8 ((((𝜑𝑥 ∈ (𝐴𝐵)) ∧ (𝑣𝐵𝑢𝐴)) ∧ ⟨“𝑣𝑥𝑢”⟩ ∈ (∟G‘𝐺)) → ⟨“𝑣𝑥𝑢”⟩ ∈ (∟G‘𝐺))
365, 6, 7, 8, 9, 25, 28, 32, 34, 35ragcom 29034 . . . . . . 7 ((((𝜑𝑥 ∈ (𝐴𝐵)) ∧ (𝑣𝐵𝑢𝐴)) ∧ ⟨“𝑣𝑥𝑢”⟩ ∈ (∟G‘𝐺)) → ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))
3724, 36impbida 813 . . . . . 6 (((𝜑𝑥 ∈ (𝐴𝐵)) ∧ (𝑣𝐵𝑢𝐴)) → (⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺) ↔ ⟨“𝑣𝑥𝑢”⟩ ∈ (∟G‘𝐺)))
38372ralbidva 3229 . . . . 5 ((𝜑𝑥 ∈ (𝐴𝐵)) → (∀𝑣𝐵𝑢𝐴 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺) ↔ ∀𝑣𝐵𝑢𝐴 ⟨“𝑣𝑥𝑢”⟩ ∈ (∟G‘𝐺)))
394, 38bitrid 286 . . . 4 ((𝜑𝑥 ∈ (𝐴𝐵)) → (∀𝑢𝐴𝑣𝐵 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺) ↔ ∀𝑣𝐵𝑢𝐴 ⟨“𝑣𝑥𝑢”⟩ ∈ (∟G‘𝐺)))
403, 39rexeqbidva 3332 . . 3 (𝜑 → (∃𝑥 ∈ (𝐴𝐵)∀𝑢𝐴𝑣𝐵 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺) ↔ ∃𝑥 ∈ (𝐵𝐴)∀𝑣𝐵𝑢𝐴 ⟨“𝑣𝑥𝑢”⟩ ∈ (∟G‘𝐺)))
415, 6, 7, 8, 10, 12, 19isperp 29048 . . 3 (𝜑 → (𝐴(⟂G‘𝐺)𝐵 ↔ ∃𝑥 ∈ (𝐴𝐵)∀𝑢𝐴𝑣𝐵 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺)))
425, 6, 7, 8, 10, 19, 12isperp 29048 . . 3 (𝜑 → (𝐵(⟂G‘𝐺)𝐴 ↔ ∃𝑥 ∈ (𝐵𝐴)∀𝑣𝐵𝑢𝐴 ⟨“𝑣𝑥𝑢”⟩ ∈ (∟G‘𝐺)))
4340, 41, 423bitr4d 314 . 2 (𝜑 → (𝐴(⟂G‘𝐺)𝐵𝐵(⟂G‘𝐺)𝐴))
441, 43mpbid 235 1 (𝜑𝐵(⟂G‘𝐺)𝐴)
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  wi 4  wa 401   = wceq 1570  wcel 2146  wral 3081  wrex 3091  cin 3905   class class class wbr 5111  ran crn 5664  cfv 6541  ⟨“cs3 14908  Basecbs 17296  distcds 17346  TarskiGcstrkg 28752  Itvcitv 28758  LineGclng 28759  pInvGcmir 28985  ∟Gcrag 29029  ⟂Gcperpg 29031
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 2148  ax-9 2156  ax-10 2179  ax-11 2195  ax-12 2216  ax-ext 2737  ax-rep 5240  ax-sep 5259  ax-nul 5271  ax-pow 5338  ax-pr 5406  ax-un 7743  ax-cnex 11176  ax-resscn 11177  ax-1cn 11178  ax-icn 11179  ax-addcl 11180  ax-addrcl 11181  ax-mulcl 11182  ax-mulrcl 11183  ax-mulcom 11184  ax-addass 11185  ax-mulass 11186  ax-distr 11187  ax-i2m1 11188  ax-1ne0 11189  ax-1rid 11190  ax-rnegex 11191  ax-rrecex 11192  ax-cnre 11193  ax-pre-lttri 11194  ax-pre-lttrn 11195  ax-pre-ltadd 11196  ax-pre-mulgt0 11197
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3or 1104  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2100  df-mo 2569  df-eu 2599  df-clab 2744  df-cleq 2757  df-clel 2840  df-nfc 2914  df-ne 2961  df-nel 3067  df-ral 3082  df-rex 3092  df-rmo 3371  df-reu 3372  df-rab 3419  df-v 3459  df-sbc 3747  df-csb 3855  df-dif 3909  df-un 3911  df-in 3913  df-ss 3923  df-pss 3926  df-nul 4287  df-if 4490  df-pw 4566  df-sn 4592  df-pr 4594  df-op 4598  df-uni 4875  df-int 4915  df-iun 4960  df-br 5112  df-opab 5176  df-mpt 5195  df-tr 5221  df-id 5558  df-eprel 5563  df-po 5571  df-so 5572  df-fr 5616  df-we 5618  df-xp 5669  df-rel 5670  df-cnv 5671  df-co 5672  df-dm 5673  df-rn 5674  df-res 5675  df-ima 5676  df-pred 6307  df-ord 6368  df-on 6369  df-lim 6370  df-suc 6371  df-iota 6497  df-fun 6543  df-fn 6544  df-f 6545  df-f1 6546  df-fo 6547  df-f1o 6548  df-fv 6549  df-riota 7377  df-ov 7423  df-oprab 7424  df-mpo 7425  df-om 7870  df-1st 7993  df-2nd 7994  df-frecs 8285  df-wrecs 8316  df-recs 8365  df-rdg 8404  df-1o 8460  df-oadd 8464  df-er 8701  df-map 8833  df-en 8951  df-dom 8952  df-sdom 8953  df-fin 8954  df-dju 9904  df-card 9942  df-pnf 11265  df-mnf 11266  df-xr 11267  df-ltxr 11268  df-le 11269  df-sub 11463  df-neg 11464  df-nn 12254  df-2 12323  df-3 12324  df-n0 12525  df-xnn0 12598  df-z 12612  df-uz 12884  df-fz 13557  df-fzo 13705  df-hash 14390  df-word 14574  df-concat 14631  df-s1 14658  df-s2 14914  df-s3 14915  df-trkgc 28773  df-trkgb 28774  df-trkgcb 28775  df-trkg 28778  df-mir 28986  df-rag 29030  df-perpg 29032
This theorem is used by:  hlperpnel  29062  colperpexlem3  29069  mideulem2  29071  midex  29074  opphllem5  29088  opphllem6  29089  opphl  29091  lmieu  29149  lnperpex  29169  trgcopy  29171  prlngex  29261  prlngmid2  29271
  Copyright terms: Public domain W3C validator