{-# OPTIONS --without-K --rewriting --overlapping-instances #-}
open import lib.Basics
open import 2Grp
open import Codes
open import Hmtpy2Grp
open import 2GrpSIP
open import Decode0
open import Decode-def
module Delooping-equiv where
module _ {i} {G : Type i} {{η : CohGrp G}} where
open import Delooping G
decode-encode : (z : K₂ η) (p : base == z) → decode z (encode z p) == p
decode-encode z idp = loop-ident
loop-encode : loop ∘ encode base ∼ idf (base == base)
loop-encode = decode-encode base
loop-equiv : is-equiv loop
loop-equiv = is-eq loop (encode base) loop-encode encode-loop
loop-2g≃ : η 2g≃ Loop2Grp (base {{η}})
fst loop-2g≃ = loop {{η}} , loop-equiv
snd loop-2g≃ = CohGrpHom.str (K₂-loopmap {{η}})