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

Theorem ragperp 28810
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 2740 . . . 4 (pInvG‘𝐺) = (pInvG‘𝐺)
6 isperp.g . . . . 5 (𝜑𝐺 ∈ TarskiG)
76adantr 481 . . . 4 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝐺 ∈ TarskiG)
8 ragperp.b . . . . . 6 (𝜑𝐵 ∈ ran 𝐿)
98adantr 481 . . . . 5 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝐵 ∈ ran 𝐿)
10 simprr 778 . . . . 5 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑣𝐵)
111, 4, 3, 7, 9, 10tglnpt 28642 . . . 4 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑣𝑃)
12 isperp.a . . . . . 6 (𝜑𝐴 ∈ ran 𝐿)
1312adantr 481 . . . . 5 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝐴 ∈ ran 𝐿)
14 ragperp.x . . . . . . 7 (𝜑𝑋 ∈ (𝐴𝐵))
1514elin1d 4140 . . . . . 6 (𝜑𝑋𝐴)
1615adantr 481 . . . . 5 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑋𝐴)
171, 4, 3, 7, 13, 16tglnpt 28642 . . . 4 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑋𝑃)
18 simprl 776 . . . . 5 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑢𝐴)
191, 4, 3, 7, 13, 18tglnpt 28642 . . . 4 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑢𝑃)
20 ragperp.v . . . . . . 7 (𝜑𝑉𝐵)
2120adantr 481 . . . . . 6 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑉𝐵)
221, 4, 3, 7, 9, 21tglnpt 28642 . . . . 5 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑉𝑃)
23 ragperp.u . . . . . . . . 9 (𝜑𝑈𝐴)
2423adantr 481 . . . . . . . 8 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑈𝐴)
251, 4, 3, 7, 13, 24tglnpt 28642 . . . . . . 7 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑈𝑃)
26 ragperp.r . . . . . . . 8 (𝜑 → ⟨“𝑈𝑋𝑉”⟩ ∈ (∟G‘𝐺))
2726adantr 481 . . . . . . 7 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → ⟨“𝑈𝑋𝑉”⟩ ∈ (∟G‘𝐺))
28 ragperp.1 . . . . . . . 8 (𝜑𝑈𝑋)
2928adantr 481 . . . . . . 7 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑈𝑋)
3023ad2antrr 732 . . . . . . . . . . 11 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → 𝑈𝐴)
316ad2antrr 732 . . . . . . . . . . . 12 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → 𝐺 ∈ TarskiG)
3217adantr 481 . . . . . . . . . . . 12 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → 𝑋𝑃)
3319adantr 481 . . . . . . . . . . . 12 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → 𝑢𝑃)
34 simpr 485 . . . . . . . . . . . . 13 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → ¬ 𝑋 = 𝑢)
3534neqned 2942 . . . . . . . . . . . 12 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → 𝑋𝑢)
3612ad2antrr 732 . . . . . . . . . . . 12 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → 𝐴 ∈ ran 𝐿)
3715ad2antrr 732 . . . . . . . . . . . 12 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → 𝑋𝐴)
3818adantr 481 . . . . . . . . . . . 12 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → 𝑢𝐴)
391, 3, 4, 31, 32, 33, 35, 35, 36, 37, 38tglinethru 28729 . . . . . . . . . . 11 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → 𝐴 = (𝑋𝐿𝑢))
4030, 39eleqtrd 2842 . . . . . . . . . 10 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → 𝑈 ∈ (𝑋𝐿𝑢))
4140ex 413 . . . . . . . . 9 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → (¬ 𝑋 = 𝑢𝑈 ∈ (𝑋𝐿𝑢)))
4241orrd 869 . . . . . . . 8 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → (𝑋 = 𝑢𝑈 ∈ (𝑋𝐿𝑢)))
4342orcomd 877 . . . . . . 7 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → (𝑈 ∈ (𝑋𝐿𝑢) ∨ 𝑋 = 𝑢))
441, 2, 3, 4, 5, 7, 25, 17, 22, 19, 27, 29, 43ragcol 28792 . . . . . 6 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → ⟨“𝑢𝑋𝑉”⟩ ∈ (∟G‘𝐺))
451, 2, 3, 4, 5, 7, 19, 17, 22, 44ragcom 28791 . . . . 5 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → ⟨“𝑉𝑋𝑢”⟩ ∈ (∟G‘𝐺))
46 ragperp.2 . . . . . 6 (𝜑𝑉𝑋)
4746adantr 481 . . . . 5 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑉𝑋)
4820ad2antrr 732 . . . . . . . . 9 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → 𝑉𝐵)
496ad2antrr 732 . . . . . . . . . 10 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → 𝐺 ∈ TarskiG)
5017adantr 481 . . . . . . . . . 10 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → 𝑋𝑃)
5111adantr 481 . . . . . . . . . 10 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → 𝑣𝑃)
52 simpr 485 . . . . . . . . . . 11 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → ¬ 𝑋 = 𝑣)
5352neqned 2942 . . . . . . . . . 10 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → 𝑋𝑣)
548ad2antrr 732 . . . . . . . . . 10 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → 𝐵 ∈ ran 𝐿)
5514elin2d 4141 . . . . . . . . . . 11 (𝜑𝑋𝐵)
5655ad2antrr 732 . . . . . . . . . 10 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → 𝑋𝐵)
5710adantr 481 . . . . . . . . . 10 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → 𝑣𝐵)
581, 3, 4, 49, 50, 51, 53, 53, 54, 56, 57tglinethru 28729 . . . . . . . . 9 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → 𝐵 = (𝑋𝐿𝑣))
5948, 58eleqtrd 2842 . . . . . . . 8 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → 𝑉 ∈ (𝑋𝐿𝑣))
6059ex 413 . . . . . . 7 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → (¬ 𝑋 = 𝑣𝑉 ∈ (𝑋𝐿𝑣)))
6160orrd 869 . . . . . 6 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → (𝑋 = 𝑣𝑉 ∈ (𝑋𝐿𝑣)))
6261orcomd 877 . . . . 5 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → (𝑉 ∈ (𝑋𝐿𝑣) ∨ 𝑋 = 𝑣))
631, 2, 3, 4, 5, 7, 22, 17, 19, 11, 45, 47, 62ragcol 28792 . . . 4 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → ⟨“𝑣𝑋𝑢”⟩ ∈ (∟G‘𝐺))
641, 2, 3, 4, 5, 7, 11, 17, 19, 63ragcom 28791 . . 3 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → ⟨“𝑢𝑋𝑣”⟩ ∈ (∟G‘𝐺))
6564ralrimivva 3183 . 2 (𝜑 → ∀𝑢𝐴𝑣𝐵 ⟨“𝑢𝑋𝑣”⟩ ∈ (∟G‘𝐺))
661, 2, 3, 4, 6, 12, 8, 14isperp2 28808 . 2 (𝜑 → (𝐴(⟂G‘𝐺)𝐵 ↔ ∀𝑢𝐴𝑣𝐵 ⟨“𝑢𝑋𝑣”⟩ ∈ (∟G‘𝐺)))
6765, 66mpbird 258 1 (𝜑𝐴(⟂G‘𝐺)𝐵)
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wa 396   = wceq 1547  wcel 2119  wne 2935  wral 3054  cin 3889   class class class wbr 5079  ran crn 5626  cfv 6492  (class class class)co 7363  ⟨“cs3 14802  Basecbs 17177  distcds 17227  TarskiGcstrkg 28520  Itvcitv 28526  LineGclng 28527  pInvGcmir 28745  ∟Gcrag 28786  ⟂Gcperpg 28788
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1802  ax-4 1816  ax-5 1917  ax-6 1974  ax-7 2015  ax-8 2121  ax-9 2129  ax-10 2152  ax-11 2168  ax-12 2189  ax-ext 2712  ax-rep 5206  ax-sep 5225  ax-nul 5235  ax-pow 5301  ax-pr 5369  ax-un 7685  ax-cnex 11092  ax-resscn 11093  ax-1cn 11094  ax-icn 11095  ax-addcl 11096  ax-addrcl 11097  ax-mulcl 11098  ax-mulrcl 11099  ax-mulcom 11100  ax-addass 11101  ax-mulass 11102  ax-distr 11103  ax-i2m1 11104  ax-1ne0 11105  ax-1rid 11106  ax-rnegex 11107  ax-rrecex 11108  ax-cnre 11109  ax-pre-lttri 11110  ax-pre-lttrn 11111  ax-pre-ltadd 11112  ax-pre-mulgt0 11113
This theorem depends on definitions:  df-bi 208  df-an 397  df-or 854  df-3or 1093  df-3an 1094  df-tru 1550  df-fal 1560  df-ex 1787  df-nf 1791  df-sb 2074  df-mo 2543  df-eu 2573  df-clab 2719  df-cleq 2732  df-clel 2815  df-nfc 2889  df-ne 2936  df-nel 3040  df-ral 3055  df-rex 3065  df-rmo 3345  df-reu 3346  df-rab 3393  df-v 3434  df-sbc 3731  df-csb 3839  df-dif 3893  df-un 3895  df-in 3897  df-ss 3907  df-pss 3910  df-nul 4269  df-if 4462  df-pw 4538  df-sn 4563  df-pr 4565  df-tp 4567  df-op 4569  df-uni 4846  df-int 4885  df-iun 4930  df-br 5080  df-opab 5142  df-mpt 5161  df-tr 5187  df-id 5520  df-eprel 5525  df-po 5533  df-so 5534  df-fr 5578  df-we 5580  df-xp 5631  df-rel 5632  df-cnv 5633  df-co 5634  df-dm 5635  df-rn 5636  df-res 5637  df-ima 5638  df-pred 6259  df-ord 6320  df-on 6321  df-lim 6322  df-suc 6323  df-iota 6448  df-fun 6494  df-fn 6495  df-f 6496  df-f1 6497  df-fo 6498  df-f1o 6499  df-fv 6500  df-riota 7320  df-ov 7366  df-oprab 7367  df-mpo 7368  df-om 7814  df-1st 7938  df-2nd 7939  df-frecs 8228  df-wrecs 8259  df-recs 8308  df-rdg 8346  df-1o 8402  df-oadd 8406  df-er 8640  df-map 8772  df-pm 8773  df-en 8891  df-dom 8892  df-sdom 8893  df-fin 8894  df-dju 9823  df-card 9861  df-pnf 11179  df-mnf 11180  df-xr 11181  df-ltxr 11182  df-le 11183  df-sub 11377  df-neg 11378  df-nn 12173  df-2 12242  df-3 12243  df-n0 12436  df-xnn0 12509  df-z 12523  df-uz 12787  df-fz 13460  df-fzo 13607  df-hash 14291  df-word 14474  df-concat 14531  df-s1 14557  df-s2 14808  df-s3 14809  df-trkgc 28541  df-trkgb 28542  df-trkgcb 28543  df-trkg 28546  df-cgrg 28604  df-mir 28746  df-rag 28787  df-perpg 28789
This theorem is referenced by:  footexALT  28811  footexlem2  28813  colperpexlem3  28825  mideulem2  28827  lmimid  28887  hypcgrlem1  28892  hypcgrlem2  28893  trgcopyeulem  28898
  Copyright terms: Public domain W3C validator