{-# OPTIONS --cubical #-}
open import Cubical.Foundations.Prelude
open import Cubical.Foundations.Structure
open import Cubical.Algebra.Group
open import Cubical.Algebra.Group.Morphisms
open import Cubical.Homotopy.Loopspace
open import Cubical.HITs.PropositionalTruncation
open import Cubical.HITs.FreeGroup renaming (_·_ to _·f_)
open import GSet
open import GSetProperties
Principal : {ℓ : Level} (G : Group ℓ) → GSet G
Principal {ℓ} G = ⟨ G ⟩ , gsetstr a
where
open GroupStr (str G)
a : Action {ℓ} G ⟨ G ⟩
a = record {
_*_ = _·_ ;
is-set = is-set ;
·Unit = ·IdL ;
·Composition = ·Assoc
}