Definition cartesian_prod_via_adj_to_binproduct : BinProducts (pr1 C). Proof. intros x y. use make_BinProduct. - exact (cartesian_prod_via_adj_to_binproduct_obj x y). - exact (cartesian_prod_via_adj_to_binproduct_pr1 x y). - exact (cartesian_prod_via_adj_to_binproduct_pr2 x y). - intros w f g. use iscontraprop1. + exact (cartesian_prod_via_adj_to_binproduct_pair_unique x y w f g). + simple refine (_ ,, (_ ,, _)). * exact (cartesian_prod_via_adj_to_binproduct_pair x y w f g). * exact (cartesian_prod_via_adj_to_binproduct_pair_pr1 x y w f g). * exact (cartesian_prod_via_adj_to_binproduct_pair_pr2 x y w f g). Defined.
Require Import UniMath.Foundations.All. Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.CategoryTheory.Core.NaturalTransformations. Require Import UniMath.CategoryTheory.Core.Isos. Require Import UniMath.CategoryTheory.Core.Univalence. Require Import UniMath.CategoryTheory.Categories.StandardCategories. Require Import UniMath.CategoryTheory.Limits.Terminal. Require Import UniMath.CategoryTheory.Limits.Initial. Require Import UniMath.CategoryTheory.Limits.BinProducts. Require Import UniMath.CategoryTheory.Limits.BinCoproducts. Require Import UniMath.CategoryTheory.Limits.Preservation. Require Import UniMath.CategoryTheory.Adjunctions.Core. Require Import UniMath.CategoryTheory.PrecategoryBinProduct. Require Import UniMath.Bicategories.Core.Bicat. Import Bicat.Notations. Require Import UniMath.Bicategories.Core.Invertible_2cells. Require Import UniMath.Bicategories.Core.BicategoryLaws. Require Import UniMath.Bicategories.Core.Unitors. Require Import UniMath.Bicategories.Core.Univalence. Require Import UniMath.Bicategories.Core.AdjointUnique. Require Import UniMath.Bicategories.Core.UnivalenceOp. Require Import UniMath.Bicategories.Core.Examples.BicatOfUnivCats. Require Import UniMath.Bicategories.Morphisms.Adjunctions. Require Import UniMath.Bicategories.Limits.Final. Require Import UniMath.Bicategories.Limits.Products. Require Import UniMath.Bicategories.Limits.Examples.BicatOfUnivCatsLimits. Require Import UniMath.Bicategories.Objects.CartesianObject. Require Import UniMath.Bicategories.Objects.CocartesianObject. Section AdjFromProducts. End AdjFromProducts. Section ProductsFromAdj. End ProductsFromAdj.