{-# OPTIONS --without-K #-} open import Agda.Primitive open import 1-equality infixl 50 _∘_ _∘_ : {ℓ₁ ℓ₂ ℓ₃ : Level} → {A : Set ℓ₁} → {B : Set ℓ₂} → {C : B → Set ℓ₃} → ((b : B) → C b) → (g : A → B) → (a : A) → C (g a) (f ∘ g) x = f ( g x ) ass[∘] : {ℓ₁ ℓ₂ ℓ₃ ℓ₄ : Level} → {A : Set ℓ₁} → {B : Set ℓ₂} → {C : Set ℓ₃} → {D : Set ℓ₄} → (f : C → D) → (g : B → C) → (h : A → B) → (f ∘ g) ∘ h ≡ f ∘ (g ∘ h) ass[∘] = λ f g h → refl ≡∘ : {ℓ₁ ℓ₂ ℓ₃ : Level} → {A : Set ℓ₁} → {B : Set ℓ₂} → {C : Set ℓ₃} → {f g : B → C} → (f ≡ g) → (h : A → B) → (f ∘ h ≡ g ∘ h) ≡∘ refl h = refl ∘≡ : {ℓ₁ ℓ₂ ℓ₃ : Level} → {A : Set ℓ₁} → {B : Set ℓ₂} → {C : Set ℓ₃} → {f g : A → B} → (h : B → C) → (f ≡ g) → (h ∘ f ≡ h ∘ g) ∘≡ h refl = refl