{-# OPTIONS --without-K --safe #-}
open import Categories.Bicategory using (Bicategory)
module Categories.Bicategory.Object.Product {o ā e t} (š : Bicategory o ā e t) where
open import Level
open Bicategory š
open import Categories.Category using (_[_,_])
open import Categories.Morphism using (_ā
_)
open import Categories.Morphism.HeterogeneousEquality
open import Categories.Morphism.Notation using (_[_ā
_])
record Product (A B : Obj) : Set (o ā ā ā e ā t) where
infix 10 āØ_,_ā©ā āØ_,_ā©ā
field
AĆB : Obj
Ļa : AĆB āā A
Ļb : AĆB āā B
āØ_,_ā©ā : ā {Ī} ā Ī āā A ā Ī āā B ā Ī āā AĆB
āØ_,_ā©ā : ā {Ī}{fa ga : Ī āā A}{fb gb : Ī āā B}
ā fa āā ga ā fb āā gb ā ⨠fa , fb ā©ā āā ⨠ga , gb ā©ā
βāa : ā {Ī} f g ā hom Ī A [ Ļa āā ⨠f , g ā©ā ā
f ]
βāb : ā {Ī} f g ā hom Ī B [ Ļb āā ⨠f , g ā©ā ā
g ]
βāa : ā {Ī}{fa ga fb gb}(αa : hom Ī A [ fa , ga ])(αb : hom Ī B [ fb , gb ])
ā Along βāa _ _ , βāa _ _ [ Ļa ⷠ⨠αa , αb ā©ā ā αa ]
βāb : ā {Ī}{fa ga fb gb}(αa : hom Ī A [ fa , ga ])(αb : hom Ī B [ fb , gb ])
ā Along βāb _ _ , βāb _ _ [ Ļb ⷠ⨠αa , αb ā©ā ā αb ]
Ī·ā : ā {Ī} p ā hom Ī AĆB [ p ā
⨠Ļa āā p , Ļb āā p ā©ā ]
Ī·ā : ā {Ī}{p p'}(Ļ : hom Ī AĆB [ p , p' ])
ā Along (Ī·ā _) , (Ī·ā _) [ Ļ ā ⨠Ļa ā· Ļ , Ļb ā· Ļ ā©ā ]