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

Theorem ragperp 28804
Description: Deduce that two lines are perpendicular from a right angle statement. One direction of theorem 8.13 of [Schwabhauser] p. 59. (Contributed by Thierry Arnoux, 20-Oct-2019.)
Hypotheses
Ref Expression
isperp.p 𝑃 = (Base‘𝐺)
isperp.d = (dist‘𝐺)
isperp.i 𝐼 = (Itv‘𝐺)
isperp.l 𝐿 = (LineG‘𝐺)
isperp.g (𝜑𝐺 ∈ TarskiG)
isperp.a (𝜑𝐴 ∈ ran 𝐿)
ragperp.b (𝜑𝐵 ∈ ran 𝐿)
ragperp.x (𝜑𝑋 ∈ (𝐴𝐵))
ragperp.u (𝜑𝑈𝐴)
ragperp.v (𝜑𝑉𝐵)
ragperp.1 (𝜑𝑈𝑋)
ragperp.2 (𝜑𝑉𝑋)
ragperp.r (𝜑 → ⟨“𝑈𝑋𝑉”⟩ ∈ (∟G‘𝐺))
Assertion
Ref Expression
ragperp (𝜑𝐴(⟂G‘𝐺)𝐵)

Proof of Theorem ragperp
Dummy variables 𝑢 𝑣 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 isperp.p . . . 4 𝑃 = (Base‘𝐺)
2 isperp.d . . . 4 = (dist‘𝐺)
3 isperp.i . . . 4 𝐼 = (Itv‘𝐺)
4 isperp.l . . . 4 𝐿 = (LineG‘𝐺)
5 eqid 2737 . . . 4 (pInvG‘𝐺) = (pInvG‘𝐺)
6 isperp.g . . . . 5 (𝜑𝐺 ∈ TarskiG)
76adantr 480 . . . 4 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝐺 ∈ TarskiG)
8 ragperp.b . . . . . 6 (𝜑𝐵 ∈ ran 𝐿)
98adantr 480 . . . . 5 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝐵 ∈ ran 𝐿)
10 simprr 773 . . . . 5 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑣𝐵)
111, 4, 3, 7, 9, 10tglnpt 28636 . . . 4 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑣𝑃)
12 isperp.a . . . . . 6 (𝜑𝐴 ∈ ran 𝐿)
1312adantr 480 . . . . 5 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝐴 ∈ ran 𝐿)
14 ragperp.x . . . . . . 7 (𝜑𝑋 ∈ (𝐴𝐵))
1514elin1d 4145 . . . . . 6 (𝜑𝑋𝐴)
1615adantr 480 . . . . 5 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑋𝐴)
171, 4, 3, 7, 13, 16tglnpt 28636 . . . 4 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑋𝑃)
18 simprl 771 . . . . 5 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑢𝐴)
191, 4, 3, 7, 13, 18tglnpt 28636 . . . 4 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑢𝑃)
20 ragperp.v . . . . . . 7 (𝜑𝑉𝐵)
2120adantr 480 . . . . . 6 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑉𝐵)
221, 4, 3, 7, 9, 21tglnpt 28636 . . . . 5 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑉𝑃)
23 ragperp.u . . . . . . . . 9 (𝜑𝑈𝐴)
2423adantr 480 . . . . . . . 8 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑈𝐴)
251, 4, 3, 7, 13, 24tglnpt 28636 . . . . . . 7 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑈𝑃)
26 ragperp.r . . . . . . . 8 (𝜑 → ⟨“𝑈𝑋𝑉”⟩ ∈ (∟G‘𝐺))
2726adantr 480 . . . . . . 7 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → ⟨“𝑈𝑋𝑉”⟩ ∈ (∟G‘𝐺))
28 ragperp.1 . . . . . . . 8 (𝜑𝑈𝑋)
2928adantr 480 . . . . . . 7 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑈𝑋)
3023ad2antrr 727 . . . . . . . . . . 11 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → 𝑈𝐴)
316ad2antrr 727 . . . . . . . . . . . 12 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → 𝐺 ∈ TarskiG)
3217adantr 480 . . . . . . . . . . . 12 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → 𝑋𝑃)
3319adantr 480 . . . . . . . . . . . 12 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → 𝑢𝑃)
34 simpr 484 . . . . . . . . . . . . 13 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → ¬ 𝑋 = 𝑢)
3534neqned 2940 . . . . . . . . . . . 12 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → 𝑋𝑢)
3612ad2antrr 727 . . . . . . . . . . . 12 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → 𝐴 ∈ ran 𝐿)
3715ad2antrr 727 . . . . . . . . . . . 12 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → 𝑋𝐴)
3818adantr 480 . . . . . . . . . . . 12 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → 𝑢𝐴)
391, 3, 4, 31, 32, 33, 35, 35, 36, 37, 38tglinethru 28723 . . . . . . . . . . 11 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → 𝐴 = (𝑋𝐿𝑢))
4030, 39eleqtrd 2839 . . . . . . . . . 10 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → 𝑈 ∈ (𝑋𝐿𝑢))
4140ex 412 . . . . . . . . 9 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → (¬ 𝑋 = 𝑢𝑈 ∈ (𝑋𝐿𝑢)))
4241orrd 864 . . . . . . . 8 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → (𝑋 = 𝑢𝑈 ∈ (𝑋𝐿𝑢)))
4342orcomd 872 . . . . . . 7 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → (𝑈 ∈ (𝑋𝐿𝑢) ∨ 𝑋 = 𝑢))
441, 2, 3, 4, 5, 7, 25, 17, 22, 19, 27, 29, 43ragcol 28786 . . . . . 6 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → ⟨“𝑢𝑋𝑉”⟩ ∈ (∟G‘𝐺))
451, 2, 3, 4, 5, 7, 19, 17, 22, 44ragcom 28785 . . . . 5 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → ⟨“𝑉𝑋𝑢”⟩ ∈ (∟G‘𝐺))
46 ragperp.2 . . . . . 6 (𝜑𝑉𝑋)
4746adantr 480 . . . . 5 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑉𝑋)
4820ad2antrr 727 . . . . . . . . 9 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → 𝑉𝐵)
496ad2antrr 727 . . . . . . . . . 10 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → 𝐺 ∈ TarskiG)
5017adantr 480 . . . . . . . . . 10 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → 𝑋𝑃)
5111adantr 480 . . . . . . . . . 10 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → 𝑣𝑃)
52 simpr 484 . . . . . . . . . . 11 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → ¬ 𝑋 = 𝑣)
5352neqned 2940 . . . . . . . . . 10 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → 𝑋𝑣)
548ad2antrr 727 . . . . . . . . . 10 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → 𝐵 ∈ ran 𝐿)
5514elin2d 4146 . . . . . . . . . . 11 (𝜑𝑋𝐵)
5655ad2antrr 727 . . . . . . . . . 10 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → 𝑋𝐵)
5710adantr 480 . . . . . . . . . 10 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → 𝑣𝐵)
581, 3, 4, 49, 50, 51, 53, 53, 54, 56, 57tglinethru 28723 . . . . . . . . 9 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → 𝐵 = (𝑋𝐿𝑣))
5948, 58eleqtrd 2839 . . . . . . . 8 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → 𝑉 ∈ (𝑋𝐿𝑣))
6059ex 412 . . . . . . 7 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → (¬ 𝑋 = 𝑣𝑉 ∈ (𝑋𝐿𝑣)))
6160orrd 864 . . . . . 6 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → (𝑋 = 𝑣𝑉 ∈ (𝑋𝐿𝑣)))
6261orcomd 872 . . . . 5 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → (𝑉 ∈ (𝑋𝐿𝑣) ∨ 𝑋 = 𝑣))
631, 2, 3, 4, 5, 7, 22, 17, 19, 11, 45, 47, 62ragcol 28786 . . . 4 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → ⟨“𝑣𝑋𝑢”⟩ ∈ (∟G‘𝐺))
641, 2, 3, 4, 5, 7, 11, 17, 19, 63ragcom 28785 . . 3 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → ⟨“𝑢𝑋𝑣”⟩ ∈ (∟G‘𝐺))
6564ralrimivva 3181 . 2 (𝜑 → ∀𝑢𝐴𝑣𝐵 ⟨“𝑢𝑋𝑣”⟩ ∈ (∟G‘𝐺))
661, 2, 3, 4, 6, 12, 8, 14isperp2 28802 . 2 (𝜑 → (𝐴(⟂G‘𝐺)𝐵 ↔ ∀𝑢𝐴𝑣𝐵 ⟨“𝑢𝑋𝑣”⟩ ∈ (∟G‘𝐺)))
6765, 66mpbird 257 1 (𝜑𝐴(⟂G‘𝐺)𝐵)
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wa 395   = wceq 1542  wcel 2114  wne 2933  wral 3052  cin 3889   class class class wbr 5086  ran crn 5623  cfv 6490  (class class class)co 7358  ⟨“cs3 14793  Basecbs 17168  distcds 17218  TarskiGcstrkg 28514  Itvcitv 28520  LineGclng 28521  pInvGcmir 28739  ∟Gcrag 28780  ⟂Gcperpg 28782
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1912  ax-6 1969  ax-7 2010  ax-8 2116  ax-9 2124  ax-10 2147  ax-11 2163  ax-12 2185  ax-ext 2709  ax-rep 5212  ax-sep 5231  ax-nul 5241  ax-pow 5300  ax-pr 5368  ax-un 7680  ax-cnex 11083  ax-resscn 11084  ax-1cn 11085  ax-icn 11086  ax-addcl 11087  ax-addrcl 11088  ax-mulcl 11089  ax-mulrcl 11090  ax-mulcom 11091  ax-addass 11092  ax-mulass 11093  ax-distr 11094  ax-i2m1 11095  ax-1ne0 11096  ax-1rid 11097  ax-rnegex 11098  ax-rrecex 11099  ax-cnre 11100  ax-pre-lttri 11101  ax-pre-lttrn 11102  ax-pre-ltadd 11103  ax-pre-mulgt0 11104
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 849  df-3or 1088  df-3an 1089  df-tru 1545  df-fal 1555  df-ex 1782  df-nf 1786  df-sb 2069  df-mo 2540  df-eu 2570  df-clab 2716  df-cleq 2729  df-clel 2812  df-nfc 2886  df-ne 2934  df-nel 3038  df-ral 3053  df-rex 3063  df-rmo 3343  df-reu 3344  df-rab 3391  df-v 3432  df-sbc 3730  df-csb 3839  df-dif 3893  df-un 3895  df-in 3897  df-ss 3907  df-pss 3910  df-nul 4275  df-if 4468  df-pw 4544  df-sn 4569  df-pr 4571  df-tp 4573  df-op 4575  df-uni 4852  df-int 4891  df-iun 4936  df-br 5087  df-opab 5149  df-mpt 5168  df-tr 5194  df-id 5517  df-eprel 5522  df-po 5530  df-so 5531  df-fr 5575  df-we 5577  df-xp 5628  df-rel 5629  df-cnv 5630  df-co 5631  df-dm 5632  df-rn 5633  df-res 5634  df-ima 5635  df-pred 6257  df-ord 6318  df-on 6319  df-lim 6320  df-suc 6321  df-iota 6446  df-fun 6492  df-fn 6493  df-f 6494  df-f1 6495  df-fo 6496  df-f1o 6497  df-fv 6498  df-riota 7315  df-ov 7361  df-oprab 7362  df-mpo 7363  df-om 7809  df-1st 7933  df-2nd 7934  df-frecs 8222  df-wrecs 8253  df-recs 8302  df-rdg 8340  df-1o 8396  df-oadd 8400  df-er 8634  df-map 8766  df-pm 8767  df-en 8885  df-dom 8886  df-sdom 8887  df-fin 8888  df-dju 9814  df-card 9852  df-pnf 11170  df-mnf 11171  df-xr 11172  df-ltxr 11173  df-le 11174  df-sub 11368  df-neg 11369  df-nn 12164  df-2 12233  df-3 12234  df-n0 12427  df-xnn0 12500  df-z 12514  df-uz 12778  df-fz 13451  df-fzo 13598  df-hash 14282  df-word 14465  df-concat 14522  df-s1 14548  df-s2 14799  df-s3 14800  df-trkgc 28535  df-trkgb 28536  df-trkgcb 28537  df-trkg 28540  df-cgrg 28598  df-mir 28740  df-rag 28781  df-perpg 28783
This theorem is referenced by:  footexALT  28805  footexlem2  28807  colperpexlem3  28819  mideulem2  28821  lmimid  28881  hypcgrlem1  28886  hypcgrlem2  28887  trgcopyeulem  28892
  Copyright terms: Public domain W3C validator