{-# OPTIONS --without-K #-}
open import Agda.Primitive
infixl 10 _≡_
infixl 50 _•_
data _≡_ {ℓ : Level} {A : Set ℓ} : (x y : A) → Set ℓ where refl : {z : A} → z ≡ z
Ω[_,_] : {ℓ : Level} → (A : Set ℓ) → (a : A) → Set ℓ
Ω[ A , a ] = a ≡ a
Ω²[_,_] : {ℓ : Level} → (A : Set ℓ) → (a : A) → Set ℓ
Ω²[ A , a ] = Ω[ Ω[ A , a ] , refl ]
_•_ : {ℓ : Level} → {A : Set ℓ} → {x y z : A} → x ≡ y → y ≡ z → x ≡ z
refl • refl = refl
Eckmann·Hilton : {ℓ : Level} → (A : Set ℓ) → (a : A) → (α β : Ω²[ A , a ]) → α • β ≡ β • α
Eckmann·Hilton A a α β = α•β≡α⋆β • α⋆β≡α⋆'β • α⋆'β≡β•α where
sym : {ℓ : Level} → {A : Set ℓ} → {x y : A} → x ≡ y → y ≡ x
sym refl = refl
ru : {ℓ : Level} → {A : Set ℓ} → {x y : A} → (p : x ≡ y) → p ≡ p • refl
ru refl = refl
lu : {ℓ : Level} → {A : Set ℓ} → {x y : A} → (p : x ≡ y) → p ≡ refl • p
lu refl = refl
ap : {ℓ₁ ℓ₂ : Level} → {A : Set ℓ₁} → {B : Set ℓ₂} → {x y : A} → (f : A → B) → (x ≡ y) → f x ≡ f y
ap f refl = refl
_•₁_ : {ℓ : Level} → {A : Set ℓ} → {a b c : A} → {p q : a ≡ b} → (α : p ≡ q) → (r : b ≡ c) → (p • r ≡ q • r)
α •₁ refl = sym(ru _) • α • (ru _)
_•₂_ : {ℓ : Level} → {A : Set ℓ} → {a b c : A} → {r s : b ≡ c} → (q : a ≡ b) → (β : r ≡ s) → (q • r ≡ q • s)
refl •₂ β = sym(lu _) • β • (lu _)
_⋆_ : {ℓ : Level} → {A : Set ℓ} → {a b c : A} → {p q : a ≡ b} → {r s : b ≡ c} → (α : p ≡ q) → (β : r ≡ s) → (p • r ≡ q • s)
α ⋆ β = (α •₁ _) • (_ •₂ β)
_⋆'_ : {ℓ : Level} → {A : Set ℓ} → {a b c : A} → {p q : a ≡ b} → {r s : b ≡ c} → (α : p ≡ q) → (β : r ≡ s) → (p • r ≡ q • s)
α ⋆' β = (_ •₂ β) • (α •₁ _)
α•β≡α⋆β : α • β ≡ α ⋆ β
α•β≡α⋆β = ap (λ x → α • x) (lu β • ru (refl • β)) • ap (λ x → x • (refl • β • refl)) (lu α • ru (refl • α))
α⋆β≡α⋆'β : α ⋆ β ≡ α ⋆' β
α⋆β≡α⋆'β = ⋆≡⋆' α β where
⋆≡⋆' : {ℓ : Level} → {A : Set ℓ} → {a b c : A} → {p q : a ≡ b} → {r s : b ≡ c} → (α : p ≡ q) → (β : r ≡ s) → (α ⋆ β ≡ α ⋆' β)
⋆≡⋆' {p = refl} {q = refl} {r = refl} {s = refl} refl refl = refl
α⋆'β≡β•α : α ⋆' β ≡ β • α
α⋆'β≡β•α = sym ((ap (λ x → β • x) (lu α • ru (refl • α))) • (ap (λ x → x • (refl • α • refl)) (lu β • ru (refl • β))))