Proposition preserves_pullback_from_binproduct_equalizer_map_eq : BinProductArrow D Fxy h k · #F fp = BinProductArrow D Fxy h k · #F gp. Proof. unfold fp, gp. rewrite !functor_comp. rewrite !assoc. etrans. { apply maponpaths_2. apply (BinProductPr1Commutes _ _ _ Fxy). } refine (r @ _). refine (!_). apply maponpaths_2. apply (BinProductPr2Commutes _ _ _ Fxy). Qed.
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.Limits.Terminal. Require Import UniMath.CategoryTheory.Limits.BinProducts. Require Import UniMath.CategoryTheory.Limits.Equalizers. Require Import UniMath.CategoryTheory.Limits.Pullbacks. Require Import UniMath.CategoryTheory.Limits.Initial. Require Import UniMath.CategoryTheory.Limits.BinCoproducts. Require Import UniMath.CategoryTheory.Limits.PullbackConstructions. Require Import UniMath.CategoryTheory.Limits.Preservation. Require Import UniMath.CategoryTheory.Limits.EquivalencePreservation. Require Import UniMath.CategoryTheory.Limits.LimitIso. Require Import UniMath.CategoryTheory.Adjunctions.Core. Require Import UniMath.CategoryTheory.Equivalences.Core. Require Import UniMath.CategoryTheory.Equivalences.CompositesAndInverses. Require Import UniMath.CategoryTheory.whiskering. Let prodC : BinProducts C := BinProductsFromPullbacks PBC TC.