module Cat.Bi.Instances.Discrete {o β} (C : Precategory o β) where
Locally discrete bicategoriesπ
Let be a precategory. We can define a prebicategory by letting the hom-1-categories of be the discrete categories on the Hom-sets of
{-# TERMINATING #-} Locally-discrete : Prebicategory o β β Locally-discrete .Ob = C.Ob Locally-discrete .Hom x y = Disc' (el (C.Hom x y) (C.Hom-set x y)) Locally-discrete .id = C.id Locally-discrete .compose .Fβ (f , g) = f C.β g Locally-discrete .compose .Fβ (p , q) = apβ C._β_ p q Locally-discrete .compose .F-id = refl Locally-discrete .compose .F-β f g = C.Hom-set _ _ _ _ _ _ Locally-discrete .unitor-l = to-natural-iso ni where ni : make-natural-iso _ _ ni .make-natural-iso.eta x = sym (C.idl x) ni .make-natural-iso.inv x = C.idl x ni .make-natural-iso.etaβinv x = β-invr (C.idl x) ni .make-natural-iso.invβeta x = β-invl (C.idl x) ni .make-natural-iso.natural x y f = C.Hom-set _ _ _ _ _ _ Locally-discrete .unitor-r = to-natural-iso ni where ni : make-natural-iso _ _ ni .make-natural-iso.eta x = sym (C.idr x) ni .make-natural-iso.inv x = C.idr x ni .make-natural-iso.etaβinv x = β-invr (C.idr x) ni .make-natural-iso.invβeta x = β-invl (C.idr x) ni .make-natural-iso.natural x y f = C.Hom-set _ _ _ _ _ _ Locally-discrete .associator = to-natural-iso ni where ni : make-natural-iso _ _ ni .make-natural-iso.eta x = sym (C.assoc _ _ _) ni .make-natural-iso.inv x = C.assoc _ _ _ ni .make-natural-iso.etaβinv x = β-invr (C.assoc _ _ _) ni .make-natural-iso.invβeta x = β-invl (C.assoc _ _ _) ni .make-natural-iso.natural x y f = C.Hom-set _ _ _ _ _ _ Locally-discrete .triangle f g = C.Hom-set _ _ _ _ _ _ Locally-discrete .pentagon f g h i = C.Hom-set _ _ _ _ _ _