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

Theorem perpcom 29030
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 4165 . . . . 5 (𝐴𝐵) = (𝐵𝐴)
32a1i 11 . . . 4 (𝜑 → (𝐴𝐵) = (𝐵𝐴))
4 ralcom 3296 . . . . 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 2766 . . . . . . . 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 28855 . . . . . . . 8 ((((𝜑𝑥 ∈ (𝐴𝐵)) ∧ (𝑣𝐵𝑢𝐴)) ∧ ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺)) → 𝑢𝑃)
16 simpllr 788 . . . . . . . . . 10 ((((𝜑𝑥 ∈ (𝐴𝐵)) ∧ (𝑣𝐵𝑢𝐴)) ∧ ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺)) → 𝑥 ∈ (𝐴𝐵))
1716elin1d 4160 . . . . . . . . 9 ((((𝜑𝑥 ∈ (𝐴𝐵)) ∧ (𝑣𝐵𝑢𝐴)) ∧ ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺)) → 𝑥𝐴)
185, 8, 7, 11, 13, 17tglnpt 28855 . . . . . . . 8 ((((𝜑𝑥 ∈ (𝐴𝐵)) ∧ (𝑣𝐵𝑢𝐴)) ∧ ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺)) → 𝑥𝑃)
19 isperp.b . . . . . . . . . 10 (𝜑𝐵 ∈ ran 𝐿)
2019ad3antrrr 743 . . . . . . . . 9 ((((𝜑𝑥 ∈ (𝐴𝐵)) ∧ (𝑣𝐵𝑢𝐴)) ∧ ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺)) → 𝐵 ∈ ran 𝐿)
21 simplrl 789 . . . . . . . . 9 ((((𝜑𝑥 ∈ (𝐴𝐵)) ∧ (𝑣𝐵𝑢𝐴)) ∧ ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺)) → 𝑣𝐵)
225, 8, 7, 11, 20, 21tglnpt 28855 . . . . . . . 8 ((((𝜑𝑥 ∈ (𝐴𝐵)) ∧ (𝑣𝐵𝑢𝐴)) ∧ ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺)) → 𝑣𝑃)
23 simpr 490 . . . . . . . 8 ((((𝜑𝑥 ∈ (𝐴𝐵)) ∧ (𝑣𝐵𝑢𝐴)) ∧ ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺)) → ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))
245, 6, 7, 8, 9, 11, 15, 18, 22, 23ragcom 29015 . . . . . . 7 ((((𝜑𝑥 ∈ (𝐴𝐵)) ∧ (𝑣𝐵𝑢𝐴)) ∧ ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺)) → ⟨“𝑣𝑥𝑢”⟩ ∈ (∟G‘𝐺))
2510ad3antrrr 743 . . . . . . . 8 ((((𝜑𝑥 ∈ (𝐴𝐵)) ∧ (𝑣𝐵𝑢𝐴)) ∧ ⟨“𝑣𝑥𝑢”⟩ ∈ (∟G‘𝐺)) → 𝐺 ∈ TarskiG)
2619ad3antrrr 743 . . . . . . . . 9 ((((𝜑𝑥 ∈ (𝐴𝐵)) ∧ (𝑣𝐵𝑢𝐴)) ∧ ⟨“𝑣𝑥𝑢”⟩ ∈ (∟G‘𝐺)) → 𝐵 ∈ ran 𝐿)
27 simplrl 789 . . . . . . . . 9 ((((𝜑𝑥 ∈ (𝐴𝐵)) ∧ (𝑣𝐵𝑢𝐴)) ∧ ⟨“𝑣𝑥𝑢”⟩ ∈ (∟G‘𝐺)) → 𝑣𝐵)
285, 8, 7, 25, 26, 27tglnpt 28855 . . . . . . . 8 ((((𝜑𝑥 ∈ (𝐴𝐵)) ∧ (𝑣𝐵𝑢𝐴)) ∧ ⟨“𝑣𝑥𝑢”⟩ ∈ (∟G‘𝐺)) → 𝑣𝑃)
2912ad3antrrr 743 . . . . . . . . 9 ((((𝜑𝑥 ∈ (𝐴𝐵)) ∧ (𝑣𝐵𝑢𝐴)) ∧ ⟨“𝑣𝑥𝑢”⟩ ∈ (∟G‘𝐺)) → 𝐴 ∈ ran 𝐿)
30 simpllr 788 . . . . . . . . . 10 ((((𝜑𝑥 ∈ (𝐴𝐵)) ∧ (𝑣𝐵𝑢𝐴)) ∧ ⟨“𝑣𝑥𝑢”⟩ ∈ (∟G‘𝐺)) → 𝑥 ∈ (𝐴𝐵))
3130elin1d 4160 . . . . . . . . 9 ((((𝜑𝑥 ∈ (𝐴𝐵)) ∧ (𝑣𝐵𝑢𝐴)) ∧ ⟨“𝑣𝑥𝑢”⟩ ∈ (∟G‘𝐺)) → 𝑥𝐴)
325, 8, 7, 25, 29, 31tglnpt 28855 . . . . . . . 8 ((((𝜑𝑥 ∈ (𝐴𝐵)) ∧ (𝑣𝐵𝑢𝐴)) ∧ ⟨“𝑣𝑥𝑢”⟩ ∈ (∟G‘𝐺)) → 𝑥𝑃)
33 simplrr 790 . . . . . . . . 9 ((((𝜑𝑥 ∈ (𝐴𝐵)) ∧ (𝑣𝐵𝑢𝐴)) ∧ ⟨“𝑣𝑥𝑢”⟩ ∈ (∟G‘𝐺)) → 𝑢𝐴)
345, 8, 7, 25, 29, 33tglnpt 28855 . . . . . . . 8 ((((𝜑𝑥 ∈ (𝐴𝐵)) ∧ (𝑣𝐵𝑢𝐴)) ∧ ⟨“𝑣𝑥𝑢”⟩ ∈ (∟G‘𝐺)) → 𝑢𝑃)
35 simpr 490 . . . . . . . 8 ((((𝜑𝑥 ∈ (𝐴𝐵)) ∧ (𝑣𝐵𝑢𝐴)) ∧ ⟨“𝑣𝑥𝑢”⟩ ∈ (∟G‘𝐺)) → ⟨“𝑣𝑥𝑢”⟩ ∈ (∟G‘𝐺))
365, 6, 7, 8, 9, 25, 28, 32, 34, 35ragcom 29015 . . . . . . 7 ((((𝜑𝑥 ∈ (𝐴𝐵)) ∧ (𝑣𝐵𝑢𝐴)) ∧ ⟨“𝑣𝑥𝑢”⟩ ∈ (∟G‘𝐺)) → ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺))
3724, 36impbida 813 . . . . . 6 (((𝜑𝑥 ∈ (𝐴𝐵)) ∧ (𝑣𝐵𝑢𝐴)) → (⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺) ↔ ⟨“𝑣𝑥𝑢”⟩ ∈ (∟G‘𝐺)))
38372ralbidva 3230 . . . . 5 ((𝜑𝑥 ∈ (𝐴𝐵)) → (∀𝑣𝐵𝑢𝐴 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺) ↔ ∀𝑣𝐵𝑢𝐴 ⟨“𝑣𝑥𝑢”⟩ ∈ (∟G‘𝐺)))
394, 38bitrid 286 . . . 4 ((𝜑𝑥 ∈ (𝐴𝐵)) → (∀𝑢𝐴𝑣𝐵 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺) ↔ ∀𝑣𝐵𝑢𝐴 ⟨“𝑣𝑥𝑢”⟩ ∈ (∟G‘𝐺)))
403, 39rexeqbidva 3333 . . 3 (𝜑 → (∃𝑥 ∈ (𝐴𝐵)∀𝑢𝐴𝑣𝐵 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺) ↔ ∃𝑥 ∈ (𝐵𝐴)∀𝑣𝐵𝑢𝐴 ⟨“𝑣𝑥𝑢”⟩ ∈ (∟G‘𝐺)))
415, 6, 7, 8, 10, 12, 19isperp 29029 . . 3 (𝜑 → (𝐴(⟂G‘𝐺)𝐵 ↔ ∃𝑥 ∈ (𝐴𝐵)∀𝑢𝐴𝑣𝐵 ⟨“𝑢𝑥𝑣”⟩ ∈ (∟G‘𝐺)))
425, 6, 7, 8, 10, 19, 12isperp 29029 . . 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 3082  wrex 3092  cin 3907   class class class wbr 5114  ran crn 5667  cfv 6543  ⟨“cs3 14905  Basecbs 17294  distcds 17344  TarskiGcstrkg 28733  Itvcitv 28739  LineGclng 28740  pInvGcmir 28966  ∟Gcrag 29010  ⟂Gcperpg 29012
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 2738  ax-rep 5243  ax-sep 5262  ax-nul 5274  ax-pow 5341  ax-pr 5409  ax-un 7745  ax-cnex 11174  ax-resscn 11175  ax-1cn 11176  ax-icn 11177  ax-addcl 11178  ax-addrcl 11179  ax-mulcl 11180  ax-mulrcl 11181  ax-mulcom 11182  ax-addass 11183  ax-mulass 11184  ax-distr 11185  ax-i2m1 11186  ax-1ne0 11187  ax-1rid 11188  ax-rnegex 11189  ax-rrecex 11190  ax-cnre 11191  ax-pre-lttri 11192  ax-pre-lttrn 11193  ax-pre-ltadd 11194  ax-pre-mulgt0 11195
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 2570  df-eu 2600  df-clab 2745  df-cleq 2758  df-clel 2841  df-nfc 2915  df-ne 2962  df-nel 3068  df-ral 3083  df-rex 3093  df-rmo 3372  df-reu 3373  df-rab 3420  df-v 3460  df-sbc 3748  df-csb 3857  df-dif 3911  df-un 3913  df-in 3915  df-ss 3925  df-pss 3928  df-nul 4290  df-if 4493  df-pw 4569  df-sn 4595  df-pr 4597  df-op 4601  df-uni 4878  df-int 4918  df-iun 4963  df-br 5115  df-opab 5179  df-mpt 5198  df-tr 5224  df-id 5561  df-eprel 5566  df-po 5574  df-so 5575  df-fr 5619  df-we 5621  df-xp 5672  df-rel 5673  df-cnv 5674  df-co 5675  df-dm 5676  df-rn 5677  df-res 5678  df-ima 5679  df-pred 6309  df-ord 6370  df-on 6371  df-lim 6372  df-suc 6373  df-iota 6499  df-fun 6545  df-fn 6546  df-f 6547  df-f1 6548  df-fo 6549  df-f1o 6550  df-fv 6551  df-riota 7380  df-ov 7426  df-oprab 7427  df-mpo 7428  df-om 7872  df-1st 7995  df-2nd 7996  df-frecs 8287  df-wrecs 8318  df-recs 8367  df-rdg 8406  df-1o 8462  df-oadd 8466  df-er 8703  df-map 8835  df-en 8953  df-dom 8954  df-sdom 8955  df-fin 8956  df-dju 9906  df-card 9944  df-pnf 11263  df-mnf 11264  df-xr 11265  df-ltxr 11266  df-le 11267  df-sub 11461  df-neg 11462  df-nn 12252  df-2 12321  df-3 12322  df-n0 12523  df-xnn0 12596  df-z 12610  df-uz 12881  df-fz 13554  df-fzo 13702  df-hash 14387  df-word 14571  df-concat 14628  df-s1 14655  df-s2 14911  df-s3 14912  df-trkgc 28754  df-trkgb 28755  df-trkgcb 28756  df-trkg 28759  df-mir 28967  df-rag 29011  df-perpg 29013
This theorem is used by:  hlperpnel  29043  colperpexlem3  29050  mideulem2  29052  midex  29055  opphllem5  29069  opphllem6  29070  opphl  29072  lmieu  29130  lnperpex  29150  trgcopy  29152  prlngex  29238  prlngmid2  29248
  Copyright terms: Public domain W3C validator