Lemma pullbackiso {A B D:C} {f : A --> D} {g : B --> D} (pb : Pullback f g) (pb' : Pullback f g) : ∑ (t : z_iso (PullbackObject pb) (PullbackObject pb')), t · PullbackPr1 pb' = PullbackPr1 pb × t · PullbackPr2 pb' = PullbackPr2 pb. Proof. use tpair. - use z_iso_from_Pullback_to_Pullback. - split. + use PullbackArrow_PullbackPr1. + use PullbackArrow_PullbackPr2. Defined.
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.NaturalTransformations. Require Import UniMath.CategoryTheory.Core.TransportMorphisms. Require Import UniMath.CategoryTheory.Core.Univalence. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.CategoryTheory.Limits.Terminal. Require Import UniMath.CategoryTheory.Limits.BinProducts. Require Import UniMath.CategoryTheory.Limits.Equalizers. Require Import UniMath.CategoryTheory.FunctorCategory. Require Import UniMath.CategoryTheory.Monics. Definition UnivProductFromPullback (c d a : C) (f : a --> c) (g : a --> d): exists (UnivProductFromPullback c d a f g). Definition BinProductsFromPullbacks : BinProducts C := BinProduct_Pullback.