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 ∎
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)