Library UniMath.Bicategories.ComprehensionCat.Universes.UniverseBiequiv

Categories with universes versus comprehension categories with universes
Clairambault and Dybjer established a biequivalence between the bicategory of democratic categories with families that support ∑-types and extensional identity types, and the bicategory of finitely complete categories. This biequivalence can be established in the univalent setting as well: specifically, the bicategory of univalent democratic full comprehension categories that support unit types, product types, ∑-types, and extensional identity types is equivalent to the bicategory of univalent categories with finite limits. One can extend this biequivalence in various ways by including more and more type formers.
In this file, we extend the aforementioned biequivalence with universe types. Specifically, we show that the bicategory of univalent categories with finite limits and a universe type is biequivalence to the bicategory of univalent democratic full comprehension categories that support unit types, product types, ∑-types, extensional identity types, and a universe type. These universes are in Tarski-style, and they are represented in a way that is close to what one would expect from a type theoretic perspective. Specifically, all of the rules regarding Tarski-style universes are postulated.
The necessary ingredients of the desired biequivalences are constructed in other files, and here we only put them to obtain a biequivalence.
References
  • "The biequivalence of locally cartesian closed categories and Martin-Löf type theories" by Clairambault and Dybjer
  • "The internal languages of univalent categories" by Van der Weide
Require Import UniMath.MoreFoundations.All.
Require Import UniMath.CategoryTheory.Core.Prelude.
Require Import UniMath.CategoryTheory.DisplayedCats.Core.
Require Import UniMath.CategoryTheory.DisplayedCats.Functors.
Require Import UniMath.CategoryTheory.DisplayedCats.Fibrations.
Require Import UniMath.CategoryTheory.Limits.Terminal.
Require Import UniMath.Bicategories.Core.Bicat.
Import Bicat.Notations.
Require Import UniMath.Bicategories.Core.EquivToAdjequiv.
Require Import UniMath.Bicategories.DisplayedBicats.DispBicat.
Import DispBicat.Notations.
Require Import UniMath.Bicategories.DisplayedBicats.DispUnivalence.
Require Import UniMath.Bicategories.DisplayedBicats.DispBiequivalence.
Require Import UniMath.Bicategories.DisplayedBicats.DispPseudofunctor.
Require Import UniMath.Bicategories.DisplayedBicats.DispTransformation.
Require Import UniMath.Bicategories.DisplayedBicats.DispPseudoNaturalAdjequiv.
Require Import UniMath.Bicategories.PseudoFunctors.Display.PseudoFunctorBicat.
Require Import UniMath.Bicategories.PseudoFunctors.PseudoFunctor.
Require Import UniMath.Bicategories.PseudoFunctors.Examples.Identity.
Require Import UniMath.Bicategories.PseudoFunctors.Examples.Composition.
Require Import UniMath.Bicategories.Transformations.PseudoTransformation.
Require Import UniMath.Bicategories.PseudoFunctors.Biequivalence.
Require Import UniMath.Bicategories.Core.Examples.StructuredCategories.
Require Import UniMath.Bicategories.ComprehensionCat.BicatOfCompCat.
Require Import UniMath.Bicategories.ComprehensionCat.DFLCompCat.
Require Import UniMath.Bicategories.ComprehensionCat.CompCatNotations.
Require Import UniMath.Bicategories.ComprehensionCat.Biequivalence.FinLimToDFLCompCat.
Require Import UniMath.Bicategories.ComprehensionCat.Biequivalence.DFLCompCatToFinLim.
Require Import UniMath.Bicategories.ComprehensionCat.Biequivalence.Unit.
Require Import UniMath.Bicategories.ComprehensionCat.Biequivalence.Counit.
Require Import UniMath.Bicategories.ComprehensionCat.Biequivalence.Biequiv.
Require Import UniMath.Bicategories.ComprehensionCat.FinLimToCompCatLemmas.
Require Import UniMath.Bicategories.ComprehensionCat.Universes.CatWithUniv.CatWithOb.
Require Import UniMath.Bicategories.ComprehensionCat.Universes.CatWithUniv.UniverseInCat.
Require Import UniMath.Bicategories.ComprehensionCat.Universes.CatWithUniv.UniverseDispBicat.
Require Import UniMath.Bicategories.ComprehensionCat.Universes.CompCatUniv.CompCatOb.
Require Import UniMath.Bicategories.ComprehensionCat.Universes.CompCatUniv.CompCatWithUniv.
Require Import UniMath.Bicategories.ComprehensionCat.Universes.CompCatUniv.UniverseType.
Require Export UniMath.Bicategories.ComprehensionCat.Universes.Biequiv.ToCompCatUniv.
Require Export UniMath.Bicategories.ComprehensionCat.Universes.Biequiv.ToCatFinLimUnivActions.
Require Export UniMath.Bicategories.ComprehensionCat.Universes.Biequiv.ToCatFinLimUnivCell.
Require Export UniMath.Bicategories.ComprehensionCat.Universes.Biequiv.ToCatFinLimUnivIdent.
Require Export UniMath.Bicategories.ComprehensionCat.Universes.Biequiv.ToCatFinLimUniv.
Require Export UniMath.Bicategories.ComprehensionCat.Universes.Biequiv.UnitForUniv.
Require Export UniMath.Bicategories.ComprehensionCat.Universes.Biequiv.CounitForUniv.

Local Open Scope cat.
Local Open Scope comp_cat.

Definition finlim_dfl_comp_cat_biequivalence_unit_counit_universe
  : is_disp_biequivalence_unit_counit
      _ _
      finlim_dfl_comp_cat_biequivalence_unit_counit
      finlim_to_dfl_comp_cat_disp_psfunctor_universe
      dfl_comp_cat_to_finlim_disp_psfunctor_universe.
Show proof.

Definition finlim_biequiv_dfl_comp_cat_psfunctor_universe
  : disp_is_biequivalence_data
      _
      _
      finlim_dfl_comp_cat_biequivalence_adjoints
      finlim_dfl_comp_cat_biequivalence_unit_counit_universe.
Show proof.