diff --git a/src/Cat/Categories/Cat.agda b/src/Cat/Categories/Cat.agda index 02f4838..08516cf 100644 --- a/src/Cat/Categories/Cat.agda +++ b/src/Cat/Categories/Cat.agda @@ -16,7 +16,7 @@ open import Cat.Category.Exponential open import Cat.Equality open Equality.Data.Product -open Functor +open Functor using (func→ ; func*) open Category using (Object ; 𝟙) -- The category of categories diff --git a/src/Cat/Category/Functor.agda b/src/Cat/Category/Functor.agda index 09d7731..aac423c 100644 --- a/src/Cat/Category/Functor.agda +++ b/src/Cat/Category/Functor.agda @@ -7,7 +7,7 @@ open import Function open import Cat.Category -open Category hiding (_∘_ ; raw) +open Category hiding (_∘_ ; raw ; IsIdentity) module _ {ℓc ℓc' ℓd ℓd'} (ℂ : Category ℓc ℓc') @@ -23,12 +23,18 @@ module _ {ℓc ℓc' ℓd ℓd'} func* : Object ℂ → Object 𝔻 func→ : ∀ {A B} → ℂ [ A , B ] → 𝔻 [ func* A , func* B ] + IsIdentity : Set _ + IsIdentity = {A : Object ℂ} → func→ (𝟙 ℂ {A}) ≡ 𝟙 𝔻 {func* A} + + IsDistributive : Set _ + IsDistributive = {A B C : Object ℂ} {f : ℂ [ A , B ]} {g : ℂ [ B , C ]} + → func→ (ℂ [ g ∘ f ]) ≡ 𝔻 [ func→ g ∘ func→ f ] + record IsFunctor (F : RawFunctor) : 𝓤 where open RawFunctor F public field - ident : {c : Object ℂ} → func→ (𝟙 ℂ {c}) ≡ 𝟙 𝔻 {func* c} - distrib : {A B C : Object ℂ} {f : ℂ [ A , B ]} {g : ℂ [ B , C ]} - → func→ (ℂ [ g ∘ f ]) ≡ 𝔻 [ func→ g ∘ func→ f ] + ident : IsIdentity + distrib : IsDistributive record Functor : Set (ℓc ⊔ ℓc' ⊔ ℓd ⊔ ℓd') where field