module Cat.Instances.Product.Duality {o₁ h₁ o₂ h₂ : Level} {C : Precategory o₁ h₁} {D : Precategory o₂ h₂} where
Duality of product categories🔗
As one might expect, taking the opposite category of a product category agrees with the product of opposite categories. Rather than showing equality we construct an isomorphism of precategories.
×^op→ : Functor ((C ×ᶜ D)^op) (C ^op ×ᶜ D ^op) ×^op→ .F₀ x = x ×^op→ .F₁ f = f ×^op→ .F-id = refl ×^op→ .F-∘ f g = refl ×^op-is-iso : is-precat-iso ×^op→ ×^op-is-iso = iso id-equiv id-equiv
This induces a path between precategories
×^op-path : (C ×ᶜ D)^op ≡ C ^op ×ᶜ D ^op ×^op-path = Precategory-path ×^op→ ×^op-is-iso
and an equivalence of precategories
×^op-is-equiv : is-equivalence ×^op→ ×^op-is-equiv = is-precat-iso→is-equivalence ×^op-is-iso ×^op← : Functor (C ^op ×ᶜ D ^op) ((C ×ᶜ D)^op) ×^op← = is-equivalence.F⁻¹ ×^op-is-equiv