Definition total_bicat_final (HB : bifinal_obj B) (HD₄ : disp_bifinal_obj HB) : bifinal_obj (total_bicat D). Proof. simple refine (_ ,, _). - exact (pr1 HB ,, pr1 HD₄). - use make_is_bifinal. + exact (λ x, is_bifinal_1cell_property (pr2 HB) (pr1 x) ,, pr2 HD₄ (pr1 x) (pr2 x)). + refine (λ x f g, is_bifinal_2cell_property (pr2 HB) _ (pr1 f) (pr1 g) ,, _). apply HD₂. + abstract (intros x f g α β ; use subtypePath ; [ intro ; apply HD₁ | ] ; apply (is_bifinal_eq_property (pr2 HB))). Defined.
Require Import UniMath.Foundations.All. Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.CategoryTheory.DisplayedCats.Core. Require Import UniMath.Bicategories.Core.Bicat. Import Bicat.Notations. Require Import UniMath.Bicategories.Core.Invertible_2cells. Require Import UniMath.Bicategories.Core.Unitors. Require Import UniMath.Bicategories.Core.BicategoryLaws. Require Import UniMath.Bicategories.DisplayedBicats.DispBicat. Import DispBicat.Notations. Require Import UniMath.Bicategories.DisplayedBicats.DispInvertibles. Require Import UniMath.Bicategories.DisplayedBicats.Examples.EndoMap. Require Import UniMath.Bicategories.DisplayedBicats.Examples.MonadsLax. Require Import UniMath.Bicategories.Limits.Final. Require Import UniMath.Bicategories.Limits.Products. Require Import UniMath.Bicategories.Limits.Pullbacks. Require Import UniMath.Bicategories.Limits.EilenbergMooreObjects. Require Import UniMath.Bicategories.Monads.Examples.MonadsInTotalBicat. Require Import UniMath.Bicategories.PseudoFunctors.Display.PseudoFunctorBicat. Require Import UniMath.Bicategories.PseudoFunctors.PseudoFunctor. Import PseudoFunctor.Notations. Require Import UniMath.Bicategories.PseudoFunctors.Examples.MonadInclusion.