Definition mono_cod_implication_stable {Γ₁ Γ₂ : C} (s : Γ₁ --> Γ₂) (xφ yψ : C /m Γ₂) : mono_cod_implication (mono_cod_pb PB s xφ) (mono_cod_pb PB s yψ) --> mono_cod_pb PB s (mono_cod_implication xφ yψ). Proof. pose (P := PB _ _ _ (mono_cod_mor xφ) s). refine (_ · pr1 (mono_cod_right_beck_chevalley _ _ _ _ _ (isPullback_Pullback P) _)). refine (#(right_adjoint (mono_cod_dep_prod (PullbackPr2 P))) _). use make_mono_cod_fib_mor. - use PullbackArrow. + use PullbackArrow. * exact (PullbackPr1 _ · PullbackPr1 _). * exact (PullbackPr2 _ · PullbackPr1 _). * abstract (rewrite !assoc' ; etrans ; [ apply maponpaths ; apply PullbackSqrCommutes | ] ; rewrite !assoc ; etrans ; [ apply maponpaths_2 ; apply PullbackSqrCommutes | ] ; rewrite !assoc' ; apply maponpaths ; cbn ; refine (!_) ; apply PullbackSqrCommutes). + use PullbackArrow. * exact (PullbackPr1 _ · PullbackPr1 _). * exact (PullbackPr2 _ · PullbackPr2 _). * abstract (rewrite !assoc' ; etrans ; [ apply maponpaths ; apply PullbackSqrCommutes | ] ; rewrite !assoc ; apply maponpaths_2 ; apply PullbackSqrCommutes). + abstract (cbn ; rewrite !PullbackArrow_PullbackPr1 ; apply idpath). - abstract (cbn ; rewrite PullbackArrow_PullbackPr2 ; use (MorphismsIntoPullbackEqual (isPullback_Pullback P)) ; [ rewrite PullbackArrow_PullbackPr1 ; apply idpath | rewrite PullbackArrow_PullbackPr2 ; refine (!_) ; apply PullbackSqrCommutes ]). Defined.
Require Import UniMath.Foundations.All. Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Prelude. Require Import UniMath.CategoryTheory.Monics. Require Import UniMath.CategoryTheory.Adjunctions.Core. Require Import UniMath.CategoryTheory.Adjunctions.AdjunctionMonics. Require Import UniMath.CategoryTheory.Limits.Terminal. Require Import UniMath.CategoryTheory.Limits.BinProducts. Require Import UniMath.CategoryTheory.Limits.Pullbacks. Require Import UniMath.CategoryTheory.Limits.Preservation. Require Import UniMath.CategoryTheory.LocallyCartesianClosed.LocallyCartesianClosed. Require Import UniMath.CategoryTheory.DisplayedCats.Core. Require Import UniMath.CategoryTheory.DisplayedCats.Fibrations. Require Import UniMath.CategoryTheory.DisplayedCats.Fiber. Require Import UniMath.CategoryTheory.DisplayedCats.Codomain. Require Import UniMath.CategoryTheory.DisplayedCats.Codomain.FiberCod. Require Import UniMath.CategoryTheory.DisplayedCats.Codomain.CodMorphisms. Require Import UniMath.CategoryTheory.DisplayedCats.Codomain.CodLimits. Require Import UniMath.CategoryTheory.DisplayedCats.Examples.MonoCodomain. Require Import UniMath.CategoryTheory.DisplayedCats.MonoCodomain.FiberMonoCod. Require Import UniMath.CategoryTheory.DisplayedCats.MonoCodomain.MonoCodLeftAdjoint. Require Import UniMath.CategoryTheory.DisplayedCats.MonoCodomain.MonoCodLimits. Require Import UniMath.CategoryTheory.DisplayedCats.MonoCodomain.Inclusion. Require Import UniMath.CategoryTheory.DisplayedCats.Fiberwise.DependentSums. Require Import UniMath.CategoryTheory.DisplayedCats.Fiberwise.DependentProducts. Require Import UniMath.CategoryTheory.DisplayedCats.Fiberwise.FiberwiseProducts. Require Import UniMath.CategoryTheory.DisplayedCats.Fiberwise.FiberwiseCartesianClosed. Require Import UniMath.CategoryTheory.DisplayedCats.Fiberwise.DualBeckChevalley. Require Import UniMath.CategoryTheory.RegularAndExact.RegularCategory.