{-# OPTIONS --without-K --safe #-}
open import Prelude
module fil {o ℓ e} {C : Category o ℓ e} (MC : Monoidal C) where
open Monoidal MC using (⊗)
isFIL : Endofunctor C → Endofunctor C → Set (o ⊔ ℓ ⊔ e)
isFIL F G = NaturalTransformation (⊗ ∘F (F ⁂ G)) ⊗
record FIL : Set (o ⊔ ℓ ⊔ e) where
constructor FIL[_,_,_]
field
F : Endofunctor C
G : Endofunctor C
ϕ : isFIL F G
module F = Functor F
module G = Functor G
source = F
dest = G
open Monoidal MC using (⊗; _⊗₁_; _⊗₀_)
open Category C
record isFIL' (F G : Endofunctor C) : Set (o ⊔ ℓ ⊔ e) where
private
module F = Functor F
module G = Functor G
field
ϕ : ∀ X Y → (F.₀ X ⊗₀ G.₀ Y) ⇒ X ⊗₀ Y
natural₁ : ∀ {X X' Y} → (f : X ⇒ X') →
(f ⊗₁ id) ∘ ϕ X Y ≈ ϕ X' Y ∘ (F.₁ f ⊗₁ id)
natural₂ : ∀ {X Y Y'} → (g : Y ⇒ Y') →
(id ⊗₁ g) ∘ ϕ X Y ≈ ϕ X Y' ∘ (id ⊗₁ G.₁ g)