Anna Williams, March 2026
This file corresponds to the paper
https://anna-maths.xyz/assets/papers/disp-categories.pdf
\begin{code}
{-# OPTIONS --safe --without-K #-}
open import Categories.Wild
open import Categories.Pre
open import Categories.Univalent
open import Categories.Examples.Set
open import Categories.Examples.Magma
open import Categories.Functor
open import Categories.Functor-Composition
open import Categories.NaturalTransformation
open import Categories.Adjoint
open import Categories.Notation.Pre
open import Categories.Displayed.Pre
open import Categories.Displayed.Univalent
open import Categories.Displayed.Examples.Magma
open import Categories.Displayed.Functor
open import Categories.Displayed.Total
open import Categories.Displayed.Notation.Pre
module Categories.AW-MSciProject where
open import MLTT.Spartan
open import Notation.UnderlyingType
open import UF.DependentEquality
open import UF.FunExt
open import UF.Sets
open import UF.Subsingletons
open import UF.Univalence
\end{code}
## Chapter 3: Category Theory
### Section 3.1: Categories
\begin{code}
Definition-3-1 : (๐ค ๐ฅ : Universe) โ (๐ค โ ๐ฅ) โบ ฬ
Definition-3-1 = WildCategory
Example-3-2 : WildCategory (๐ค โบ) ๐ค
Example-3-2 = SetWildCategory
Example-3-3 : Fun-Ext โ WildCategory (๐ค โบ) ๐ค
Example-3-3 = MagmaWildCategory
Definition-3-4 : (W : WildCategory ๐ค ๐ฅ)
โ (A B : obj W)
โ ๐ฅ ฬ
Definition-3-4 W A B = A โ
B
where
open WildCategoryNotation W
module _ (W : WildCategory ๐ค ๐ฅ) where
open WildCategoryNotation W
Proposition-3-5 : (A B : obj W)
โ (f : A โ
B)
โ (g h : inverse โ f โ)
โ prโ g ๏ผ prโ h
Proposition-3-5 _ _ _ = at-most-one-inverse
Definition-3-6 : (W : WildCategory ๐ค ๐ฅ)
(p : is-precategory W)
โ Precategory ๐ค ๐ฅ
Definition-3-6 W p = W , p
Proposition-3-7 : (W : WildCategory ๐ค ๐ฅ)
โ Fun-Ext
โ is-prop (is-precategory W)
Proposition-3-7 = being-precat-is-prop
Example-3-8-Set : Fun-Ext โ Precategory (๐ค โบ) ๐ค
Example-3-8-Set = SetPrecategory
Example-3-8-Magma : Fun-Ext โ Precategory (๐ค โบ) ๐ค
Example-3-8-Magma = MagmaPrecategory
module _ (P : Precategory ๐ค ๐ฅ) where
open PrecategoryNotation P
Proposition-3-9-prop : {a b : obj P}
(f : hom a b)
โ is-prop (inverse f)
Proposition-3-9-prop = being-iso-is-prop P
Proposition-3-9-set : {a b : obj P}
โ is-set (a โ
b)
Proposition-3-9-set = isomorphism-type-is-set P
Corollary-3-10 : {a b : obj P}
{f f' : a โ
b}
โ โ f โ ๏ผ โ f' โ
โ f ๏ผ f'
Corollary-3-10 = to-โ
-๏ผ
Proposition-3-11 : (a b : obj P)
โ (a ๏ผ b โ a โ
b)
Proposition-3-11 a b = id-to-iso a b
Definition-3-12 : (P : Precategory ๐ค ๐ฅ)
(p : is-category P)
โ Category ๐ค ๐ฅ
Definition-3-12 P p = P , p
Corollary-3-13 : (C : Category ๐ค ๐ฅ)
โ ((a b : obj C) โ is-set (a ๏ผ b))
Corollary-3-13 = cat-objs-form-a-1-type
Example-3-15 : is-univalent ๐ค
โ Fun-Ext
โ Category (๐ค โบ) ๐ค
Example-3-15 = SetCategory
Example-3-16 : Fun-Ext
โ is-univalent ๐ค
โ Category (๐ค โบ) ๐ค
Example-3-16 = MagmaCategory
\end{code}
### Functors
\begin{code}
Definition-3-17 : (P : Precategory ๐ค ๐ฅ)
(Q : Precategory ๐ฆ ๐ฃ)
โ ๐ค โ ๐ฅ โ ๐ฆ โ ๐ฃ ฬ
Definition-3-17 P Q = Functor P Q
Example-3-19 : (P : Precategory ๐ค ๐ฅ)
โ Functor P P
Example-3-19 P = id-functor P
module _ {A : Precategory ๐ค ๐ฅ}
{B : Precategory ๐ค' ๐ฅ'}
{C : Precategory ๐ฆ ๐ฃ}
{D : Precategory ๐ฆ' ๐ฃ'} where
Definition-3-20 : (G : Functor B C)
(F : Functor A B)
โ Functor A C
Definition-3-20 G F = G Fโ F
Proposition-3-21-left : Fun-Ext
โ (F : Functor A B)
โ F Fโ (id-functor A) ๏ผ F
Proposition-3-21-left = id-left-neutral-Fโ
Proposition-3-21-right : Fun-Ext
โ (F : Functor A B)
โ (id-functor B) Fโ F ๏ผ F
Proposition-3-21-right = id-right-neutral-Fโ
Proposition-3-22 : Fun-Ext
โ (F : Functor A B)
(G : Functor B C)
(H : Functor C D)
โ H Fโ (G Fโ F) ๏ผ (H Fโ G) Fโ F
Proposition-3-22 = assoc-Fโ
\end{code}
### Section 3.3: Natural Transformations
\begin{code}
module _ {A : Precategory ๐ค ๐ฅ}
{B : Precategory ๐ฆ ๐ฃ}
{C : Precategory ๐ค' ๐ฅ'}
where
Definition-3-23 : (F G : Functor A B)
โ ๐ค โ ๐ฅ โ ๐ฃ ฬ
Definition-3-23 F G = NaturalTransformation F G
Example-3-25 : (F : Functor A B)
โ NaturalTransformation F F
Example-3-25 F = id-natural-transformation F
Definition-3-26 : {G H : Functor B C}
(ฮผ : NaturalTransformation G H)
(F : Functor A B)
โ NaturalTransformation (G Fโ F) (H Fโ F)
Definition-3-26 = _ยท_
Definition-3-27 : {F G H : Functor A B}
(ฮณ : NaturalTransformation G H)
(ฮผ : NaturalTransformation F G)
โ NaturalTransformation F H
Definition-3-27 = _Nโ_
\end{code}
### Section 3.4: Adjoints
\begin{code}
Definition-3-28 : (F : Functor A B)
โ Fun-Ext
โ ๐ค โ ๐ฅ โ ๐ฆ โ ๐ฃ ฬ
Definition-3-28 F = LeftAdjoint F
\end{code}
## Chapter 4: Displayed Category Theory
### Section 4.1: Displayed Categories
\begin{code}
Definition-4-1 : (๐ฆ ๐ฃ : Universe)
(P : Precategory ๐ค ๐ฅ)
โ (๐ฆ โ ๐ฃ โ ๐ค โ ๐ฅ) โบ ฬ
Definition-4-1 ๐ฆ ๐ฃ P = DisplayedPrecategory ๐ฆ ๐ฃ P
Example-4-2 : {fe : Fun-Ext}
โ DisplayedPrecategory ๐ค ๐ค (SetPrecategory fe)
Example-4-2 {๐ค} {fe} = DispPreMagma {๐ค} {fe}
module _ {P : Precategory ๐ฆ ๐ฃ}
{a b : obj P} where
open PrecategoryNotation P
Definition-4-3 : (D : DisplayedPrecategory ๐ค ๐ฅ P)
(x : obj[ a ] D)
(y : obj[ b ] D)
(f : a โ
b)
โ ๐ฅ ฬ
Definition-4-3 D x y f = x โ
[ f ] y
where
open DisplayedPrecategoryNotation D
module _ {D : DisplayedPrecategory ๐ค ๐ฅ P} where
open DisplayedPrecategoryNotation D
Proposition-4-4 : {x : obj[ a ] D}
{y : obj[ b ] D}
{f : a โ
b}
(๐ : x โ
[ f ] y)
(g h : D-inverse f D-โ ๐ โ)
โ D-โ g โ ๏ผ D-โ h โ
Proposition-4-4 ๐ g h = at-most-one-D-inverse D g h
Proposition-4-5 : {x : obj[ a ] D}
{y : obj[ b ] D}
{f : a โ
b}
{๐ ๐ : x โ
[ f ] y}
โ D-โ ๐ โ ๏ผ D-โ ๐ โ
โ ๐ ๏ผ ๐
Proposition-4-5 = to-โ
[-]-๏ผ
Proposition-4-6 : (x : obj[ a ] D)
(y : obj[ b ] D)
(e : a ๏ผ b)
โ x ๏ผโฆ (ฮป - โ obj[ - ] D) , e โง y
โ x โ
[ id-to-iso a b e ] y
Proposition-4-6 x y e = D-id-to-iso D e x y
Definition-4-7 : (D : DisplayedPrecategory ๐ค ๐ฅ P)
โ is-displayed-category D
โ DisplayedCategory ๐ค ๐ฅ P
Definition-4-7 D p = D , p
Example-4-8 : {fe : Fun-Ext}
โ DisplayedCategory ๐ค ๐ค (SetPrecategory fe)
Example-4-8 {๐ค} {fe} = DispCatMagma {๐ค} {fe}
\end{code}
### Section 4.2: Displayed Functor
\begin{code}
Definition-4-9 : {P : Precategory ๐ฆ ๐ฃ}
{P' : Precategory ๐ฆ' ๐ฃ'}
(F : Functor P P')
(D : DisplayedPrecategory ๐ค ๐ฅ P)
(D' : DisplayedPrecategory ๐ค' ๐ฅ' P')
โ ๐ฆ โ ๐ฃ โ ๐ค โ ๐ค' โ ๐ฅ โ ๐ฅ' ฬ
Definition-4-9 F D D' = DisplayedFunctor F D D'
\end{code}
### Section 4.3: Total Category
\begin{code}
Proposition-4-10 : (P : Precategory ๐ค ๐ฅ)
(D : DisplayedPrecategory ๐ฆ ๐ฃ P)
โ Precategory (๐ค โ ๐ฆ) (๐ฅ โ ๐ฃ)
Proposition-4-10 P D = TotalPrecategory D
Proposition-4-11 : (C : Category ๐ค ๐ฅ)
(D : DisplayedCategory ๐ฆ ๐ฃ โจ C โฉ)
โ Category (๐ค โ ๐ฆ) (๐ฅ โ ๐ฃ)
Proposition-4-11 C D = TotalCategory {_} {_} {_} {_} {C} D
Example-4-12-pre : {๐ค : Universe}
{fe : Fun-Ext}
โ Precategory (๐ค โบ) ๐ค
Example-4-12-pre {๐ค} {fe} = MagmaTotalPre {๐ค} {fe}
Example-4-12-univ : {๐ค : Universe}
{fe : Fun-Ext}
โ is-univalent ๐ค
โ Category (๐ค โบ) ๐ค
Example-4-12-univ {๐ค} {fe} = TotCatMagma {๐ค} {fe}
\end{code}