Products of precategories

Content created by Fredrik Bakke, Egbert Rijke, Fernando Chu, Julian KG, fernabnor and louismntnu.

Created on 2023-05-04.
Last modified on 2024-02-06.

module category-theory.products-of-precategories where
open import category-theory.precategories

open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
open import foundation.equality-cartesian-product-types
open import foundation.sets
open import foundation.universe-levels


The product of two precategories C and D has as objects pairs (x , y), for x in obj-Precategory C and y in obj-Precategory D; and has a morphism Hom (x , y) (x' , y) for each pair of morphisms f : x → x' and g : y → y'. Composition of morphisms is given by composing each entry.


module _
  {l1 l2 l3 l4 : Level}
  (C : Precategory l1 l2)
  (D : Precategory l3 l4)

  product-Precategory :
    Precategory (l1  l3) (l2  l4)
  pr1 product-Precategory = obj-Precategory C × obj-Precategory D
  pr1 (pr2 product-Precategory) (x , y) (x' , y') =
    product-Set (hom-set-Precategory C x x') (hom-set-Precategory D y y')
  pr1 (pr1 (pr1 (pr2 (pr2 product-Precategory))) (f' , g') (f , g)) =
    comp-hom-Precategory C f' f
  pr2 (pr1 (pr1 (pr2 (pr2 product-Precategory))) (f' , g') (f , g)) =
    comp-hom-Precategory D g' g
    ( pr2 (pr1 (pr2 (pr2 product-Precategory))) (f'' , g'') (f' , g') (f , g)) =
      ( associative-comp-hom-Precategory C f'' f' f)
      ( associative-comp-hom-Precategory D g'' g' g)
    ( pr2 (pr1 (pr2 (pr2 product-Precategory))) (f'' , g'') (f' , g') (f , g)) =
      ( inv-associative-comp-hom-Precategory C f'' f' f)
      ( inv-associative-comp-hom-Precategory D g'' g' g)
  pr1 (pr1 (pr2 (pr2 (pr2 product-Precategory))) (x , y)) =
    id-hom-Precategory C {x}
  pr2 (pr1 (pr2 (pr2 (pr2 product-Precategory))) (x , y)) =
    id-hom-Precategory D {y}
  pr1 (pr2 (pr2 (pr2 (pr2 product-Precategory)))) (f , g) =
      ( left-unit-law-comp-hom-Precategory C f)
      ( left-unit-law-comp-hom-Precategory D g)
  pr2 (pr2 (pr2 (pr2 (pr2 product-Precategory)))) (f , g) =
      ( right-unit-law-comp-hom-Precategory C f)
      ( right-unit-law-comp-hom-Precategory D g)

Recent changes