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

Theorem israg 29202
Description: Property for 3 points A, B, C to form a right angle. Definition 8.1 of [Schwabhauser] p. 57. (Contributed by Thierry Arnoux, 25-Aug-2019.)
Hypotheses
Ref Expression
israg.p 𝑃 = (Base‘𝐺)
israg.d − = (dist‘𝐺)
israg.i 𝐼 = (Itv‘𝐺)
israg.l 𝐿 = (LineG‘𝐺)
israg.s 𝑆 = (pInvG‘𝐺)
israg.g (𝜑 → 𝐺 ∈ TarskiG)
israg.a (𝜑 → 𝐴 ∈ 𝑃)
israg.b (𝜑 → 𝐵 ∈ 𝑃)
israg.c (𝜑 → 𝐶 ∈ 𝑃)
Assertion
Ref Expression
israg (𝜑 → (⟨“𝐴𝐵𝐶”⟩ ∈ (∟G‘𝐺) ↔ (𝐴 − 𝐶) = (𝐴 − ((𝑆‘𝐵)‘𝐶))))

Proof of Theorem israg
Dummy variables 𝑔 𝑤 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 israg.a . . . 4 (𝜑 → 𝐴 ∈ 𝑃)
2 israg.b . . . 4 (𝜑 → 𝐵 ∈ 𝑃)
3 israg.c . . . 4 (𝜑 → 𝐶 ∈ 𝑃)
41, 2, 3s3cld 15051 . . 3 (𝜑 → ⟨“𝐴𝐵𝐶”⟩ ∈ Word 𝑃)
5 fveqeq2 6917 . . . . 5 (𝑤 = ⟨“𝐴𝐵𝐶”⟩ → ((♯‘𝑤) = 3 ↔ (♯‘⟨“𝐴𝐵𝐶”⟩) = 3))
6 fveq1 6907 . . . . . . 7 (𝑤 = ⟨“𝐴𝐵𝐶”⟩ → (𝑤‘0) = (⟨“𝐴𝐵𝐶”⟩‘0))
7 fveq1 6907 . . . . . . 7 (𝑤 = ⟨“𝐴𝐵𝐶”⟩ → (𝑤‘2) = (⟨“𝐴𝐵𝐶”⟩‘2))
86, 7oveq12d 7461 . . . . . 6 (𝑤 = ⟨“𝐴𝐵𝐶”⟩ → ((𝑤‘0) − (𝑤‘2)) = ((⟨“𝐴𝐵𝐶”⟩‘0) − (⟨“𝐴𝐵𝐶”⟩‘2)))
9 fveq1 6907 . . . . . . . . 9 (𝑤 = ⟨“𝐴𝐵𝐶”⟩ → (𝑤‘1) = (⟨“𝐴𝐵𝐶”⟩‘1))
109fveq2d 6912 . . . . . . . 8 (𝑤 = ⟨“𝐴𝐵𝐶”⟩ → (𝑆‘(𝑤‘1)) = (𝑆‘(⟨“𝐴𝐵𝐶”⟩‘1)))
1110, 7fveq12d 6915 . . . . . . 7 (𝑤 = ⟨“𝐴𝐵𝐶”⟩ → ((𝑆‘(𝑤‘1))‘(𝑤‘2)) = ((𝑆‘(⟨“𝐴𝐵𝐶”⟩‘1))‘(⟨“𝐴𝐵𝐶”⟩‘2)))
126, 11oveq12d 7461 . . . . . 6 (𝑤 = ⟨“𝐴𝐵𝐶”⟩ → ((𝑤‘0) − ((𝑆‘(𝑤‘1))‘(𝑤‘2))) = ((⟨“𝐴𝐵𝐶”⟩‘0) − ((𝑆‘(⟨“𝐴𝐵𝐶”⟩‘1))‘(⟨“𝐴𝐵𝐶”⟩‘2))))
138, 12eqeq12d 2779 . . . . 5 (𝑤 = ⟨“𝐴𝐵𝐶”⟩ → (((𝑤‘0) − (𝑤‘2)) = ((𝑤‘0) − ((𝑆‘(𝑤‘1))‘(𝑤‘2))) ↔ ((⟨“𝐴𝐵𝐶”⟩‘0) − (⟨“𝐴𝐵𝐶”⟩‘2)) = ((⟨“𝐴𝐵𝐶”⟩‘0) − ((𝑆‘(⟨“𝐴𝐵𝐶”⟩‘1))‘(⟨“𝐴𝐵𝐶”⟩‘2)))))
145, 13anbi12d 644 . . . 4 (𝑤 = ⟨“𝐴𝐵𝐶”⟩ → (((♯‘𝑤) = 3 ∧ ((𝑤‘0) − (𝑤‘2)) = ((𝑤‘0) − ((𝑆‘(𝑤‘1))‘(𝑤‘2)))) ↔ ((♯‘⟨“𝐴𝐵𝐶”⟩) = 3 ∧ ((⟨“𝐴𝐵𝐶”⟩‘0) − (⟨“𝐴𝐵𝐶”⟩‘2)) = ((⟨“𝐴𝐵𝐶”⟩‘0) − ((𝑆‘(⟨“𝐴𝐵𝐶”⟩‘1))‘(⟨“𝐴𝐵𝐶”⟩‘2))))))
1514elrab3 3649 . . 3 (⟨“𝐴𝐵𝐶”⟩ ∈ Word 𝑃 → (⟨“𝐴𝐵𝐶”⟩ ∈ {𝑤 ∈ Word 𝑃 ∣ ((♯‘𝑤) = 3 ∧ ((𝑤‘0) − (𝑤‘2)) = ((𝑤‘0) − ((𝑆‘(𝑤‘1))‘(𝑤‘2))))} ↔ ((♯‘⟨“𝐴𝐵𝐶”⟩) = 3 ∧ ((⟨“𝐴𝐵𝐶”⟩‘0) − (⟨“𝐴𝐵𝐶”⟩‘2)) = ((⟨“𝐴𝐵𝐶”⟩‘0) − ((𝑆‘(⟨“𝐴𝐵𝐶”⟩‘1))‘(⟨“𝐴𝐵𝐶”⟩‘2))))))
164, 15syl 18 . 2 (𝜑 → (⟨“𝐴𝐵𝐶”⟩ ∈ {𝑤 ∈ Word 𝑃 ∣ ((♯‘𝑤) = 3 ∧ ((𝑤‘0) − (𝑤‘2)) = ((𝑤‘0) − ((𝑆‘(𝑤‘1))‘(𝑤‘2))))} ↔ ((♯‘⟨“𝐴𝐵𝐶”⟩) = 3 ∧ ((⟨“𝐴𝐵𝐶”⟩‘0) − (⟨“𝐴𝐵𝐶”⟩‘2)) = ((⟨“𝐴𝐵𝐶”⟩‘0) − ((𝑆‘(⟨“𝐴𝐵𝐶”⟩‘1))‘(⟨“𝐴𝐵𝐶”⟩‘2))))))
17 df-rag 29199 . . . 4 ∟G = (𝑔 ∈ V ↦ {𝑤 ∈ Word (Base‘𝑔) ∣ ((♯‘𝑤) = 3 ∧ ((𝑤‘0)(dist‘𝑔)(𝑤‘2)) = ((𝑤‘0)(dist‘𝑔)(((pInvG‘𝑔)‘(𝑤‘1))‘(𝑤‘2))))})
18 simpr 490 . . . . . . . 8 ((𝜑 ∧ 𝑔 = 𝐺) → 𝑔 = 𝐺)
1918fveq2d 6912 . . . . . . 7 ((𝜑 ∧ 𝑔 = 𝐺) → (Base‘𝑔) = (Base‘𝐺))
20 israg.p . . . . . . 7 𝑃 = (Base‘𝐺)
2119, 20eqtr4di 2816 . . . . . 6 ((𝜑 ∧ 𝑔 = 𝐺) → (Base‘𝑔) = 𝑃)
22 wrdeq 14708 . . . . . 6 ((Base‘𝑔) = 𝑃 → Word (Base‘𝑔) = Word 𝑃)
2321, 22syl 18 . . . . 5 ((𝜑 ∧ 𝑔 = 𝐺) → Word (Base‘𝑔) = Word 𝑃)
2418fveq2d 6912 . . . . . . . . 9 ((𝜑 ∧ 𝑔 = 𝐺) → (dist‘𝑔) = (dist‘𝐺))
25 israg.d . . . . . . . . 9 − = (dist‘𝐺)
2624, 25eqtr4di 2816 . . . . . . . 8 ((𝜑 ∧ 𝑔 = 𝐺) → (dist‘𝑔) = − )
2726oveqd 7460 . . . . . . 7 ((𝜑 ∧ 𝑔 = 𝐺) → ((𝑤‘0)(dist‘𝑔)(𝑤‘2)) = ((𝑤‘0) − (𝑤‘2)))
28 eqidd 2764 . . . . . . . 8 ((𝜑 ∧ 𝑔 = 𝐺) → (𝑤‘0) = (𝑤‘0))
2918fveq2d 6912 . . . . . . . . . . 11 ((𝜑 ∧ 𝑔 = 𝐺) → (pInvG‘𝑔) = (pInvG‘𝐺))
30 israg.s . . . . . . . . . . 11 𝑆 = (pInvG‘𝐺)
3129, 30eqtr4di 2816 . . . . . . . . . 10 ((𝜑 ∧ 𝑔 = 𝐺) → (pInvG‘𝑔) = 𝑆)
3231fveq1d 6910 . . . . . . . . 9 ((𝜑 ∧ 𝑔 = 𝐺) → ((pInvG‘𝑔)‘(𝑤‘1)) = (𝑆‘(𝑤‘1)))
3332fveq1d 6910 . . . . . . . 8 ((𝜑 ∧ 𝑔 = 𝐺) → (((pInvG‘𝑔)‘(𝑤‘1))‘(𝑤‘2)) = ((𝑆‘(𝑤‘1))‘(𝑤‘2)))
3426, 28, 33oveq123d 7464 . . . . . . 7 ((𝜑 ∧ 𝑔 = 𝐺) → ((𝑤‘0)(dist‘𝑔)(((pInvG‘𝑔)‘(𝑤‘1))‘(𝑤‘2))) = ((𝑤‘0) − ((𝑆‘(𝑤‘1))‘(𝑤‘2))))
3527, 34eqeq12d 2779 . . . . . 6 ((𝜑 ∧ 𝑔 = 𝐺) → (((𝑤‘0)(dist‘𝑔)(𝑤‘2)) = ((𝑤‘0)(dist‘𝑔)(((pInvG‘𝑔)‘(𝑤‘1))‘(𝑤‘2))) ↔ ((𝑤‘0) − (𝑤‘2)) = ((𝑤‘0) − ((𝑆‘(𝑤‘1))‘(𝑤‘2)))))
3635anbi2d 642 . . . . 5 ((𝜑 ∧ 𝑔 = 𝐺) → (((♯‘𝑤) = 3 ∧ ((𝑤‘0)(dist‘𝑔)(𝑤‘2)) = ((𝑤‘0)(dist‘𝑔)(((pInvG‘𝑔)‘(𝑤‘1))‘(𝑤‘2)))) ↔ ((♯‘𝑤) = 3 ∧ ((𝑤‘0) − (𝑤‘2)) = ((𝑤‘0) − ((𝑆‘(𝑤‘1))‘(𝑤‘2))))))
3723, 36rabeqbidv 3433 . . . 4 ((𝜑 ∧ 𝑔 = 𝐺) → {𝑤 ∈ Word (Base‘𝑔) ∣ ((♯‘𝑤) = 3 ∧ ((𝑤‘0)(dist‘𝑔)(𝑤‘2)) = ((𝑤‘0)(dist‘𝑔)(((pInvG‘𝑔)‘(𝑤‘1))‘(𝑤‘2))))} = {𝑤 ∈ Word 𝑃 ∣ ((♯‘𝑤) = 3 ∧ ((𝑤‘0) − (𝑤‘2)) = ((𝑤‘0) − ((𝑆‘(𝑤‘1))‘(𝑤‘2))))})
38 israg.g . . . . 5 (𝜑 → 𝐺 ∈ TarskiG)
3938elexd 3477 . . . 4 (𝜑 → 𝐺 ∈ V)
4020fvexi 6922 . . . . . . 7 𝑃 ∈ V
4140wrdexi 14698 . . . . . 6 Word 𝑃 ∈ V
4241rabex 5304 . . . . 5 {𝑤 ∈ Word 𝑃 ∣ ((♯‘𝑤) = 3 ∧ ((𝑤‘0) − (𝑤‘2)) = ((𝑤‘0) − ((𝑆‘(𝑤‘1))‘(𝑤‘2))))} ∈ V
4342a1i 11 . . . 4 (𝜑 → {𝑤 ∈ Word 𝑃 ∣ ((♯‘𝑤) = 3 ∧ ((𝑤‘0) − (𝑤‘2)) = ((𝑤‘0) − ((𝑆‘(𝑤‘1))‘(𝑤‘2))))} ∈ V)
4417, 37, 39, 43fvmptd2 7025 . . 3 (𝜑 → (∟G‘𝐺) = {𝑤 ∈ Word 𝑃 ∣ ((♯‘𝑤) = 3 ∧ ((𝑤‘0) − (𝑤‘2)) = ((𝑤‘0) − ((𝑆‘(𝑤‘1))‘(𝑤‘2))))})
4544eleq2d 2850 . 2 (𝜑 → (⟨“𝐴𝐵𝐶”⟩ ∈ (∟G‘𝐺) ↔ ⟨“𝐴𝐵𝐶”⟩ ∈ {𝑤 ∈ Word 𝑃 ∣ ((♯‘𝑤) = 3 ∧ ((𝑤‘0) − (𝑤‘2)) = ((𝑤‘0) − ((𝑆‘(𝑤‘1))‘(𝑤‘2))))}))
46 s3fv0 15071 . . . . . . 7 (𝐴 ∈ 𝑃 → (⟨“𝐴𝐵𝐶”⟩‘0) = 𝐴)
471, 46syl 18 . . . . . 6 (𝜑 → (⟨“𝐴𝐵𝐶”⟩‘0) = 𝐴)
4847eqcomd 2769 . . . . 5 (𝜑 → 𝐴 = (⟨“𝐴𝐵𝐶”⟩‘0))
49 s3fv2 15073 . . . . . . 7 (𝐶 ∈ 𝑃 → (⟨“𝐴𝐵𝐶”⟩‘2) = 𝐶)
503, 49syl 18 . . . . . 6 (𝜑 → (⟨“𝐴𝐵𝐶”⟩‘2) = 𝐶)
5150eqcomd 2769 . . . . 5 (𝜑 → 𝐶 = (⟨“𝐴𝐵𝐶”⟩‘2))
5248, 51oveq12d 7461 . . . 4 (𝜑 → (𝐴 − 𝐶) = ((⟨“𝐴𝐵𝐶”⟩‘0) − (⟨“𝐴𝐵𝐶”⟩‘2)))
53 s3fv1 15072 . . . . . . . . 9 (𝐵 ∈ 𝑃 → (⟨“𝐴𝐵𝐶”⟩‘1) = 𝐵)
542, 53syl 18 . . . . . . . 8 (𝜑 → (⟨“𝐴𝐵𝐶”⟩‘1) = 𝐵)
5554eqcomd 2769 . . . . . . 7 (𝜑 → 𝐵 = (⟨“𝐴𝐵𝐶”⟩‘1))
5655fveq2d 6912 . . . . . 6 (𝜑 → (𝑆‘𝐵) = (𝑆‘(⟨“𝐴𝐵𝐶”⟩‘1)))
5756, 51fveq12d 6915 . . . . 5 (𝜑 → ((𝑆‘𝐵)‘𝐶) = ((𝑆‘(⟨“𝐴𝐵𝐶”⟩‘1))‘(⟨“𝐴𝐵𝐶”⟩‘2)))
5848, 57oveq12d 7461 . . . 4 (𝜑 → (𝐴 − ((𝑆‘𝐵)‘𝐶)) = ((⟨“𝐴𝐵𝐶”⟩‘0) − ((𝑆‘(⟨“𝐴𝐵𝐶”⟩‘1))‘(⟨“𝐴𝐵𝐶”⟩‘2))))
5952, 58eqeq12d 2779 . . 3 (𝜑 → ((𝐴 − 𝐶) = (𝐴 − ((𝑆‘𝐵)‘𝐶)) ↔ ((⟨“𝐴𝐵𝐶”⟩‘0) − (⟨“𝐴𝐵𝐶”⟩‘2)) = ((⟨“𝐴𝐵𝐶”⟩‘0) − ((𝑆‘(⟨“𝐴𝐵𝐶”⟩‘1))‘(⟨“𝐴𝐵𝐶”⟩‘2)))))
60 s3len 15074 . . . . 5 (♯‘⟨“𝐴𝐵𝐶”⟩) = 3
6160a1i 11 . . . 4 (𝜑 → (♯‘⟨“𝐴𝐵𝐶”⟩) = 3)
6261biantrurd 542 . . 3 (𝜑 → (((⟨“𝐴𝐵𝐶”⟩‘0) − (⟨“𝐴𝐵𝐶”⟩‘2)) = ((⟨“𝐴𝐵𝐶”⟩‘0) − ((𝑆‘(⟨“𝐴𝐵𝐶”⟩‘1))‘(⟨“𝐴𝐵𝐶”⟩‘2))) ↔ ((♯‘⟨“𝐴𝐵𝐶”⟩) = 3 ∧ ((⟨“𝐴𝐵𝐶”⟩‘0) − (⟨“𝐴𝐵𝐶”⟩‘2)) = ((⟨“𝐴𝐵𝐶”⟩‘0) − ((𝑆‘(⟨“𝐴𝐵𝐶”⟩‘1))‘(⟨“𝐴𝐵𝐶”⟩‘2))))))
6359, 62bitrd 282 . 2 (𝜑 → ((𝐴 − 𝐶) = (𝐴 − ((𝑆‘𝐵)‘𝐶)) ↔ ((♯‘⟨“𝐴𝐵𝐶”⟩) = 3 ∧ ((⟨“𝐴𝐵𝐶”⟩‘0) − (⟨“𝐴𝐵𝐶”⟩‘2)) = ((⟨“𝐴𝐵𝐶”⟩‘0) − ((𝑆‘(⟨“𝐴𝐵𝐶”⟩‘1))‘(⟨“𝐴𝐵𝐶”⟩‘2))))))
6416, 45, 633bitr4d 314 1 (𝜑 → (⟨“𝐴𝐵𝐶”⟩ ∈ (∟G‘𝐺) ↔ (𝐴 − 𝐶) = (𝐴 − ((𝑆‘𝐵)‘𝐶))))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:   → wi 4   ↔ wb 209   ∧ wa 401   = wceq 1570   ∈ wcel 2147  {crab 3416  Vcvv 3454  ‘cfv 6558  (class class class)co 7443  0cc0 11227  1c1 11228  2c2 12424  3c3 12425  ♯chash 14501  Word cword 14685  ⟨“cs3 15021  Basecbs 17416  distcds 17466  TarskiGcstrkg 28919  Itvcitv 28925  LineGclng 28926  pInvGcmir 29154  ∟Gcrag 29198
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 1945  ax-6 2002  ax-7 2043  ax-8 2149  ax-9 2157  ax-10 2180  ax-11 2197  ax-12 2216  ax-ext 2735  ax-rep 5235  ax-sep 5252  ax-nul 5263  ax-pow 5331  ax-pr 5395  ax-un 7775  ax-cnex 11283  ax-resscn 11284  ax-1cn 11285  ax-icn 11286  ax-addcl 11287  ax-addrcl 11288  ax-mulcl 11289  ax-mulrcl 11290  ax-mulcom 11291  ax-addass 11292  ax-mulass 11293  ax-distr 11294  ax-i2m1 11295  ax-1ne0 11296  ax-1rid 11297  ax-rnegex 11298  ax-rrecex 11299  ax-cnre 11300  ax-pre-lttri 11301  ax-pre-lttrn 11302  ax-pre-ltadd 11303  ax-pre-mulgt0 11304
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 2102  df-mo 2567  df-eu 2597  df-clab 2742  df-cleq 2755  df-clel 2839  df-nfc 2913  df-ne 2960  df-nel 3066  df-ral 3081  df-rex 3091  df-reu 3370  df-rab 3417  df-v 3456  df-sbc 3743  df-csb 3852  df-ss 3901  df-pss 4017  df-dif 4050  df-in 4094  df-un 4154  df-nul 4282  df-if 4486  df-pw 4562  df-sn 4589  df-pr 4591  df-op 4839  df-uni 4871  df-int 4911  df-iun 4956  df-br 5107  df-opab 5171  df-mpt 5190  df-tr 5216  df-id 5550  df-eprel 5555  df-po 5563  df-so 5564  df-fr 5608  df-we 5610  df-xp 5661  df-rel 5662  df-cnv 5663  df-co 5664  df-dm 5665  df-rn 5666  df-res 5667  df-ima 5668  df-pred 6322  df-ord 6383  df-on 6384  df-lim 6385  df-suc 6386  df-iota 6512  df-fun 6560  df-fn 6561  df-f 6562  df-f1 6563  df-fo 6564  df-f1o 6565  df-fv 6566  df-riota 7400  df-ov 7446  df-oprab 7447  df-mpo 7448  df-om 7902  df-1st 8025  df-2nd 8026  df-frecs 8327  df-wrecs 8358  df-recs 8407  df-rdg 8446  df-1o 8504  df-er 8745  df-map 8877  df-en 9002  df-dom 9003  df-sdom 9004  df-fin 9005  df-card 10047  df-pnf 11372  df-mnf 11373  df-xr 11374  df-ltxr 11375  df-le 11376  df-sub 11570  df-neg 11571  df-nn 12363  df-2 12432  df-3 12433  df-n0 12634  df-z 12721  df-uz 12993  df-fz 13667  df-fzo 13816  df-hash 14502  df-word 14686  df-concat 14743  df-s1 14770  df-s2 15027  df-s3 15028  df-rag 29199
This theorem is used by:  ragcom  29203  ragcol  29204  ragmir  29205  mirrag  29206  ragtrivb  29207  ragflat2  29208  ragflat  29209  ragcgr  29212  footexALT  29223  footexlem1  29224  footexlem2  29225  colperpexlem1  29236  colperpexlem3  29238  mideulem2  29240  opphllem  29241  lmiisolem  29331  hypcgrlem1  29335  hypcgrlem2  29336  trgcopyeulem  29342  ragsupplcgra  29375
  Copyright terms: Public domain W3C validator