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

Theorem israg 29154
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 15003 . . 3 (𝜑 → ⟨“𝐴𝐵𝐶”⟩ ∈ Word 𝑃)
5 fveqeq2 6886 . . . . 5 (𝑤 = ⟨“𝐴𝐵𝐶”⟩ → ((♯‘𝑤) = 3 ↔ (♯‘⟨“𝐴𝐵𝐶”⟩) = 3))
6 fveq1 6876 . . . . . . 7 (𝑤 = ⟨“𝐴𝐵𝐶”⟩ → (𝑤‘0) = (⟨“𝐴𝐵𝐶”⟩‘0))
7 fveq1 6876 . . . . . . 7 (𝑤 = ⟨“𝐴𝐵𝐶”⟩ → (𝑤‘2) = (⟨“𝐴𝐵𝐶”⟩‘2))
86, 7oveq12d 7430 . . . . . 6 (𝑤 = ⟨“𝐴𝐵𝐶”⟩ → ((𝑤‘0) − (𝑤‘2)) = ((⟨“𝐴𝐵𝐶”⟩‘0) − (⟨“𝐴𝐵𝐶”⟩‘2)))
9 fveq1 6876 . . . . . . . . 9 (𝑤 = ⟨“𝐴𝐵𝐶”⟩ → (𝑤‘1) = (⟨“𝐴𝐵𝐶”⟩‘1))
109fveq2d 6881 . . . . . . . 8 (𝑤 = ⟨“𝐴𝐵𝐶”⟩ → (𝑆‘(𝑤‘1)) = (𝑆‘(⟨“𝐴𝐵𝐶”⟩‘1)))
1110, 7fveq12d 6884 . . . . . . 7 (𝑤 = ⟨“𝐴𝐵𝐶”⟩ → ((𝑆‘(𝑤‘1))‘(𝑤‘2)) = ((𝑆‘(⟨“𝐴𝐵𝐶”⟩‘1))‘(⟨“𝐴𝐵𝐶”⟩‘2)))
126, 11oveq12d 7430 . . . . . 6 (𝑤 = ⟨“𝐴𝐵𝐶”⟩ → ((𝑤‘0) − ((𝑆‘(𝑤‘1))‘(𝑤‘2))) = ((⟨“𝐴𝐵𝐶”⟩‘0) − ((𝑆‘(⟨“𝐴𝐵𝐶”⟩‘1))‘(⟨“𝐴𝐵𝐶”⟩‘2))))
138, 12eqeq12d 2777 . . . . 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 3646 . . 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 29151 . . . 4 ∟G = (𝑔 ∈ V ↦ {𝑤 ∈ Word (Base‘𝑔) ∣ ((♯‘𝑤) = 3 ∧ ((𝑤‘0)(dist‘𝑔)(𝑤‘2)) = ((𝑤‘0)(dist‘𝑔)(((pInvG‘𝑔)‘(𝑤‘1))‘(𝑤‘2))))})
18 simpr 490 . . . . . . . 8 ((𝜑 ∧ 𝑔 = 𝐺) → 𝑔 = 𝐺)
1918fveq2d 6881 . . . . . . 7 ((𝜑 ∧ 𝑔 = 𝐺) → (Base‘𝑔) = (Base‘𝐺))
20 israg.p . . . . . . 7 𝑃 = (Base‘𝐺)
2119, 20eqtr4di 2814 . . . . . 6 ((𝜑 ∧ 𝑔 = 𝐺) → (Base‘𝑔) = 𝑃)
22 wrdeq 14661 . . . . . 6 ((Base‘𝑔) = 𝑃 → Word (Base‘𝑔) = Word 𝑃)
2321, 22syl 18 . . . . 5 ((𝜑 ∧ 𝑔 = 𝐺) → Word (Base‘𝑔) = Word 𝑃)
2418fveq2d 6881 . . . . . . . . 9 ((𝜑 ∧ 𝑔 = 𝐺) → (dist‘𝑔) = (dist‘𝐺))
25 israg.d . . . . . . . . 9 − = (dist‘𝐺)
2624, 25eqtr4di 2814 . . . . . . . 8 ((𝜑 ∧ 𝑔 = 𝐺) → (dist‘𝑔) = − )
2726oveqd 7429 . . . . . . 7 ((𝜑 ∧ 𝑔 = 𝐺) → ((𝑤‘0)(dist‘𝑔)(𝑤‘2)) = ((𝑤‘0) − (𝑤‘2)))
28 eqidd 2762 . . . . . . . 8 ((𝜑 ∧ 𝑔 = 𝐺) → (𝑤‘0) = (𝑤‘0))
2918fveq2d 6881 . . . . . . . . . . 11 ((𝜑 ∧ 𝑔 = 𝐺) → (pInvG‘𝑔) = (pInvG‘𝐺))
30 israg.s . . . . . . . . . . 11 𝑆 = (pInvG‘𝐺)
3129, 30eqtr4di 2814 . . . . . . . . . 10 ((𝜑 ∧ 𝑔 = 𝐺) → (pInvG‘𝑔) = 𝑆)
3231fveq1d 6879 . . . . . . . . 9 ((𝜑 ∧ 𝑔 = 𝐺) → ((pInvG‘𝑔)‘(𝑤‘1)) = (𝑆‘(𝑤‘1)))
3332fveq1d 6879 . . . . . . . 8 ((𝜑 ∧ 𝑔 = 𝐺) → (((pInvG‘𝑔)‘(𝑤‘1))‘(𝑤‘2)) = ((𝑆‘(𝑤‘1))‘(𝑤‘2)))
3426, 28, 33oveq123d 7433 . . . . . . 7 ((𝜑 ∧ 𝑔 = 𝐺) → ((𝑤‘0)(dist‘𝑔)(((pInvG‘𝑔)‘(𝑤‘1))‘(𝑤‘2))) = ((𝑤‘0) − ((𝑆‘(𝑤‘1))‘(𝑤‘2))))
3527, 34eqeq12d 2777 . . . . . 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 3430 . . . 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 3474 . . . 4 (𝜑 → 𝐺 ∈ V)
4020fvexi 6891 . . . . . . 7 𝑃 ∈ V
4140wrdexi 14651 . . . . . 6 Word 𝑃 ∈ V
4241rabex 5300 . . . . 5 {𝑤 ∈ Word 𝑃 ∣ ((♯‘𝑤) = 3 ∧ ((𝑤‘0) − (𝑤‘2)) = ((𝑤‘0) − ((𝑆‘(𝑤‘1))‘(𝑤‘2))))} ∈ V
4342a1i 11 . . . 4 (𝜑 → {𝑤 ∈ Word 𝑃 ∣ ((♯‘𝑤) = 3 ∧ ((𝑤‘0) − (𝑤‘2)) = ((𝑤‘0) − ((𝑆‘(𝑤‘1))‘(𝑤‘2))))} ∈ V)
4417, 37, 39, 43fvmptd2 6994 . . 3 (𝜑 → (∟G‘𝐺) = {𝑤 ∈ Word 𝑃 ∣ ((♯‘𝑤) = 3 ∧ ((𝑤‘0) − (𝑤‘2)) = ((𝑤‘0) − ((𝑆‘(𝑤‘1))‘(𝑤‘2))))})
4544eleq2d 2847 . 2 (𝜑 → (⟨“𝐴𝐵𝐶”⟩ ∈ (∟G‘𝐺) ↔ ⟨“𝐴𝐵𝐶”⟩ ∈ {𝑤 ∈ Word 𝑃 ∣ ((♯‘𝑤) = 3 ∧ ((𝑤‘0) − (𝑤‘2)) = ((𝑤‘0) − ((𝑆‘(𝑤‘1))‘(𝑤‘2))))}))
46 s3fv0 15022 . . . . . . 7 (𝐴 ∈ 𝑃 → (⟨“𝐴𝐵𝐶”⟩‘0) = 𝐴)
471, 46syl 18 . . . . . 6 (𝜑 → (⟨“𝐴𝐵𝐶”⟩‘0) = 𝐴)
4847eqcomd 2767 . . . . 5 (𝜑 → 𝐴 = (⟨“𝐴𝐵𝐶”⟩‘0))
49 s3fv2 15024 . . . . . . 7 (𝐶 ∈ 𝑃 → (⟨“𝐴𝐵𝐶”⟩‘2) = 𝐶)
503, 49syl 18 . . . . . 6 (𝜑 → (⟨“𝐴𝐵𝐶”⟩‘2) = 𝐶)
5150eqcomd 2767 . . . . 5 (𝜑 → 𝐶 = (⟨“𝐴𝐵𝐶”⟩‘2))
5248, 51oveq12d 7430 . . . 4 (𝜑 → (𝐴 − 𝐶) = ((⟨“𝐴𝐵𝐶”⟩‘0) − (⟨“𝐴𝐵𝐶”⟩‘2)))
53 s3fv1 15023 . . . . . . . . 9 (𝐵 ∈ 𝑃 → (⟨“𝐴𝐵𝐶”⟩‘1) = 𝐵)
542, 53syl 18 . . . . . . . 8 (𝜑 → (⟨“𝐴𝐵𝐶”⟩‘1) = 𝐵)
5554eqcomd 2767 . . . . . . 7 (𝜑 → 𝐵 = (⟨“𝐴𝐵𝐶”⟩‘1))
5655fveq2d 6881 . . . . . 6 (𝜑 → (𝑆‘𝐵) = (𝑆‘(⟨“𝐴𝐵𝐶”⟩‘1)))
5756, 51fveq12d 6884 . . . . 5 (𝜑 → ((𝑆‘𝐵)‘𝐶) = ((𝑆‘(⟨“𝐴𝐵𝐶”⟩‘1))‘(⟨“𝐴𝐵𝐶”⟩‘2)))
5848, 57oveq12d 7430 . . . 4 (𝜑 → (𝐴 − ((𝑆‘𝐵)‘𝐶)) = ((⟨“𝐴𝐵𝐶”⟩‘0) − ((𝑆‘(⟨“𝐴𝐵𝐶”⟩‘1))‘(⟨“𝐴𝐵𝐶”⟩‘2))))
5952, 58eqeq12d 2777 . . 3 (𝜑 → ((𝐴 − 𝐶) = (𝐴 − ((𝑆‘𝐵)‘𝐶)) ↔ ((⟨“𝐴𝐵𝐶”⟩‘0) − (⟨“𝐴𝐵𝐶”⟩‘2)) = ((⟨“𝐴𝐵𝐶”⟩‘0) − ((𝑆‘(⟨“𝐴𝐵𝐶”⟩‘1))‘(⟨“𝐴𝐵𝐶”⟩‘2)))))
60 s3len 15025 . . . . 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 2145  {crab 3413  Vcvv 3451  ‘cfv 6531  (class class class)co 7412  0cc0 11181  1c1 11182  2c2 12378  3c3 12379  ♯chash 14454  Word cword 14638  ⟨“cs3 14973  Basecbs 17367  distcds 17417  TarskiGcstrkg 28871  Itvcitv 28877  LineGclng 28878  pInvGcmir 29106  ∟Gcrag 29150
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 2213  ax-ext 2733  ax-rep 5232  ax-sep 5249  ax-nul 5260  ax-pow 5327  ax-pr 5391  ax-un 7740  ax-cnex 11237  ax-resscn 11238  ax-1cn 11239  ax-icn 11240  ax-addcl 11241  ax-addrcl 11242  ax-mulcl 11243  ax-mulrcl 11244  ax-mulcom 11245  ax-addass 11246  ax-mulass 11247  ax-distr 11248  ax-i2m1 11249  ax-1ne0 11250  ax-1rid 11251  ax-rnegex 11252  ax-rrecex 11253  ax-cnre 11254  ax-pre-lttri 11255  ax-pre-lttrn 11256  ax-pre-ltadd 11257  ax-pre-mulgt0 11258
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 2565  df-eu 2595  df-clab 2740  df-cleq 2753  df-clel 2836  df-nfc 2910  df-ne 2957  df-nel 3063  df-ral 3078  df-rex 3088  df-reu 3367  df-rab 3414  df-v 3453  df-sbc 3740  df-csb 3848  df-dif 3902  df-un 3904  df-in 3906  df-ss 3916  df-pss 3919  df-nul 4280  df-if 4483  df-pw 4559  df-sn 4585  df-pr 4587  df-op 4591  df-uni 4868  df-int 4908  df-iun 4953  df-br 5104  df-opab 5168  df-mpt 5187  df-tr 5213  df-id 5546  df-eprel 5551  df-po 5559  df-so 5560  df-fr 5604  df-we 5606  df-xp 5657  df-rel 5658  df-cnv 5659  df-co 5660  df-dm 5661  df-rn 5662  df-res 5663  df-ima 5664  df-pred 6297  df-ord 6358  df-on 6359  df-lim 6360  df-suc 6361  df-iota 6487  df-fun 6533  df-fn 6534  df-f 6535  df-f1 6536  df-fo 6537  df-f1o 6538  df-fv 6539  df-riota 7369  df-ov 7415  df-oprab 7416  df-mpo 7417  df-om 7867  df-1st 7990  df-2nd 7991  df-frecs 8283  df-wrecs 8314  df-recs 8363  df-rdg 8402  df-1o 8460  df-er 8701  df-map 8833  df-en 8958  df-dom 8959  df-sdom 8960  df-fin 8961  df-card 10001  df-pnf 11326  df-mnf 11327  df-xr 11328  df-ltxr 11329  df-le 11330  df-sub 11524  df-neg 11525  df-nn 12317  df-2 12386  df-3 12387  df-n0 12588  df-z 12675  df-uz 12947  df-fz 13621  df-fzo 13769  df-hash 14455  df-word 14639  df-concat 14696  df-s1 14723  df-s2 14979  df-s3 14980  df-rag 29151
This theorem is used by:  ragcom  29155  ragcol  29156  ragmir  29157  mirrag  29158  ragtrivb  29159  ragflat2  29160  ragflat  29161  ragcgr  29164  footexALT  29175  footexlem1  29176  footexlem2  29177  colperpexlem1  29188  colperpexlem3  29190  mideulem2  29192  opphllem  29193  lmiisolem  29283  hypcgrlem1  29287  hypcgrlem2  29288  trgcopyeulem  29294  ragsupplcgra  29327
  Copyright terms: Public domain W3C validator