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

Theorem ragperp 25833
 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 2771 . . . 4 (pInvG‘𝐺) = (pInvG‘𝐺)
6 isperp.g . . . . 5 (𝜑𝐺 ∈ TarskiG)
76adantr 466 . . . 4 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝐺 ∈ TarskiG)
8 ragperp.b . . . . . 6 (𝜑𝐵 ∈ ran 𝐿)
98adantr 466 . . . . 5 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝐵 ∈ ran 𝐿)
10 simprr 756 . . . . 5 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑣𝐵)
111, 4, 3, 7, 9, 10tglnpt 25665 . . . 4 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑣𝑃)
12 isperp.a . . . . . 6 (𝜑𝐴 ∈ ran 𝐿)
1312adantr 466 . . . . 5 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝐴 ∈ ran 𝐿)
14 inss1 3981 . . . . . . 7 (𝐴𝐵) ⊆ 𝐴
15 ragperp.x . . . . . . 7 (𝜑𝑋 ∈ (𝐴𝐵))
1614, 15sseldi 3750 . . . . . 6 (𝜑𝑋𝐴)
1716adantr 466 . . . . 5 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑋𝐴)
181, 4, 3, 7, 13, 17tglnpt 25665 . . . 4 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑋𝑃)
19 simprl 754 . . . . 5 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑢𝐴)
201, 4, 3, 7, 13, 19tglnpt 25665 . . . 4 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑢𝑃)
21 ragperp.v . . . . . . 7 (𝜑𝑉𝐵)
2221adantr 466 . . . . . 6 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑉𝐵)
231, 4, 3, 7, 9, 22tglnpt 25665 . . . . 5 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑉𝑃)
24 ragperp.u . . . . . . . . 9 (𝜑𝑈𝐴)
2524adantr 466 . . . . . . . 8 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑈𝐴)
261, 4, 3, 7, 13, 25tglnpt 25665 . . . . . . 7 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑈𝑃)
27 ragperp.r . . . . . . . 8 (𝜑 → ⟨“𝑈𝑋𝑉”⟩ ∈ (∟G‘𝐺))
2827adantr 466 . . . . . . 7 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → ⟨“𝑈𝑋𝑉”⟩ ∈ (∟G‘𝐺))
29 ragperp.1 . . . . . . . 8 (𝜑𝑈𝑋)
3029adantr 466 . . . . . . 7 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑈𝑋)
3124ad2antrr 705 . . . . . . . . . . 11 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → 𝑈𝐴)
326ad2antrr 705 . . . . . . . . . . . 12 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → 𝐺 ∈ TarskiG)
3318adantr 466 . . . . . . . . . . . 12 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → 𝑋𝑃)
3420adantr 466 . . . . . . . . . . . 12 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → 𝑢𝑃)
35 simpr 471 . . . . . . . . . . . . 13 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → ¬ 𝑋 = 𝑢)
3635neqned 2950 . . . . . . . . . . . 12 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → 𝑋𝑢)
3712ad2antrr 705 . . . . . . . . . . . 12 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → 𝐴 ∈ ran 𝐿)
3816ad2antrr 705 . . . . . . . . . . . 12 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → 𝑋𝐴)
3919adantr 466 . . . . . . . . . . . 12 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → 𝑢𝐴)
401, 3, 4, 32, 33, 34, 36, 36, 37, 38, 39tglinethru 25752 . . . . . . . . . . 11 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → 𝐴 = (𝑋𝐿𝑢))
4131, 40eleqtrd 2852 . . . . . . . . . 10 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑢) → 𝑈 ∈ (𝑋𝐿𝑢))
4241ex 397 . . . . . . . . 9 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → (¬ 𝑋 = 𝑢𝑈 ∈ (𝑋𝐿𝑢)))
4342orrd 852 . . . . . . . 8 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → (𝑋 = 𝑢𝑈 ∈ (𝑋𝐿𝑢)))
4443orcomd 860 . . . . . . 7 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → (𝑈 ∈ (𝑋𝐿𝑢) ∨ 𝑋 = 𝑢))
451, 2, 3, 4, 5, 7, 26, 18, 23, 20, 28, 30, 44ragcol 25815 . . . . . 6 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → ⟨“𝑢𝑋𝑉”⟩ ∈ (∟G‘𝐺))
461, 2, 3, 4, 5, 7, 20, 18, 23, 45ragcom 25814 . . . . 5 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → ⟨“𝑉𝑋𝑢”⟩ ∈ (∟G‘𝐺))
47 ragperp.2 . . . . . 6 (𝜑𝑉𝑋)
4847adantr 466 . . . . 5 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → 𝑉𝑋)
4921ad2antrr 705 . . . . . . . . 9 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → 𝑉𝐵)
506ad2antrr 705 . . . . . . . . . 10 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → 𝐺 ∈ TarskiG)
5118adantr 466 . . . . . . . . . 10 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → 𝑋𝑃)
5211adantr 466 . . . . . . . . . 10 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → 𝑣𝑃)
53 simpr 471 . . . . . . . . . . 11 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → ¬ 𝑋 = 𝑣)
5453neqned 2950 . . . . . . . . . 10 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → 𝑋𝑣)
558ad2antrr 705 . . . . . . . . . 10 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → 𝐵 ∈ ran 𝐿)
56 inss2 3982 . . . . . . . . . . . 12 (𝐴𝐵) ⊆ 𝐵
5756, 15sseldi 3750 . . . . . . . . . . 11 (𝜑𝑋𝐵)
5857ad2antrr 705 . . . . . . . . . 10 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → 𝑋𝐵)
5910adantr 466 . . . . . . . . . 10 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → 𝑣𝐵)
601, 3, 4, 50, 51, 52, 54, 54, 55, 58, 59tglinethru 25752 . . . . . . . . 9 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → 𝐵 = (𝑋𝐿𝑣))
6149, 60eleqtrd 2852 . . . . . . . 8 (((𝜑 ∧ (𝑢𝐴𝑣𝐵)) ∧ ¬ 𝑋 = 𝑣) → 𝑉 ∈ (𝑋𝐿𝑣))
6261ex 397 . . . . . . 7 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → (¬ 𝑋 = 𝑣𝑉 ∈ (𝑋𝐿𝑣)))
6362orrd 852 . . . . . 6 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → (𝑋 = 𝑣𝑉 ∈ (𝑋𝐿𝑣)))
6463orcomd 860 . . . . 5 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → (𝑉 ∈ (𝑋𝐿𝑣) ∨ 𝑋 = 𝑣))
651, 2, 3, 4, 5, 7, 23, 18, 20, 11, 46, 48, 64ragcol 25815 . . . 4 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → ⟨“𝑣𝑋𝑢”⟩ ∈ (∟G‘𝐺))
661, 2, 3, 4, 5, 7, 11, 18, 20, 65ragcom 25814 . . 3 ((𝜑 ∧ (𝑢𝐴𝑣𝐵)) → ⟨“𝑢𝑋𝑣”⟩ ∈ (∟G‘𝐺))
6766ralrimivva 3120 . 2 (𝜑 → ∀𝑢𝐴𝑣𝐵 ⟨“𝑢𝑋𝑣”⟩ ∈ (∟G‘𝐺))
681, 2, 3, 4, 6, 12, 8, 15isperp2 25831 . 2 (𝜑 → (𝐴(⟂G‘𝐺)𝐵 ↔ ∀𝑢𝐴𝑣𝐵 ⟨“𝑢𝑋𝑣”⟩ ∈ (∟G‘𝐺)))
6967, 68mpbird 247 1 (𝜑𝐴(⟂G‘𝐺)𝐵)
 Colors of variables: wff setvar class Syntax hints:  ¬ wn 3   → wi 4   ∧ wa 382   = wceq 1631   ∈ wcel 2145   ≠ wne 2943  ∀wral 3061   ∩ cin 3722   class class class wbr 4786  ran crn 5250  ‘cfv 6031  (class class class)co 6793  ⟨“cs3 13796  Basecbs 16064  distcds 16158  TarskiGcstrkg 25550  Itvcitv 25556  LineGclng 25557  pInvGcmir 25768  ∟Gcrag 25809  ⟂Gcperpg 25811 This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1870  ax-4 1885  ax-5 1991  ax-6 2057  ax-7 2093  ax-8 2147  ax-9 2154  ax-10 2174  ax-11 2190  ax-12 2203  ax-13 2408  ax-ext 2751  ax-rep 4904  ax-sep 4915  ax-nul 4923  ax-pow 4974  ax-pr 5034  ax-un 7096  ax-cnex 10194  ax-resscn 10195  ax-1cn 10196  ax-icn 10197  ax-addcl 10198  ax-addrcl 10199  ax-mulcl 10200  ax-mulrcl 10201  ax-mulcom 10202  ax-addass 10203  ax-mulass 10204  ax-distr 10205  ax-i2m1 10206  ax-1ne0 10207  ax-1rid 10208  ax-rnegex 10209  ax-rrecex 10210  ax-cnre 10211  ax-pre-lttri 10212  ax-pre-lttrn 10213  ax-pre-ltadd 10214  ax-pre-mulgt0 10215 This theorem depends on definitions:  df-bi 197  df-an 383  df-or 837  df-3or 1072  df-3an 1073  df-tru 1634  df-ex 1853  df-nf 1858  df-sb 2050  df-eu 2622  df-mo 2623  df-clab 2758  df-cleq 2764  df-clel 2767  df-nfc 2902  df-ne 2944  df-nel 3047  df-ral 3066  df-rex 3067  df-reu 3068  df-rmo 3069  df-rab 3070  df-v 3353  df-sbc 3588  df-csb 3683  df-dif 3726  df-un 3728  df-in 3730  df-ss 3737  df-pss 3739  df-nul 4064  df-if 4226  df-pw 4299  df-sn 4317  df-pr 4319  df-tp 4321  df-op 4323  df-uni 4575  df-int 4612  df-iun 4656  df-br 4787  df-opab 4847  df-mpt 4864  df-tr 4887  df-id 5157  df-eprel 5162  df-po 5170  df-so 5171  df-fr 5208  df-we 5210  df-xp 5255  df-rel 5256  df-cnv 5257  df-co 5258  df-dm 5259  df-rn 5260  df-res 5261  df-ima 5262  df-pred 5823  df-ord 5869  df-on 5870  df-lim 5871  df-suc 5872  df-iota 5994  df-fun 6033  df-fn 6034  df-f 6035  df-f1 6036  df-fo 6037  df-f1o 6038  df-fv 6039  df-riota 6754  df-ov 6796  df-oprab 6797  df-mpt2 6798  df-om 7213  df-1st 7315  df-2nd 7316  df-wrecs 7559  df-recs 7621  df-rdg 7659  df-1o 7713  df-oadd 7717  df-er 7896  df-map 8011  df-pm 8012  df-en 8110  df-dom 8111  df-sdom 8112  df-fin 8113  df-card 8965  df-cda 9192  df-pnf 10278  df-mnf 10279  df-xr 10280  df-ltxr 10281  df-le 10282  df-sub 10470  df-neg 10471  df-nn 11223  df-2 11281  df-3 11282  df-n0 11495  df-xnn0 11566  df-z 11580  df-uz 11889  df-fz 12534  df-fzo 12674  df-hash 13322  df-word 13495  df-concat 13497  df-s1 13498  df-s2 13802  df-s3 13803  df-trkgc 25568  df-trkgb 25569  df-trkgcb 25570  df-trkg 25573  df-cgrg 25627  df-mir 25769  df-rag 25810  df-perpg 25812 This theorem is referenced by:  footex  25834  colperpexlem3  25845  mideulem2  25847  lmimid  25907  hypcgrlem1  25912  hypcgrlem2  25913  trgcopyeulem  25918
 Copyright terms: Public domain W3C validator