Proposition cartesian_tensor_mor {x₁ x₂ y₁ y₂ : M} (f : x₁ --> x₂) (g : y₁ --> y₂) : f #⊗ g = BinProductOfArrows _ (is_cartesian_BinProduct M_cart x₂ y₂) (is_cartesian_BinProduct M_cart x₁ y₁) f g. Proof. use (BinProductArrowsEq _ _ _ (is_cartesian_BinProduct M_cart _ _)). - refine (!_). etrans. { apply (BinProductOfArrowsPr1 _ (is_cartesian_BinProduct M_cart x₂ y₂) (is_cartesian_BinProduct M_cart x₁ y₁)). } cbn. rewrite cartesian_tensor_pr1. apply idpath. - refine (!_). etrans. { apply (BinProductOfArrowsPr2 _ (is_cartesian_BinProduct M_cart x₂ y₂) (is_cartesian_BinProduct M_cart x₁ y₁)). } cbn. rewrite cartesian_tensor_pr2. apply idpath. Qed.
Require Import UniMath.Foundations.All. Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.Isos. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.CategoryTheory.Core.NaturalTransformations. Require Import UniMath.CategoryTheory.Adjunctions.Core. Require Import UniMath.CategoryTheory.Monoidal.WhiskeredBifunctors. Require Import UniMath.CategoryTheory.Monoidal.Categories. Require Import UniMath.CategoryTheory.Monoidal.Structure.Symmetric. Require Import UniMath.CategoryTheory.Limits.Terminal. Require Import UniMath.CategoryTheory.Limits.BinProducts. Require Import UniMath.CategoryTheory.Limits.Initial. Require Import UniMath.CategoryTheory.Limits.BinCoproducts. Import BifunctorNotations. Import MonoidalNotations.