Sums of finite sequences of elements in groups
Content created by Louis Wasserman.
Created on 2025-09-02.
Last modified on 2025-09-02.
module group-theory.sums-of-finite-sequences-of-elements-groups where
Imports
open import elementary-number-theory.addition-natural-numbers open import elementary-number-theory.natural-numbers open import foundation.action-on-identifications-functions open import foundation.coproduct-types open import foundation.function-types open import foundation.homotopies open import foundation.identity-types open import foundation.unit-type open import foundation.universe-levels open import foundation.whiskering-homotopies-composition open import group-theory.groups open import group-theory.sums-of-finite-sequences-of-elements-monoids open import linear-algebra.finite-sequences-in-groups open import univalent-combinatorics.coproduct-types open import univalent-combinatorics.standard-finite-types
Idea
The
sum operation¶
operation extends the binary operation on a group G
to any finite sequence of elements of G
.
We use additive terminology consistently with the linear algebra definition of finite sequences in groups despite the use of multiplicative terminology for groups in general.
Definition
sum-fin-sequence-type-Group : {l : Level} (G : Group l) (n : ℕ) → (fin-sequence-type-Group G n) → type-Group G sum-fin-sequence-type-Group G = sum-fin-sequence-type-Monoid (monoid-Group G)
Properties
Sums of one and two elements
module _ {l : Level} (G : Group l) where compute-sum-one-element-Group : (f : fin-sequence-type-Group G 1) → sum-fin-sequence-type-Group G 1 f = head-fin-sequence-type-Group G 0 f compute-sum-one-element-Group = compute-sum-one-element-Monoid (monoid-Group G) compute-sum-two-elements-Group : (f : fin-sequence-type-Group G 2) → sum-fin-sequence-type-Group G 2 f = mul-Group G (f (zero-Fin 1)) (f (one-Fin 1)) compute-sum-two-elements-Group = compute-sum-two-elements-Monoid (monoid-Group G)
Sums are homotopy invariant
module _ {l : Level} (G : Group l) where htpy-sum-fin-sequence-type-Group : (n : ℕ) {f g : fin-sequence-type-Group G n} → (f ~ g) → sum-fin-sequence-type-Group G n f = sum-fin-sequence-type-Group G n g htpy-sum-fin-sequence-type-Group = htpy-sum-fin-sequence-type-Monoid (monoid-Group G)
Sums are equal to the zero-th term plus the rest
module _ {l : Level} (G : Group l) where cons-sum-fin-sequence-type-Group : (n : ℕ) (f : fin-sequence-type-Group G (succ-ℕ n)) → {x : type-Group G} → head-fin-sequence-type-Group G n f = x → sum-fin-sequence-type-Group G (succ-ℕ n) f = mul-Group G (sum-fin-sequence-type-Group G n (f ∘ inl-Fin n)) x cons-sum-fin-sequence-type-Group n f refl = refl snoc-sum-fin-sequence-type-Group : (n : ℕ) (f : fin-sequence-type-Group G (succ-ℕ n)) → {x : type-Group G} → f (zero-Fin n) = x → sum-fin-sequence-type-Group G (succ-ℕ n) f = mul-Group G ( x) ( sum-fin-sequence-type-Group G n (f ∘ inr-Fin n)) snoc-sum-fin-sequence-type-Group = snoc-sum-fin-sequence-type-Monoid (monoid-Group G)
Extending a sum of elements in a group
module _ {l : Level} (G : Group l) where extend-sum-fin-sequence-type-Group : (n : ℕ) (f : fin-sequence-type-Group G n) → sum-fin-sequence-type-Group G ( succ-ℕ n) ( cons-fin-sequence-type-Group G n (unit-Group G) f) = sum-fin-sequence-type-Group G n f extend-sum-fin-sequence-type-Group = extend-sum-fin-sequence-type-Monoid (monoid-Group G)
Shifting a sum of elements in a group
module _ {l : Level} (G : Group l) where shift-sum-fin-sequence-type-Group : (n : ℕ) (f : fin-sequence-type-Group G n) → sum-fin-sequence-type-Group G ( succ-ℕ n) ( snoc-fin-sequence-type-Group G n f ( unit-Group G)) = sum-fin-sequence-type-Group G n f shift-sum-fin-sequence-type-Group = shift-sum-fin-sequence-type-Monoid (monoid-Group G)
A sum of zeros is zero
module _ {l : Level} (G : Group l) where abstract sum-zero-fin-sequence-type-Group : (n : ℕ) → sum-fin-sequence-type-Group G n (zero-fin-sequence-type-Group G n) = unit-Group G sum-zero-fin-sequence-type-Group = sum-zero-fin-sequence-type-Monoid (monoid-Group G)
Splitting sums of n + m
elements into a sum of n
elements and a sum of m
elements
split-sum-fin-sequence-type-Group : {l : Level} (G : Group l) (n m : ℕ) (f : fin-sequence-type-Group G (n +ℕ m)) → sum-fin-sequence-type-Group G (n +ℕ m) f = mul-Group G ( sum-fin-sequence-type-Group G n (f ∘ inl-coproduct-Fin n m)) ( sum-fin-sequence-type-Group G m (f ∘ inr-coproduct-Fin n m)) split-sum-fin-sequence-type-Group G = split-sum-fin-sequence-type-Monoid (monoid-Group G)
External links
- Sum at Wikidata
Recent changes
- 2025-09-02. Louis Wasserman. Finite sums in groups and abelian groups (#1527).