Groups.Symmetric.Inclusion
We show that there is an inclusion from any group into into the Symmetric group of its underlying set.
Module header
{-# OPTIONS --safe --cubical #-} open import Cubical.Algebra.Group module Groups.Symmetric.Inclusion {ℓ} (𝓖 : Group ℓ) where open import Cubical.Data.Sigma open import Cubical.Foundations.Prelude open import Cubical.Foundations.Structure open import Cubical.Functions.FunExtEquiv open import Groups.Function.Inverse open import Groups.Symmetric open GroupStr (𝓖 .snd)
SymGroup : Group ℓ SymGroup = Symmetric-Group ⟨ 𝓖 ⟩ is-set
The inclusion takes g
to the function λ x → g · x
with inverse λ x → g ⁻¹ · x
inc : ⟨ 𝓖 ⟩ → ⟨ SymGroup ⟩ inc g = (λ x → g · x) , (λ x → inv g · x) , i , ii where i : (b x : ⟨ 𝓖 ⟩) → x ≡ inv g · b → g · x ≡ b i b x p = g · x ≡⟨ cong (g ·_) p ⟩ g · (inv g · b) ≡⟨ ·Assoc g (inv g) b ⟩ (g · inv g) · b ≡⟨ cong (_· b) (·InvR g) ⟩ 1g · b ≡⟨ ·IdL b ⟩ b ∎ ii : (a y : ⟨ 𝓖 ⟩) → y ≡ g · a → inv g · y ≡ a ii a y p = inv g · y ≡⟨ cong (inv g ·_) p ⟩ inv g · (g · a) ≡⟨ ·Assoc (inv g) g a ⟩ (inv g · g) · a ≡⟨ cong (_· a) (·InvL g) ⟩ 1g · a ≡⟨ ·IdL a ⟩ a ∎
Inclusion properties
The inclusion can be shown to be injective and a group homomorphism.
inc-injective : (x y : ⟨ 𝓖 ⟩) → inc x ≡ inc y → x ≡ y inc-injective x y p = x ≡⟨ sym (·IdR x) ⟩ x · 1g ≡⟨ cong (λ a → fst a 1g) p ⟩ y · 1g ≡⟨ ·IdR y ⟩ y ∎ open GroupStr (SymGroup .snd) using () renaming (_·_ to _·′_; 1g to 1gs; inv to invs) inc-homo : (x y : ⟨ 𝓖 ⟩) → inc (x · y) ≡ (inc x) ·′ (inc y) inc-homo x y = inverse-equality-lemma _ _ is-set is-set λ g → sym (·Assoc x y g) inc-pres1 : inc 1g ≡ 1gs inc-pres1 = inverse-equality-lemma (inc 1g) 1gs is-set is-set ·IdL inc-pres-inv : (g : ⟨ 𝓖 ⟩) → inc (inv g) ≡ invs (inc g) inc-pres-inv g = inverse-equality-lemma (inc (inv g)) (invs (inc g)) is-set is-set (λ x → refl)