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

Theorem ragperp 29072
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 2762 . . . 4 (pInvG‘𝐺) = (pInvG‘𝐺)
6 isperp.g . . . . 5 (𝜑𝐺 ∈ TarskiG)
76adantr 486 . . . 4 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝐺 ∈ TarskiG)
8 ragperp.b . . . . . 6 (𝜑𝐵 ∈ ran 𝐿)
98adantr 486 . . . . 5 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝐵 ∈ ran 𝐿)
10 simprr 785 . . . . 5 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑣𝐵)
111, 4, 3, 7, 9, 10tglnpt 28892 . . . 4 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑣𝑃)
12 isperp.a . . . . . 6 (𝜑𝐴 ∈ ran 𝐿)
1312adantr 486 . . . . 5 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝐴 ∈ ran 𝐿)
14 ragperp.x . . . . . . 7 (𝜑𝑋 ∈ (𝐴𝐵))
1514elin1d 4153 . . . . . 6 (𝜑𝑋𝐴)
1615adantr 486 . . . . 5 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑋𝐴)
171, 4, 3, 7, 13, 16tglnpt 28892 . . . 4 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑋𝑃)
18 simprl 783 . . . . 5 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑢𝐴)
191, 4, 3, 7, 13, 18tglnpt 28892 . . . 4 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑢𝑃)
20 ragperp.v . . . . . . 7 (𝜑𝑉𝐵)
2120adantr 486 . . . . . 6 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑉𝐵)
221, 4, 3, 7, 9, 21tglnpt 28892 . . . . 5 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑉𝑃)
23 ragperp.u . . . . . . . . 9 (𝜑𝑈𝐴)
2423adantr 486 . . . . . . . 8 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑈𝐴)
251, 4, 3, 7, 13, 24tglnpt 28892 . . . . . . 7 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑈𝑃)
26 ragperp.r . . . . . . . 8 (𝜑 → ⟨“𝑈𝑋𝑉”⟩ ∈ (∟G‘𝐺))
2726adantr 486 . . . . . . 7 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → ⟨“𝑈𝑋𝑉”⟩ ∈ (∟G‘𝐺))
28 ragperp.1 . . . . . . . 8 (𝜑𝑈𝑋)
2928adantr 486 . . . . . . 7 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑈𝑋)
3023ad2antrr 739 . . . . . . . . . . 11 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → 𝑈𝐴)
316ad2antrr 739 . . . . . . . . . . . 12 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → 𝐺 ∈ TarskiG)
3217adantr 486 . . . . . . . . . . . 12 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → 𝑋𝑃)
3319adantr 486 . . . . . . . . . . . 12 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → 𝑢𝑃)
34 simpr 490 . . . . . . . . . . . . 13 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → ¬ 𝑋 = 𝑢)
3534neqned 2964 . . . . . . . . . . . 12 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → 𝑋𝑢)
3612ad2antrr 739 . . . . . . . . . . . 12 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → 𝐴 ∈ ran 𝐿)
3715ad2antrr 739 . . . . . . . . . . . 12 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → 𝑋𝐴)
3818adantr 486 . . . . . . . . . . . 12 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → 𝑢𝐴)
391, 3, 4, 31, 32, 33, 35, 35, 36, 37, 38tglinethru 28984 . . . . . . . . . . 11 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → 𝐴 = (𝑋𝐿𝑢))
4030, 39eleqtrd 2864 . . . . . . . . . 10 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → 𝑈 ∈ (𝑋𝐿𝑢))
4140ex 418 . . . . . . . . 9 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → (¬ 𝑋 = 𝑢𝑈 ∈ (𝑋𝐿𝑢)))
4241orrd 877 . . . . . . . 8 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → (𝑋 = 𝑢𝑈 ∈ (𝑋𝐿𝑢)))
4342orcomd 885 . . . . . . 7 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → (𝑈 ∈ (𝑋𝐿𝑢) ∨ 𝑋 = 𝑢))
441, 2, 3, 4, 5, 7, 25, 17, 22, 19, 27, 29, 43ragcol 29054 . . . . . 6 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → ⟨“𝑢𝑋𝑉”⟩ ∈ (∟G‘𝐺))
451, 2, 3, 4, 5, 7, 19, 17, 22, 44ragcom 29053 . . . . 5 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → ⟨“𝑉𝑋𝑢”⟩ ∈ (∟G‘𝐺))
46 ragperp.2 . . . . . 6 (𝜑𝑉𝑋)
4746adantr 486 . . . . 5 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑉𝑋)
4820ad2antrr 739 . . . . . . . . 9 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → 𝑉𝐵)
496ad2antrr 739 . . . . . . . . . 10 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → 𝐺 ∈ TarskiG)
5017adantr 486 . . . . . . . . . 10 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → 𝑋𝑃)
5111adantr 486 . . . . . . . . . 10 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → 𝑣𝑃)
52 simpr 490 . . . . . . . . . . 11 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → ¬ 𝑋 = 𝑣)
5352neqned 2964 . . . . . . . . . 10 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → 𝑋𝑣)
548ad2antrr 739 . . . . . . . . . 10 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → 𝐵 ∈ ran 𝐿)
5514elin2d 4154 . . . . . . . . . . 11 (𝜑𝑋𝐵)
5655ad2antrr 739 . . . . . . . . . 10 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → 𝑋𝐵)
5710adantr 486 . . . . . . . . . 10 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → 𝑣𝐵)
581, 3, 4, 49, 50, 51, 53, 53, 54, 56, 57tglinethru 28984 . . . . . . . . 9 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → 𝐵 = (𝑋𝐿𝑣))
5948, 58eleqtrd 2864 . . . . . . . 8 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → 𝑉 ∈ (𝑋𝐿𝑣))
6059ex 418 . . . . . . 7 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → (¬ 𝑋 = 𝑣𝑉 ∈ (𝑋𝐿𝑣)))
6160orrd 877 . . . . . 6 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → (𝑋 = 𝑣𝑉 ∈ (𝑋𝐿𝑣)))
6261orcomd 885 . . . . 5 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → (𝑉 ∈ (𝑋𝐿𝑣) ∨ 𝑋 = 𝑣))
631, 2, 3, 4, 5, 7, 22, 17, 19, 11, 45, 47, 62ragcol 29054 . . . 4 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → ⟨“𝑣𝑋𝑢”⟩ ∈ (∟G‘𝐺))
641, 2, 3, 4, 5, 7, 11, 17, 19, 63ragcom 29053 . . 3 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → ⟨“𝑢𝑋𝑣”⟩ ∈ (∟G‘𝐺))
6564ralrimivva 3207 . 2 (𝜑 → ∀𝑢𝐴𝑣𝐵 ⟨“𝑢𝑋𝑣”⟩ ∈ (∟G‘𝐺))
661, 2, 3, 4, 6, 12, 8, 14isperp2 29070 . 2 (𝜑 → (𝐴(⟂G‘𝐺)𝐵 ↔ ∀𝑢𝐴𝑣𝐵 ⟨“𝑢𝑋𝑣”⟩ ∈ (∟G‘𝐺)))
6765, 66mpbird 260 1 (𝜑𝐴(⟂G‘𝐺)𝐵)
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  ¬ wn 3  wi 4  wa 401   = wceq 1570  wcel 2145  wne 2957  wral 3078  cin 3901   class class class wbr 5107  ran crn 5660  cfv 6537  (class class class)co 7416  ⟨“cs3 14915  Basecbs 17305  distcds 17355  TarskiGcstrkg 28769  Itvcitv 28775  LineGclng 28776  pInvGcmir 29004  ∟Gcrag 29048  ⟂Gcperpg 29050
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 2215  ax-ext 2734  ax-rep 5236  ax-sep 5255  ax-nul 5267  ax-pow 5334  ax-pr 5402  ax-un 7739  ax-cnex 11183  ax-resscn 11184  ax-1cn 11185  ax-icn 11186  ax-addcl 11187  ax-addrcl 11188  ax-mulcl 11189  ax-mulrcl 11190  ax-mulcom 11191  ax-addass 11192  ax-mulass 11193  ax-distr 11194  ax-i2m1 11195  ax-1ne0 11196  ax-1rid 11197  ax-rnegex 11198  ax-rrecex 11199  ax-cnre 11200  ax-pre-lttri 11201  ax-pre-lttrn 11202  ax-pre-ltadd 11203  ax-pre-mulgt0 11204
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 2566  df-eu 2596  df-clab 2741  df-cleq 2754  df-clel 2837  df-nfc 2911  df-ne 2958  df-nel 3064  df-ral 3079  df-rex 3089  df-rmo 3367  df-reu 3368  df-rab 3415  df-v 3455  df-sbc 3743  df-csb 3851  df-dif 3905  df-un 3907  df-in 3909  df-ss 3919  df-pss 3922  df-nul 4283  df-if 4486  df-pw 4562  df-sn 4588  df-pr 4590  df-tp 4592  df-op 4594  df-uni 4871  df-int 4911  df-iun 4956  df-br 5108  df-opab 5172  df-mpt 5191  df-tr 5217  df-id 5554  df-eprel 5559  df-po 5567  df-so 5568  df-fr 5612  df-we 5614  df-xp 5665  df-rel 5666  df-cnv 5667  df-co 5668  df-dm 5669  df-rn 5670  df-res 5671  df-ima 5672  df-pred 6303  df-ord 6364  df-on 6365  df-lim 6366  df-suc 6367  df-iota 6493  df-fun 6539  df-fn 6540  df-f 6541  df-f1 6542  df-fo 6543  df-f1o 6544  df-fv 6545  df-riota 7373  df-ov 7419  df-oprab 7420  df-mpo 7421  df-om 7866  df-1st 7989  df-2nd 7990  df-frecs 8283  df-wrecs 8314  df-recs 8363  df-rdg 8402  df-1o 8458  df-oadd 8462  df-er 8699  df-map 8831  df-pm 8832  df-en 8956  df-dom 8957  df-sdom 8958  df-fin 8959  df-dju 9909  df-card 9947  df-pnf 11272  df-mnf 11273  df-xr 11274  df-ltxr 11275  df-le 11276  df-sub 11470  df-neg 11471  df-nn 12261  df-2 12330  df-3 12331  df-n0 12532  df-xnn0 12605  df-z 12619  df-uz 12891  df-fz 13564  df-fzo 13712  df-hash 14397  df-word 14581  df-concat 14638  df-s1 14665  df-s2 14921  df-s3 14922  df-trkgc 28790  df-trkgb 28791  df-trkgcb 28792  df-trkg 28795  df-cgrg 28854  df-mir 29005  df-rag 29049  df-perpg 29051
This theorem is used by:  footexALT  29073  footexlem2  29075  colperpexlem3  29088  mideulem2  29090  lmimid  29179  hypcgrlem1  29185  hypcgrlem2  29186  trgcopyeulem  29192  prlngmid2  29319
  Copyright terms: Public domain W3C validator