Proposition locally_cartesian_closed_to_exponentials_nat_trans_laws {C : category} (PB : Pullbacks C) {x : C} (BP := codomain_fib_binproducts PB x) (yf : C/x) : is_nat_trans _ _ (locally_cartesian_closed_to_exponentials_nat_trans_data PB yf). Proof. intros zg₁ zg₂ hp. use eq_mor_cod_fib. rewrite !comp_in_cod_fib. etrans. { cbn -[cod_pb]. apply maponpaths_2. apply maponpaths. apply cod_fiber_functor_on_mor. } rewrite slice_constprod_functor1_mor_eq. cbn ; unfold swap_pullback_mor, slice_constprod_functor1_mor. use (MorphismsIntoPullbackEqual (isPullback_Pullback _)). - rewrite !assoc'. rewrite !PullbackArrow_PullbackPr1. rewrite PullbackArrow_PullbackPr2. apply idpath. - rewrite !assoc'. rewrite !PullbackArrow_PullbackPr2. rewrite PullbackArrow_PullbackPr1. rewrite assoc. rewrite PullbackArrow_PullbackPr2. apply idpath. Qed.
Require Import UniMath.Foundations.All. Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Prelude. Require Import UniMath.CategoryTheory.Adjunctions.Core. Require Import UniMath.CategoryTheory.Adjunctions.Examples. Require Import UniMath.CategoryTheory.Equivalences.Core. Require Import UniMath.CategoryTheory.Equivalences.CompositesAndInverses. Require Import UniMath.CategoryTheory.DisplayedCats.Core. Require Import UniMath.CategoryTheory.DisplayedCats.Fiber. Require Import UniMath.CategoryTheory.DisplayedCats.Isos. Require Import UniMath.CategoryTheory.DisplayedCats.Codomain. Require Import UniMath.CategoryTheory.DisplayedCats.Codomain.FiberCod. Require Import UniMath.CategoryTheory.DisplayedCats.Codomain.CodDomain. Require Import UniMath.CategoryTheory.DisplayedCats.Codomain.CodLimits. Require Import UniMath.CategoryTheory.DisplayedCats.Codomain.CodColimits. Require Import UniMath.CategoryTheory.DisplayedCats.Codomain.CodFunctor. Require Import UniMath.CategoryTheory.DisplayedCats.Codomain.CodLeftAdjoint. Require Import UniMath.CategoryTheory.exponentials. Require Import UniMath.CategoryTheory.whiskering. Require Import UniMath.CategoryTheory.Limits.Terminal. Require Import UniMath.CategoryTheory.Limits.BinProducts. Require Import UniMath.CategoryTheory.Limits.Pullbacks. Require Import UniMath.CategoryTheory.Limits.Initial. Require Import UniMath.CategoryTheory.Limits.StrictInitial. Require Import UniMath.CategoryTheory.Limits.BinCoproducts. Require Import UniMath.CategoryTheory.Limits.DisjointBinCoproducts. Require Import UniMath.CategoryTheory.Limits.Preservation.