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

Theorem ragperp 27488
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 481 . . . 4 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝐺 ∈ TarskiG)
8 ragperp.b . . . . . 6 (𝜑𝐵 ∈ ran 𝐿)
98adantr 481 . . . . 5 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝐵 ∈ ran 𝐿)
10 simprr 771 . . . . 5 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑣𝐵)
111, 4, 3, 7, 9, 10tglnpt 27320 . . . 4 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑣𝑃)
12 isperp.a . . . . . 6 (𝜑𝐴 ∈ ran 𝐿)
1312adantr 481 . . . . 5 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝐴 ∈ ran 𝐿)
14 ragperp.x . . . . . . 7 (𝜑𝑋 ∈ (𝐴𝐵))
1514elin1d 4156 . . . . . 6 (𝜑𝑋𝐴)
1615adantr 481 . . . . 5 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑋𝐴)
171, 4, 3, 7, 13, 16tglnpt 27320 . . . 4 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑋𝑃)
18 simprl 769 . . . . 5 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑢𝐴)
191, 4, 3, 7, 13, 18tglnpt 27320 . . . 4 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑢𝑃)
20 ragperp.v . . . . . . 7 (𝜑𝑉𝐵)
2120adantr 481 . . . . . 6 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑉𝐵)
221, 4, 3, 7, 9, 21tglnpt 27320 . . . . 5 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑉𝑃)
23 ragperp.u . . . . . . . . 9 (𝜑𝑈𝐴)
2423adantr 481 . . . . . . . 8 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑈𝐴)
251, 4, 3, 7, 13, 24tglnpt 27320 . . . . . . 7 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑈𝑃)
26 ragperp.r . . . . . . . 8 (𝜑 → ⟨“𝑈𝑋𝑉”⟩ ∈ (∟G‘𝐺))
2726adantr 481 . . . . . . 7 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → ⟨“𝑈𝑋𝑉”⟩ ∈ (∟G‘𝐺))
28 ragperp.1 . . . . . . . 8 (𝜑𝑈𝑋)
2928adantr 481 . . . . . . 7 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑈𝑋)
3023ad2antrr 724 . . . . . . . . . . 11 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → 𝑈𝐴)
316ad2antrr 724 . . . . . . . . . . . 12 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → 𝐺 ∈ TarskiG)
3217adantr 481 . . . . . . . . . . . 12 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → 𝑋𝑃)
3319adantr 481 . . . . . . . . . . . 12 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → 𝑢𝑃)
34 simpr 485 . . . . . . . . . . . . 13 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → ¬ 𝑋 = 𝑢)
3534neqned 2948 . . . . . . . . . . . 12 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → 𝑋𝑢)
3612ad2antrr 724 . . . . . . . . . . . 12 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → 𝐴 ∈ ran 𝐿)
3715ad2antrr 724 . . . . . . . . . . . 12 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → 𝑋𝐴)
3818adantr 481 . . . . . . . . . . . 12 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → 𝑢𝐴)
391, 3, 4, 31, 32, 33, 35, 35, 36, 37, 38tglinethru 27407 . . . . . . . . . . 11 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → 𝐴 = (𝑋𝐿𝑢))
4030, 39eleqtrd 2840 . . . . . . . . . 10 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → 𝑈 ∈ (𝑋𝐿𝑢))
4140ex 413 . . . . . . . . 9 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → (¬ 𝑋 = 𝑢𝑈 ∈ (𝑋𝐿𝑢)))
4241orrd 861 . . . . . . . 8 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → (𝑋 = 𝑢𝑈 ∈ (𝑋𝐿𝑢)))
4342orcomd 869 . . . . . . 7 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → (𝑈 ∈ (𝑋𝐿𝑢) ∨ 𝑋 = 𝑢))
441, 2, 3, 4, 5, 7, 25, 17, 22, 19, 27, 29, 43ragcol 27470 . . . . . 6 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → ⟨“𝑢𝑋𝑉”⟩ ∈ (∟G‘𝐺))
451, 2, 3, 4, 5, 7, 19, 17, 22, 44ragcom 27469 . . . . 5 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → ⟨“𝑉𝑋𝑢”⟩ ∈ (∟G‘𝐺))
46 ragperp.2 . . . . . 6 (𝜑𝑉𝑋)
4746adantr 481 . . . . 5 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑉𝑋)
4820ad2antrr 724 . . . . . . . . 9 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → 𝑉𝐵)
496ad2antrr 724 . . . . . . . . . 10 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → 𝐺 ∈ TarskiG)
5017adantr 481 . . . . . . . . . 10 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → 𝑋𝑃)
5111adantr 481 . . . . . . . . . 10 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → 𝑣𝑃)
52 simpr 485 . . . . . . . . . . 11 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → ¬ 𝑋 = 𝑣)
5352neqned 2948 . . . . . . . . . 10 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → 𝑋𝑣)
548ad2antrr 724 . . . . . . . . . 10 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → 𝐵 ∈ ran 𝐿)
5514elin2d 4157 . . . . . . . . . . 11 (𝜑𝑋𝐵)
5655ad2antrr 724 . . . . . . . . . 10 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → 𝑋𝐵)
5710adantr 481 . . . . . . . . . 10 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → 𝑣𝐵)
581, 3, 4, 49, 50, 51, 53, 53, 54, 56, 57tglinethru 27407 . . . . . . . . 9 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → 𝐵 = (𝑋𝐿𝑣))
5948, 58eleqtrd 2840 . . . . . . . 8 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → 𝑉 ∈ (𝑋𝐿𝑣))
6059ex 413 . . . . . . 7 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → (¬ 𝑋 = 𝑣𝑉 ∈ (𝑋𝐿𝑣)))
6160orrd 861 . . . . . 6 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → (𝑋 = 𝑣𝑉 ∈ (𝑋𝐿𝑣)))
6261orcomd 869 . . . . 5 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → (𝑉 ∈ (𝑋𝐿𝑣) ∨ 𝑋 = 𝑣))
631, 2, 3, 4, 5, 7, 22, 17, 19, 11, 45, 47, 62ragcol 27470 . . . 4 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → ⟨“𝑣𝑋𝑢”⟩ ∈ (∟G‘𝐺))
641, 2, 3, 4, 5, 7, 11, 17, 19, 63ragcom 27469 . . 3 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → ⟨“𝑢𝑋𝑣”⟩ ∈ (∟G‘𝐺))
6564ralrimivva 3195 . 2 (𝜑 → ∀𝑢𝐴𝑣𝐵 ⟨“𝑢𝑋𝑣”⟩ ∈ (∟G‘𝐺))
661, 2, 3, 4, 6, 12, 8, 14isperp2 27486 . 2 (𝜑 → (𝐴(⟂G‘𝐺)𝐵 ↔ ∀𝑢𝐴𝑣𝐵 ⟨“𝑢𝑋𝑣”⟩ ∈ (∟G‘𝐺)))
6765, 66mpbird 256 1 (𝜑𝐴(⟂G‘𝐺)𝐵)
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wa 396   = wceq 1541  wcel 2106  wne 2941  wral 3062  cin 3907   class class class wbr 5103  ran crn 5632  cfv 6493  (class class class)co 7351  ⟨“cs3 14689  Basecbs 17043  distcds 17102  TarskiGcstrkg 27198  Itvcitv 27204  LineGclng 27205  pInvGcmir 27423  ∟Gcrag 27464  ⟂Gcperpg 27466
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 1913  ax-6 1971  ax-7 2011  ax-8 2108  ax-9 2116  ax-10 2137  ax-11 2154  ax-12 2171  ax-ext 2708  ax-rep 5240  ax-sep 5254  ax-nul 5261  ax-pow 5318  ax-pr 5382  ax-un 7664  ax-cnex 11065  ax-resscn 11066  ax-1cn 11067  ax-icn 11068  ax-addcl 11069  ax-addrcl 11070  ax-mulcl 11071  ax-mulrcl 11072  ax-mulcom 11073  ax-addass 11074  ax-mulass 11075  ax-distr 11076  ax-i2m1 11077  ax-1ne0 11078  ax-1rid 11079  ax-rnegex 11080  ax-rrecex 11081  ax-cnre 11082  ax-pre-lttri 11083  ax-pre-lttrn 11084  ax-pre-ltadd 11085  ax-pre-mulgt0 11086
This theorem depends on definitions:  df-bi 206  df-an 397  df-or 846  df-3or 1088  df-3an 1089  df-tru 1544  df-fal 1554  df-ex 1782  df-nf 1786  df-sb 2068  df-mo 2539  df-eu 2568  df-clab 2715  df-cleq 2729  df-clel 2815  df-nfc 2887  df-ne 2942  df-nel 3048  df-ral 3063  df-rex 3072  df-rmo 3351  df-reu 3352  df-rab 3406  df-v 3445  df-sbc 3738  df-csb 3854  df-dif 3911  df-un 3913  df-in 3915  df-ss 3925  df-pss 3927  df-nul 4281  df-if 4485  df-pw 4560  df-sn 4585  df-pr 4587  df-tp 4589  df-op 4591  df-uni 4864  df-int 4906  df-iun 4954  df-br 5104  df-opab 5166  df-mpt 5187  df-tr 5221  df-id 5529  df-eprel 5535  df-po 5543  df-so 5544  df-fr 5586  df-we 5588  df-xp 5637  df-rel 5638  df-cnv 5639  df-co 5640  df-dm 5641  df-rn 5642  df-res 5643  df-ima 5644  df-pred 6251  df-ord 6318  df-on 6319  df-lim 6320  df-suc 6321  df-iota 6445  df-fun 6495  df-fn 6496  df-f 6497  df-f1 6498  df-fo 6499  df-f1o 6500  df-fv 6501  df-riota 7307  df-ov 7354  df-oprab 7355  df-mpo 7356  df-om 7795  df-1st 7913  df-2nd 7914  df-frecs 8204  df-wrecs 8235  df-recs 8309  df-rdg 8348  df-1o 8404  df-oadd 8408  df-er 8606  df-map 8725  df-pm 8726  df-en 8842  df-dom 8843  df-sdom 8844  df-fin 8845  df-dju 9795  df-card 9833  df-pnf 11149  df-mnf 11150  df-xr 11151  df-ltxr 11152  df-le 11153  df-sub 11345  df-neg 11346  df-nn 12112  df-2 12174  df-3 12175  df-n0 12372  df-xnn0 12444  df-z 12458  df-uz 12722  df-fz 13379  df-fzo 13522  df-hash 14185  df-word 14357  df-concat 14413  df-s1 14438  df-s2 14695  df-s3 14696  df-trkgc 27219  df-trkgb 27220  df-trkgcb 27221  df-trkg 27224  df-cgrg 27282  df-mir 27424  df-rag 27465  df-perpg 27467
This theorem is referenced by:  footexALT  27489  footexlem2  27491  colperpexlem3  27503  mideulem2  27505  lmimid  27565  hypcgrlem1  27570  hypcgrlem2  27571  trgcopyeulem  27576
  Copyright terms: Public domain W3C validator