Definition weq_section_from_diagonal (isPb : isPullback H) : (∑ x : C⟦b, c⟧, x · g = f) ≃ ∑ s' : C⟦b, d⟧, s' · h = identity _ . Proof. exists (section_from_diagonal isPb). apply (isweq_iso _ (diagonal_from_section isPb )). - abstract (intro x; apply subtypePath; [intro; apply C |]; apply (PullbackArrow_PullbackPr2 (make_Pullback H isPb) )). - abstract (intro y; apply subtypePath; [intro; apply C |]; destruct y as [y t2]; apply pathsinv0, PullbackArrowUnique; [ apply t2 | apply idpath] ). 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.