Definition z_iso_disp_prod2 {x : C} (xx1 xx1' : D1 x) (xx2 xx2' : D2 x) : (z_iso_disp (identity_z_iso x) xx1 xx1') × (z_iso_disp (identity_z_iso x) xx2 xx2') → @z_iso_disp _ dirprod_disp_cat _ _ (identity_z_iso x) (xx1,, xx2) (xx1',, xx2'). Proof. unfold z_iso_disp. cbn. intros [[f1 Hf1] [f2 Hf2]]. destruct Hf1 as [g1 [Hgf1 Hfg1]]. destruct Hf2 as [g2 [Hgf2 Hfg2]]. exists (f1,,f2), (g1,,g2). split. - apply dirprod_paths. + etrans. apply Hgf1. apply pathsinv0. apply pr1_transportf. + etrans. apply Hgf2. apply pathsinv0. apply pr2_transportf. - apply dirprod_paths. + etrans. apply Hfg1. apply pathsinv0. apply pr1_transportf. + etrans. apply Hfg2. apply pathsinv0. apply pr2_transportf. Defined.
Require Import UniMath.Foundations.Sets. 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.DisplayedCats.Core. Require Import UniMath.CategoryTheory.DisplayedCats.Functors. Require Import UniMath.CategoryTheory.DisplayedCats.Isos. Require Import UniMath.CategoryTheory.DisplayedCats.Univalence.