Anna Williams 14 February 2026
Notation for displayed precategories.
\begin{code}
{-# OPTIONS --safe --without-K #-}
open import MLTT.Spartan
open import UF.Sets
open import UF.DependentEquality
open import Categories.Pre
open import Categories.Notation.Pre
open import Categories.Displayed.Pre
module Categories.Displayed.Notation.Pre where
\end{code}
We now define some notation for displayed precategories similarly to that of
categories.
\begin{code}
record DOBJ (A : ๐ค ฬ ) (B : ๐ฅ ฬ ) (C : ๐ฆ ฬ ) : (๐ค โ ๐ฅ โ ๐ฆ) ฬ where
field
obj[_] : A โ B โ C
open DOBJ {{...}} public
instance
d-pre-obj : {P : Precategory ๐ฆ ๐ฃ} โ DOBJ (obj P) (DisplayedPrecategory ๐ค ๐ฅ P) (๐ค ฬ )
obj[_] {{d-pre-obj}} = ฮป a b โ DisplayedPrecategory.obj[ b ] a
module _ {๐ค ๐ฅ : Universe}
{P : Precategory ๐ฆ ๐ฃ}
(D : DisplayedPrecategory ๐ค ๐ฅ P) where
open PrecategoryNotation P
record DHOM : (๐ฆ โ ๐ฃ โ ๐ค โ ๐ฅ)โบ ฬ where
field
hom[_] : {a b : obj P} โ hom a b โ obj[ a ] D โ obj[ b ] D โ ๐ฅ ฬ
open DHOM {{...}} public
instance
d-hom-m : DHOM
hom[_] {{d-hom-m}} = DisplayedPrecategory.hom[_] D
record DCOMP : ((๐ฆ โ ๐ฃ) โ (๐ค โ ๐ฅ))โบ ฬ where
field
_โ_ : {a b c : obj P}
{g : hom b c}
{f : hom a b}
{x : obj[ a ] D}
{y : obj[ b ] D}
{z : obj[ c ] D}
โ hom[ g ] y z
โ hom[ f ] x y
โ hom[ g โฆ f ] x z
open DCOMP {{...}} public
record DID : ((๐ฆ โ ๐ฃ) โ (๐ค โ ๐ฅ))โบ ฬ where
field
D-๐๐
: {p : obj P}
{x : obj[ p ] D}
โ hom[ ๐๐
] x x
open DID {{...}} public
instance
dcomp-m : DCOMP
_โ_ {{dcomp-m}} = DisplayedPrecategory._โ_ D
instance
d-id-m : DID
D-๐๐
{{d-id-m}} = DisplayedPrecategory.D-๐๐
D
record DNotation : ((๐ฆ โ ๐ฃ) โ (๐ค โ ๐ฅ))โบ ฬ where
field
hom[-]-is-set : {a b : obj P}
{f : hom a b}
{x : obj[ a ] D}
{y : obj[ b ] D}
โ is-set (hom[ f ] x y)
D-๐๐
-is-right-neutral : {a b : obj P}
{f : hom a b}
{x : obj[ a ] D}
{y : obj[ b ] D}
(๐ : hom[ f ] x y)
โ ๐ โ D-๐๐
๏ผโฆ (ฮป - โ hom[ - ] x y) , ๐๐
-is-right-neutral f โง
๐
D-๐๐
-is-left-neutral : {a b : obj P}
{f : hom a b}
{x : obj[ a ] D}
{y : obj[ b ] D}
(๐ : hom[ f ] x y)
โ D-๐๐
โ ๐
๏ผโฆ (ฮป - โ hom[ - ] x y) , ๐๐
-is-left-neutral f โง
๐
D-assoc : {a b c d : obj P}
{f : hom a b}
{g : hom b c}
{h : hom c d}
{x : obj[ a ] D}
{y : obj[ b ] D}
{z : obj[ c ] D}
{w : obj[ d ] D}
{๐ : hom[ f ] x y}
{๐ : hom[ g ] y z}
{๐ : hom[ h ] z w}
โ ๐ โ (๐ โ ๐)
๏ผโฆ (ฮป - โ hom[ - ] x w) , assoc f g h โง
(๐ โ ๐) โ ๐
D-inverse : {a b : obj P}
{x : obj[ a ] D}
{y : obj[ b ] D}
(f : a โ
b)
(๐ : hom[ โ f โ ] x y)
โ ๐ฅ ฬ
_โ
[_]_ : {a b : obj P}
(x : obj[ a ] D)
(f : a โ
b)
(y : obj[ b ] D)
โ ๐ฅ ฬ
D-โ_โ : {a b : obj P}
{x : obj[ a ] D}
{f : a โ
b}
{y : obj[ b ] D}
โ x โ
[ f ] y
โ hom[ โ f โ ] x y
D-morphism-is-isomorphism : {a b : obj P}
{x : obj[ a ] D}
{f : a โ
b}
{y : obj[ b ] D}
โ (๐ : x โ
[ f ] y)
โ D-inverse f D-โ ๐ โ
D-โ_โ : {a b : obj P}
{x : obj[ a ] D}
{y : obj[ b ] D}
{f : a โ
b}
{๐ : hom[ โ f โ ] x y}
โ D-inverse f ๐
โ hom[ โ underlying-morphism-is-isomorphism f โ ] y x
D-โ_โ-is-left-inverse : {a b : obj P}
{x : obj[ a ] D}
{y : obj[ b ] D}
{f : a โ
b}
{๐ : hom[ โ f โ ] x y}
โ (๐โปยน : D-inverse f ๐)
โ D-โ ๐โปยน โ โ ๐
๏ผโฆ (ฮป - โ hom[ - ] x x)
, โ underlying-morphism-is-isomorphism f โ-is-left-inverse โง
D-๐๐
D-โ_โ-is-right-inverse : {a b : obj P}
{x : obj[ a ] D}
{y : obj[ b ] D}
{f : a โ
b}
{๐ : hom[ โ f โ ] x y}
โ (๐โปยน : D-inverse f ๐)
โ ๐ โ D-โ ๐โปยน โ
๏ผโฆ (ฮป - โ hom[ - ] y y)
, โ underlying-morphism-is-isomorphism f โ-is-right-inverse โง
D-๐๐
to-โ
[-]-๏ผ : {a b : obj P}
{x : obj[ a ] D}
{y : obj[ b ] D}
{f : a โ
b}
{๐ ๐' : x โ
[ f ] y}
โ D-โ ๐ โ ๏ผ D-โ ๐' โ
โ ๐ ๏ผ ๐'
open DNotation {{...}} public
module DisplayedPrecategoryNotation {๐ฆ ๐ฃ : Universe}
{P : Precategory ๐ฆ ๐ฃ}
(D : DisplayedPrecategory ๐ค ๐ฅ P) where
instance
d-hom : DHOM D
hom[_] {{d-hom}} = DisplayedPrecategory.hom[_] D
instance
d-id : DID D
D-๐๐
{{d-id}} = DisplayedPrecategory.D-๐๐
D
instance
d-comp : DCOMP D
_โ_ {{d-comp}} = DisplayedPrecategory._โ_ D
instance
d-notation : DNotation D
hom[-]-is-set {{d-notation}} = DisplayedPrecategory.hom[-]-is-set D
D-๐๐
-is-right-neutral {{d-notation}}
= DisplayedPrecategory.D-๐๐
-is-right-neutral D
D-๐๐
-is-left-neutral {{d-notation}}
= DisplayedPrecategory.D-๐๐
-is-left-neutral D
D-assoc {{d-notation}} = DisplayedPrecategory.D-assoc D
D-inverse {{d-notation}} = DisplayedPrecategory.D-inverse D
_โ
[_]_ {{d-notation}} = DisplayedPrecategory._โ
[_]_ D
D-โ_โ {{d-notation}} = DisplayedPrecategory.D-โ_โ D
D-โ_โ {{d-notation}} = DisplayedPrecategory.D-โ_โ D
D-โ_โ-is-left-inverse {{d-notation}}
= DisplayedPrecategory.D-โ_โ-is-left-inverse D
D-โ_โ-is-right-inverse {{d-notation}}
= DisplayedPrecategory.D-โ_โ-is-right-inverse D
D-morphism-is-isomorphism {{d-notation}}
= DisplayedPrecategory.D-morphism-is-isomorphism D
to-โ
[-]-๏ผ {{d-notation}} = DisplayedPrecategory.to-โ
[-]-๏ผ D
\end{code}