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

Definition df-angmgm 29254
Description: Definition of the angle addition magma. See following theorems for better readable properties. Because the textbook's definition of angle congruence does not consider orientation (cf. cgraswap 29207) , our notion of angle does not include reflex angles (angles larger than a straight angle). Therefore, like with 0, at this point, we can only build a magma , which is e.g. not isomorphic with the rotation group SO(2) . (Contributed by Thierry Arnoux, 20-Jul-2026.)
Assertion
Ref Expression
df-angmgm AngMgm = (𝑔 ∈ V ↦ (Base‘𝑔) / 𝑝{𝑑 ∈ (𝑝m (0..^3)) ∣ ((𝑑‘0) ≠ (𝑑‘1) ∧ (𝑑‘1) ≠ (𝑑‘2))} / 𝑎({⟨(Base‘ndx), 𝑎⟩, ⟨(+g‘ndx), (𝑒𝑎, 𝑓𝑎 ↦ if((𝑒‘0) ∈ ((𝑒‘1)(LineG‘𝑔)(𝑒‘2)), ⟨“(𝑓‘0)(𝑓‘1)(𝑧𝑝 (⟨“(𝑓‘2)(𝑓‘1)𝑧”⟩(cgrA‘𝑔)𝑒 ∧ ((𝑓‘1)(dist‘𝑔)𝑧) = ((𝑒‘1)(dist‘𝑔)(𝑒‘0))))”⟩, ⟨“(𝑒‘0)(𝑒‘1)(𝑧𝑝 (⟨“(𝑒‘2)(𝑒‘1)𝑧”⟩(cgrA‘𝑔)𝑓 ∧ ((𝑒‘1)(dist‘𝑔)𝑧) = ((𝑓‘1)(dist‘𝑔)(𝑓‘0)) ∧ (((𝑒‘1)(LineG‘𝑔)(𝑒‘2)) ∩ (𝑧(Itv‘𝑔)(𝑒‘0))) ≠ ∅))”⟩))⟩, ⟨(le‘ndx), (≤𝑔)⟩} /s (cgrA‘𝑔)))
Distinct variable group:   𝑔,𝑝,𝑑,𝑎,𝑒,𝑓,𝑧

Detailed syntax breakdown of Definition df-angmgm
StepHypRef Expression
1 cangmgm 29253 . 2 class AngMgm
2 vg . . 3 setvar 𝑔
3 cvv 3453 . . 3 class V
4 vp . . . 4 setvar 𝑝
52cv 1569 . . . . 5 class 𝑔
6 cbs 17305 . . . . 5 class Base
75, 6cfv 6537 . . . 4 class (Base‘𝑔)
8 va . . . . 5 setvar 𝑎
9 cc0 11127 . . . . . . . . 9 class 0
10 vd . . . . . . . . . 10 setvar 𝑑
1110cv 1569 . . . . . . . . 9 class 𝑑
129, 11cfv 6537 . . . . . . . 8 class (𝑑‘0)
13 c1 11128 . . . . . . . . 9 class 1
1413, 11cfv 6537 . . . . . . . 8 class (𝑑‘1)
1512, 14wne 2957 . . . . . . 7 wff (𝑑‘0) ≠ (𝑑‘1)
16 c2 12322 . . . . . . . . 9 class 2
1716, 11cfv 6537 . . . . . . . 8 class (𝑑‘2)
1814, 17wne 2957 . . . . . . 7 wff (𝑑‘1) ≠ (𝑑‘2)
1915, 18wa 401 . . . . . 6 wff ((𝑑‘0) ≠ (𝑑‘1) ∧ (𝑑‘1) ≠ (𝑑‘2))
204cv 1569 . . . . . . 7 class 𝑝
21 c3 12323 . . . . . . . 8 class 3
22 cfzo 13711 . . . . . . . 8 class ..^
239, 21, 22co 7416 . . . . . . 7 class (0..^3)
24 cmap 8829 . . . . . . 7 class m
2520, 23, 24co 7416 . . . . . 6 class (𝑝m (0..^3))
2619, 10, 25crab 3414 . . . . 5 class {𝑑 ∈ (𝑝m (0..^3)) ∣ ((𝑑‘0) ≠ (𝑑‘1) ∧ (𝑑‘1) ≠ (𝑑‘2))}
27 cnx 17289 . . . . . . . . 9 class ndx
2827, 6cfv 6537 . . . . . . . 8 class (Base‘ndx)
298cv 1569 . . . . . . . 8 class 𝑎
3028, 29cop 4593 . . . . . . 7 class ⟨(Base‘ndx), 𝑎
31 cplusg 17346 . . . . . . . . 9 class +g
3227, 31cfv 6537 . . . . . . . 8 class (+g‘ndx)
33 ve . . . . . . . . 9 setvar 𝑒
34 vf . . . . . . . . 9 setvar 𝑓
3533cv 1569 . . . . . . . . . . . 12 class 𝑒
369, 35cfv 6537 . . . . . . . . . . 11 class (𝑒‘0)
3713, 35cfv 6537 . . . . . . . . . . . 12 class (𝑒‘1)
3816, 35cfv 6537 . . . . . . . . . . . 12 class (𝑒‘2)
39 clng 28776 . . . . . . . . . . . . 13 class LineG
405, 39cfv 6537 . . . . . . . . . . . 12 class (LineG‘𝑔)
4137, 38, 40co 7416 . . . . . . . . . . 11 class ((𝑒‘1)(LineG‘𝑔)(𝑒‘2))
4236, 41wcel 2145 . . . . . . . . . 10 wff (𝑒‘0) ∈ ((𝑒‘1)(LineG‘𝑔)(𝑒‘2))
4334cv 1569 . . . . . . . . . . . 12 class 𝑓
449, 43cfv 6537 . . . . . . . . . . 11 class (𝑓‘0)
4513, 43cfv 6537 . . . . . . . . . . 11 class (𝑓‘1)
4616, 43cfv 6537 . . . . . . . . . . . . . . 15 class (𝑓‘2)
47 vz . . . . . . . . . . . . . . . 16 setvar 𝑧
4847cv 1569 . . . . . . . . . . . . . . 15 class 𝑧
4946, 45, 48cs3 14915 . . . . . . . . . . . . . 14 class ⟨“(𝑓‘2)(𝑓‘1)𝑧”⟩
50 ccgra 29194 . . . . . . . . . . . . . . 15 class cgrA
515, 50cfv 6537 . . . . . . . . . . . . . 14 class (cgrA‘𝑔)
5249, 35, 51wbr 5107 . . . . . . . . . . . . 13 wff ⟨“(𝑓‘2)(𝑓‘1)𝑧”⟩(cgrA‘𝑔)𝑒
53 cds 17355 . . . . . . . . . . . . . . . 16 class dist
545, 53cfv 6537 . . . . . . . . . . . . . . 15 class (dist‘𝑔)
5545, 48, 54co 7416 . . . . . . . . . . . . . 14 class ((𝑓‘1)(dist‘𝑔)𝑧)
5637, 36, 54co 7416 . . . . . . . . . . . . . 14 class ((𝑒‘1)(dist‘𝑔)(𝑒‘0))
5755, 56wceq 1570 . . . . . . . . . . . . 13 wff ((𝑓‘1)(dist‘𝑔)𝑧) = ((𝑒‘1)(dist‘𝑔)(𝑒‘0))
5852, 57wa 401 . . . . . . . . . . . 12 wff (⟨“(𝑓‘2)(𝑓‘1)𝑧”⟩(cgrA‘𝑔)𝑒 ∧ ((𝑓‘1)(dist‘𝑔)𝑧) = ((𝑒‘1)(dist‘𝑔)(𝑒‘0)))
5958, 47, 20crio 7372 . . . . . . . . . . 11 class (𝑧𝑝 (⟨“(𝑓‘2)(𝑓‘1)𝑧”⟩(cgrA‘𝑔)𝑒 ∧ ((𝑓‘1)(dist‘𝑔)𝑧) = ((𝑒‘1)(dist‘𝑔)(𝑒‘0))))
6044, 45, 59cs3 14915 . . . . . . . . . 10 class ⟨“(𝑓‘0)(𝑓‘1)(𝑧𝑝 (⟨“(𝑓‘2)(𝑓‘1)𝑧”⟩(cgrA‘𝑔)𝑒 ∧ ((𝑓‘1)(dist‘𝑔)𝑧) = ((𝑒‘1)(dist‘𝑔)(𝑒‘0))))”⟩
6138, 37, 48cs3 14915 . . . . . . . . . . . . . 14 class ⟨“(𝑒‘2)(𝑒‘1)𝑧”⟩
6261, 43, 51wbr 5107 . . . . . . . . . . . . 13 wff ⟨“(𝑒‘2)(𝑒‘1)𝑧”⟩(cgrA‘𝑔)𝑓
6337, 48, 54co 7416 . . . . . . . . . . . . . 14 class ((𝑒‘1)(dist‘𝑔)𝑧)
6445, 44, 54co 7416 . . . . . . . . . . . . . 14 class ((𝑓‘1)(dist‘𝑔)(𝑓‘0))
6563, 64wceq 1570 . . . . . . . . . . . . 13 wff ((𝑒‘1)(dist‘𝑔)𝑧) = ((𝑓‘1)(dist‘𝑔)(𝑓‘0))
66 citv 28775 . . . . . . . . . . . . . . . . 17 class Itv
675, 66cfv 6537 . . . . . . . . . . . . . . . 16 class (Itv‘𝑔)
6848, 36, 67co 7416 . . . . . . . . . . . . . . 15 class (𝑧(Itv‘𝑔)(𝑒‘0))
6941, 68cin 3901 . . . . . . . . . . . . . 14 class (((𝑒‘1)(LineG‘𝑔)(𝑒‘2)) ∩ (𝑧(Itv‘𝑔)(𝑒‘0)))
70 c0 4282 . . . . . . . . . . . . . 14 class
7169, 70wne 2957 . . . . . . . . . . . . 13 wff (((𝑒‘1)(LineG‘𝑔)(𝑒‘2)) ∩ (𝑧(Itv‘𝑔)(𝑒‘0))) ≠ ∅
7262, 65, 71w3a 1103 . . . . . . . . . . . 12 wff (⟨“(𝑒‘2)(𝑒‘1)𝑧”⟩(cgrA‘𝑔)𝑓 ∧ ((𝑒‘1)(dist‘𝑔)𝑧) = ((𝑓‘1)(dist‘𝑔)(𝑓‘0)) ∧ (((𝑒‘1)(LineG‘𝑔)(𝑒‘2)) ∩ (𝑧(Itv‘𝑔)(𝑒‘0))) ≠ ∅)
7372, 47, 20crio 7372 . . . . . . . . . . 11 class (𝑧𝑝 (⟨“(𝑒‘2)(𝑒‘1)𝑧”⟩(cgrA‘𝑔)𝑓 ∧ ((𝑒‘1)(dist‘𝑔)𝑧) = ((𝑓‘1)(dist‘𝑔)(𝑓‘0)) ∧ (((𝑒‘1)(LineG‘𝑔)(𝑒‘2)) ∩ (𝑧(Itv‘𝑔)(𝑒‘0))) ≠ ∅))
7436, 37, 73cs3 14915 . . . . . . . . . 10 class ⟨“(𝑒‘0)(𝑒‘1)(𝑧𝑝 (⟨“(𝑒‘2)(𝑒‘1)𝑧”⟩(cgrA‘𝑔)𝑓 ∧ ((𝑒‘1)(dist‘𝑔)𝑧) = ((𝑓‘1)(dist‘𝑔)(𝑓‘0)) ∧ (((𝑒‘1)(LineG‘𝑔)(𝑒‘2)) ∩ (𝑧(Itv‘𝑔)(𝑒‘0))) ≠ ∅))”⟩
7542, 60, 74cif 4485 . . . . . . . . 9 class if((𝑒‘0) ∈ ((𝑒‘1)(LineG‘𝑔)(𝑒‘2)), ⟨“(𝑓‘0)(𝑓‘1)(𝑧𝑝 (⟨“(𝑓‘2)(𝑓‘1)𝑧”⟩(cgrA‘𝑔)𝑒 ∧ ((𝑓‘1)(dist‘𝑔)𝑧) = ((𝑒‘1)(dist‘𝑔)(𝑒‘0))))”⟩, ⟨“(𝑒‘0)(𝑒‘1)(𝑧𝑝 (⟨“(𝑒‘2)(𝑒‘1)𝑧”⟩(cgrA‘𝑔)𝑓 ∧ ((𝑒‘1)(dist‘𝑔)𝑧) = ((𝑓‘1)(dist‘𝑔)(𝑓‘0)) ∧ (((𝑒‘1)(LineG‘𝑔)(𝑒‘2)) ∩ (𝑧(Itv‘𝑔)(𝑒‘0))) ≠ ∅))”⟩)
7633, 34, 29, 29, 75cmpo 7418 . . . . . . . 8 class (𝑒𝑎, 𝑓𝑎 ↦ if((𝑒‘0) ∈ ((𝑒‘1)(LineG‘𝑔)(𝑒‘2)), ⟨“(𝑓‘0)(𝑓‘1)(𝑧𝑝 (⟨“(𝑓‘2)(𝑓‘1)𝑧”⟩(cgrA‘𝑔)𝑒 ∧ ((𝑓‘1)(dist‘𝑔)𝑧) = ((𝑒‘1)(dist‘𝑔)(𝑒‘0))))”⟩, ⟨“(𝑒‘0)(𝑒‘1)(𝑧𝑝 (⟨“(𝑒‘2)(𝑒‘1)𝑧”⟩(cgrA‘𝑔)𝑓 ∧ ((𝑒‘1)(dist‘𝑔)𝑧) = ((𝑓‘1)(dist‘𝑔)(𝑓‘0)) ∧ (((𝑒‘1)(LineG‘𝑔)(𝑒‘2)) ∩ (𝑧(Itv‘𝑔)(𝑒‘0))) ≠ ∅))”⟩))
7732, 76cop 4593 . . . . . . 7 class ⟨(+g‘ndx), (𝑒𝑎, 𝑓𝑎 ↦ if((𝑒‘0) ∈ ((𝑒‘1)(LineG‘𝑔)(𝑒‘2)), ⟨“(𝑓‘0)(𝑓‘1)(𝑧𝑝 (⟨“(𝑓‘2)(𝑓‘1)𝑧”⟩(cgrA‘𝑔)𝑒 ∧ ((𝑓‘1)(dist‘𝑔)𝑧) = ((𝑒‘1)(dist‘𝑔)(𝑒‘0))))”⟩, ⟨“(𝑒‘0)(𝑒‘1)(𝑧𝑝 (⟨“(𝑒‘2)(𝑒‘1)𝑧”⟩(cgrA‘𝑔)𝑓 ∧ ((𝑒‘1)(dist‘𝑔)𝑧) = ((𝑓‘1)(dist‘𝑔)(𝑓‘0)) ∧ (((𝑒‘1)(LineG‘𝑔)(𝑒‘2)) ∩ (𝑧(Itv‘𝑔)(𝑒‘0))) ≠ ∅))”⟩))⟩
78 cple 17353 . . . . . . . . 9 class le
7927, 78cfv 6537 . . . . . . . 8 class (le‘ndx)
80 cleag 29235 . . . . . . . . 9 class
815, 80cfv 6537 . . . . . . . 8 class (≤𝑔)
8279, 81cop 4593 . . . . . . 7 class ⟨(le‘ndx), (≤𝑔)⟩
8330, 77, 82ctp 4591 . . . . . 6 class {⟨(Base‘ndx), 𝑎⟩, ⟨(+g‘ndx), (𝑒𝑎, 𝑓𝑎 ↦ if((𝑒‘0) ∈ ((𝑒‘1)(LineG‘𝑔)(𝑒‘2)), ⟨“(𝑓‘0)(𝑓‘1)(𝑧𝑝 (⟨“(𝑓‘2)(𝑓‘1)𝑧”⟩(cgrA‘𝑔)𝑒 ∧ ((𝑓‘1)(dist‘𝑔)𝑧) = ((𝑒‘1)(dist‘𝑔)(𝑒‘0))))”⟩, ⟨“(𝑒‘0)(𝑒‘1)(𝑧𝑝 (⟨“(𝑒‘2)(𝑒‘1)𝑧”⟩(cgrA‘𝑔)𝑓 ∧ ((𝑒‘1)(dist‘𝑔)𝑧) = ((𝑓‘1)(dist‘𝑔)(𝑓‘0)) ∧ (((𝑒‘1)(LineG‘𝑔)(𝑒‘2)) ∩ (𝑧(Itv‘𝑔)(𝑒‘0))) ≠ ∅))”⟩))⟩, ⟨(le‘ndx), (≤𝑔)⟩}
84 cqus 17595 . . . . . 6 class /s
8583, 51, 84co 7416 . . . . 5 class ({⟨(Base‘ndx), 𝑎⟩, ⟨(+g‘ndx), (𝑒𝑎, 𝑓𝑎 ↦ if((𝑒‘0) ∈ ((𝑒‘1)(LineG‘𝑔)(𝑒‘2)), ⟨“(𝑓‘0)(𝑓‘1)(𝑧𝑝 (⟨“(𝑓‘2)(𝑓‘1)𝑧”⟩(cgrA‘𝑔)𝑒 ∧ ((𝑓‘1)(dist‘𝑔)𝑧) = ((𝑒‘1)(dist‘𝑔)(𝑒‘0))))”⟩, ⟨“(𝑒‘0)(𝑒‘1)(𝑧𝑝 (⟨“(𝑒‘2)(𝑒‘1)𝑧”⟩(cgrA‘𝑔)𝑓 ∧ ((𝑒‘1)(dist‘𝑔)𝑧) = ((𝑓‘1)(dist‘𝑔)(𝑓‘0)) ∧ (((𝑒‘1)(LineG‘𝑔)(𝑒‘2)) ∩ (𝑧(Itv‘𝑔)(𝑒‘0))) ≠ ∅))”⟩))⟩, ⟨(le‘ndx), (≤𝑔)⟩} /s (cgrA‘𝑔))
868, 26, 85csb 3850 . . . 4 class {𝑑 ∈ (𝑝m (0..^3)) ∣ ((𝑑‘0) ≠ (𝑑‘1) ∧ (𝑑‘1) ≠ (𝑑‘2))} / 𝑎({⟨(Base‘ndx), 𝑎⟩, ⟨(+g‘ndx), (𝑒𝑎, 𝑓𝑎 ↦ if((𝑒‘0) ∈ ((𝑒‘1)(LineG‘𝑔)(𝑒‘2)), ⟨“(𝑓‘0)(𝑓‘1)(𝑧𝑝 (⟨“(𝑓‘2)(𝑓‘1)𝑧”⟩(cgrA‘𝑔)𝑒 ∧ ((𝑓‘1)(dist‘𝑔)𝑧) = ((𝑒‘1)(dist‘𝑔)(𝑒‘0))))”⟩, ⟨“(𝑒‘0)(𝑒‘1)(𝑧𝑝 (⟨“(𝑒‘2)(𝑒‘1)𝑧”⟩(cgrA‘𝑔)𝑓 ∧ ((𝑒‘1)(dist‘𝑔)𝑧) = ((𝑓‘1)(dist‘𝑔)(𝑓‘0)) ∧ (((𝑒‘1)(LineG‘𝑔)(𝑒‘2)) ∩ (𝑧(Itv‘𝑔)(𝑒‘0))) ≠ ∅))”⟩))⟩, ⟨(le‘ndx), (≤𝑔)⟩} /s (cgrA‘𝑔))
874, 7, 86csb 3850 . . 3 class (Base‘𝑔) / 𝑝{𝑑 ∈ (𝑝m (0..^3)) ∣ ((𝑑‘0) ≠ (𝑑‘1) ∧ (𝑑‘1) ≠ (𝑑‘2))} / 𝑎({⟨(Base‘ndx), 𝑎⟩, ⟨(+g‘ndx), (𝑒𝑎, 𝑓𝑎 ↦ if((𝑒‘0) ∈ ((𝑒‘1)(LineG‘𝑔)(𝑒‘2)), ⟨“(𝑓‘0)(𝑓‘1)(𝑧𝑝 (⟨“(𝑓‘2)(𝑓‘1)𝑧”⟩(cgrA‘𝑔)𝑒 ∧ ((𝑓‘1)(dist‘𝑔)𝑧) = ((𝑒‘1)(dist‘𝑔)(𝑒‘0))))”⟩, ⟨“(𝑒‘0)(𝑒‘1)(𝑧𝑝 (⟨“(𝑒‘2)(𝑒‘1)𝑧”⟩(cgrA‘𝑔)𝑓 ∧ ((𝑒‘1)(dist‘𝑔)𝑧) = ((𝑓‘1)(dist‘𝑔)(𝑓‘0)) ∧ (((𝑒‘1)(LineG‘𝑔)(𝑒‘2)) ∩ (𝑧(Itv‘𝑔)(𝑒‘0))) ≠ ∅))”⟩))⟩, ⟨(le‘ndx), (≤𝑔)⟩} /s (cgrA‘𝑔))
882, 3, 87cmpt 5190 . 2 class (𝑔 ∈ V ↦ (Base‘𝑔) / 𝑝{𝑑 ∈ (𝑝m (0..^3)) ∣ ((𝑑‘0) ≠ (𝑑‘1) ∧ (𝑑‘1) ≠ (𝑑‘2))} / 𝑎({⟨(Base‘ndx), 𝑎⟩, ⟨(+g‘ndx), (𝑒𝑎, 𝑓𝑎 ↦ if((𝑒‘0) ∈ ((𝑒‘1)(LineG‘𝑔)(𝑒‘2)), ⟨“(𝑓‘0)(𝑓‘1)(𝑧𝑝 (⟨“(𝑓‘2)(𝑓‘1)𝑧”⟩(cgrA‘𝑔)𝑒 ∧ ((𝑓‘1)(dist‘𝑔)𝑧) = ((𝑒‘1)(dist‘𝑔)(𝑒‘0))))”⟩, ⟨“(𝑒‘0)(𝑒‘1)(𝑧𝑝 (⟨“(𝑒‘2)(𝑒‘1)𝑧”⟩(cgrA‘𝑔)𝑓 ∧ ((𝑒‘1)(dist‘𝑔)𝑧) = ((𝑓‘1)(dist‘𝑔)(𝑓‘0)) ∧ (((𝑒‘1)(LineG‘𝑔)(𝑒‘2)) ∩ (𝑧(Itv‘𝑔)(𝑒‘0))) ≠ ∅))”⟩))⟩, ⟨(le‘ndx), (≤𝑔)⟩} /s (cgrA‘𝑔)))
891, 88wceq 1570 1 wff AngMgm = (𝑔 ∈ V ↦ (Base‘𝑔) / 𝑝{𝑑 ∈ (𝑝m (0..^3)) ∣ ((𝑑‘0) ≠ (𝑑‘1) ∧ (𝑑‘1) ≠ (𝑑‘2))} / 𝑎({⟨(Base‘ndx), 𝑎⟩, ⟨(+g‘ndx), (𝑒𝑎, 𝑓𝑎 ↦ if((𝑒‘0) ∈ ((𝑒‘1)(LineG‘𝑔)(𝑒‘2)), ⟨“(𝑓‘0)(𝑓‘1)(𝑧𝑝 (⟨“(𝑓‘2)(𝑓‘1)𝑧”⟩(cgrA‘𝑔)𝑒 ∧ ((𝑓‘1)(dist‘𝑔)𝑧) = ((𝑒‘1)(dist‘𝑔)(𝑒‘0))))”⟩, ⟨“(𝑒‘0)(𝑒‘1)(𝑧𝑝 (⟨“(𝑒‘2)(𝑒‘1)𝑧”⟩(cgrA‘𝑔)𝑓 ∧ ((𝑒‘1)(dist‘𝑔)𝑧) = ((𝑓‘1)(dist‘𝑔)(𝑓‘0)) ∧ (((𝑒‘1)(LineG‘𝑔)(𝑒‘2)) ∩ (𝑧(Itv‘𝑔)(𝑒‘0))) ≠ ∅))”⟩))⟩, ⟨(le‘ndx), (≤𝑔)⟩} /s (cgrA‘𝑔)))
Colors of variables:    wff setvar class
This definition is used by:  angmgmval  29274
  Copyright terms: Public domain W3C validator