{-# OPTIONS --without-K --rewriting --overlapping-instances --instance-search-depth=3 #-}
open import lib.Basics
open import 2Semigroup
open import 2Grp
open import Delooping
open import KFunctor
open import KFunctor-comp
open import apK
module KFunctor-comp-assoc-defs
{ℓ₁ ℓ₂ ℓ₃ ℓ₄} {G₁ : Type ℓ₁} {G₂ : Type ℓ₂} {G₃ : Type ℓ₃} {G₄ : Type ℓ₄}
{{η₁ : CohGrp G₁}} {{η₂ : CohGrp G₂}} {{η₃ : CohGrp G₃}} {{η₄ : CohGrp G₄}}
{f₁ : G₁ → G₂} (σ₁ : WkSGrpHomStr f₁) {f₂ : G₂ → G₃}
(σ₂ : WkSGrpHomStr f₂) {f₃ : G₃ → G₄} (σ₃ : WkSGrpHomStr f₃) where
m₁ = cohsgrphom f₁ {{σ₁}}
m₂ = cohsgrphom f₂ {{σ₂}}
m₃ = cohsgrphom f₃ {{σ₃}}
ν₁ =
λ v →
K₂-map-β-pts (m₂ ∘2Mσ m₁) v ∙
! (K₂-map-β-pts σ₂ (f₁ v)) ∙
! (ap (ap (K₂-map σ₂)) (K₂-map-β-pts σ₁ v)) ∙
∘-ap (K₂-map σ₂) (K₂-map σ₁) (loop G₁ v)
ν₂ =
λ v →
K₂-map-β-pts (m₃ ∘2Mσ (m₂ ∘2M m₁)) v ∙
! (K₂-map-β-pts σ₃ ((f₂ ∘ f₁) v)) ∙
! (ap (ap (K₂-map σ₃)) (K₂-map-β-pts (m₂ ∘2Mσ m₁) v)) ∙
∘-ap (K₂-map σ₃) (K₂-map (m₂ ∘2Mσ m₁)) (loop G₁ v)
ν₃ =
λ v →
K₂-map-β-pts (m₃ ∘2Mσ (m₂ ∘2M m₁)) v ∙
! (K₂-map-β-pts ((m₃ ∘2M m₂) ∘2Mσ m₁) v)
ν₄ =
λ v →
K₂-map-β-pts ((m₃ ∘2M m₂) ∘2Mσ m₁) v ∙
! (K₂-map-β-pts (m₃ ∘2Mσ m₂) (f₁ v)) ∙
! (ap (ap (K₂-map (m₃ ∘2Mσ m₂))) (K₂-map-β-pts σ₁ v)) ∙
∘-ap (K₂-map (m₃ ∘2Mσ m₂)) (K₂-map σ₁) (loop G₁ v)
ν₅ =
λ v →
K₂-map-β-pts (m₃ ∘2Mσ m₂) v ∙
! (K₂-map-β-pts σ₃ (f₂ v)) ∙
! (ap (ap (K₂-map σ₃)) (K₂-map-β-pts σ₂ v)) ∙
∘-ap (K₂-map σ₃) (K₂-map σ₂) (loop G₂ v)
module _ (x : G₁) where
δ₁ =
K₂-map-β-pts (m₂ ∘2Mσ m₁) x ◃∙
! (K₂-map-β-pts σ₂ (f₁ x)) ◃∙
! (ap (ap (K₂-map σ₂)) (K₂-map-β-pts σ₁ x)) ◃∙
∘-ap (K₂-map σ₂) (K₂-map σ₁) (loop G₁ x) ◃∎
δ₂ =
K₂-map-β-pts (m₃ ∘2Mσ (m₂ ∘2M m₁)) x ◃∙
! (K₂-map-β-pts σ₃ ((f₂ ∘ f₁) x)) ◃∙
! (ap (ap (K₂-map σ₃)) (K₂-map-β-pts (m₂ ∘2Mσ m₁) x)) ◃∙
∘-ap (K₂-map σ₃) (K₂-map (m₂ ∘2Mσ m₁)) (loop G₁ x) ◃∎
δ₃ =
K₂-map-β-pts (m₃ ∘2Mσ (m₂ ∘2M m₁)) x ◃∙
! (K₂-map-β-pts ((m₃ ∘2M m₂) ∘2Mσ m₁) x) ◃∎
δ₄ =
K₂-map-β-pts ((m₃ ∘2M m₂) ∘2Mσ m₁) x ◃∙
! (K₂-map-β-pts (m₃ ∘2Mσ m₂) (f₁ x)) ◃∙
! (ap (ap (K₂-map (m₃ ∘2Mσ m₂))) (K₂-map-β-pts σ₁ x)) ◃∙
∘-ap (K₂-map (m₃ ∘2Mσ m₂)) (K₂-map σ₁) (loop G₁ x) ◃∎
δ₅ =
ap (ap (K₂-map (m₃ ∘2Mσ m₂))) (K₂-map-β-pts σ₁ x) ◃∙
K₂-map-β-pts (m₃ ∘2Mσ m₂) (f₁ x) ◃∙
! (K₂-map-β-pts σ₃ (f₂ (f₁ x))) ◃∙
! (ap (ap (K₂-map σ₃)) (K₂-map-β-pts σ₂ (f₁ x))) ◃∙
∘-ap (K₂-map σ₃) (K₂-map σ₂) (loop G₂ (f₁ x)) ◃∙
! (ap (ap (K₂-map σ₃ ∘ K₂-map σ₂)) (K₂-map-β-pts σ₁ x)) ◃∎