Library UniMath.Bicategories.Core.Examples.StructuredCategories
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.Core.Isos.
Require Import UniMath.CategoryTheory.Core.Univalence.
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.bincoproducts.
Require Import UniMath.CategoryTheory.limits.Preservation.
Require Import UniMath.CategoryTheory.DisplayedCats.Core.
Require Import UniMath.CategoryTheory.DisplayedCats.Univalence.
Require Import UniMath.Bicategories.Core.Bicat. Import Bicat.Notations.
Require Import UniMath.Bicategories.Core.Examples.BicatOfUnivCats.
Require Import UniMath.Bicategories.DisplayedBicats.DispBicat. Import DispBicat.Notations.
Require Import UniMath.Bicategories.DisplayedBicats.DispUnivalence.
Require Import UniMath.Bicategories.DisplayedBicats.Examples.Sub1Cell.
Require Import UniMath.Bicategories.DisplayedBicats.Examples.Prod.
Local Open Scope cat.
Require Import UniMath.MoreFoundations.All.
Require Import UniMath.CategoryTheory.Core.Categories.
Require Import UniMath.CategoryTheory.Core.Functors.
Require Import UniMath.CategoryTheory.Core.Isos.
Require Import UniMath.CategoryTheory.Core.Univalence.
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.bincoproducts.
Require Import UniMath.CategoryTheory.limits.Preservation.
Require Import UniMath.CategoryTheory.DisplayedCats.Core.
Require Import UniMath.CategoryTheory.DisplayedCats.Univalence.
Require Import UniMath.Bicategories.Core.Bicat. Import Bicat.Notations.
Require Import UniMath.Bicategories.Core.Examples.BicatOfUnivCats.
Require Import UniMath.Bicategories.DisplayedBicats.DispBicat. Import DispBicat.Notations.
Require Import UniMath.Bicategories.DisplayedBicats.DispUnivalence.
Require Import UniMath.Bicategories.DisplayedBicats.Examples.Sub1Cell.
Require Import UniMath.Bicategories.DisplayedBicats.Examples.Prod.
Local Open Scope cat.
1. Categories with a terminal object
Definition disp_bicat_terminal_obj
: disp_bicat bicat_of_univ_cats.
Show proof.
Definition univ_cat_with_terminal_obj
: bicat
:= total_bicat disp_bicat_terminal_obj.
Definition disp_univalent_2_1_disp_bicat_terminal_obj
: disp_univalent_2_1 disp_bicat_terminal_obj.
Show proof.
Definition disp_univalent_2_0_disp_bicat_terminal_obj
: disp_univalent_2_0 disp_bicat_terminal_obj.
Show proof.
Definition disp_univalent_2_disp_bicat_terminal_obj
: disp_univalent_2 disp_bicat_terminal_obj.
Show proof.
Definition is_univalent_2_1_univ_cat_with_terminal_obj
: is_univalent_2_1 univ_cat_with_terminal_obj.
Show proof.
Definition is_univalent_2_0_univ_cat_with_terminal_obj
: is_univalent_2_0 univ_cat_with_terminal_obj.
Show proof.
Definition is_univalent_2_univ_cat_with_terminal_obj
: is_univalent_2 univ_cat_with_terminal_obj.
Show proof.
: disp_bicat bicat_of_univ_cats.
Show proof.
use disp_subbicat.
- exact (λ C, Terminal (pr1 C)).
- exact (λ C₁ C₂ _ _ F, preserves_terminal F).
- exact (λ C _, identity_preserves_terminal _).
- exact (λ _ _ _ _ _ _ _ _ HF HG, composition_preserves_terminal HF HG).
- exact (λ C, Terminal (pr1 C)).
- exact (λ C₁ C₂ _ _ F, preserves_terminal F).
- exact (λ C _, identity_preserves_terminal _).
- exact (λ _ _ _ _ _ _ _ _ HF HG, composition_preserves_terminal HF HG).
Definition univ_cat_with_terminal_obj
: bicat
:= total_bicat disp_bicat_terminal_obj.
Definition disp_univalent_2_1_disp_bicat_terminal_obj
: disp_univalent_2_1 disp_bicat_terminal_obj.
Show proof.
Definition disp_univalent_2_0_disp_bicat_terminal_obj
: disp_univalent_2_0 disp_bicat_terminal_obj.
Show proof.
use disp_subbicat_univalent_2_0.
- exact univalent_cat_is_univalent_2.
- intro C.
apply isaprop_Terminal.
exact (pr2 C).
- intros.
apply isaprop_preserves_terminal.
- exact univalent_cat_is_univalent_2.
- intro C.
apply isaprop_Terminal.
exact (pr2 C).
- intros.
apply isaprop_preserves_terminal.
Definition disp_univalent_2_disp_bicat_terminal_obj
: disp_univalent_2 disp_bicat_terminal_obj.
Show proof.
split.
- exact disp_univalent_2_0_disp_bicat_terminal_obj.
- exact disp_univalent_2_1_disp_bicat_terminal_obj.
- exact disp_univalent_2_0_disp_bicat_terminal_obj.
- exact disp_univalent_2_1_disp_bicat_terminal_obj.
Definition is_univalent_2_1_univ_cat_with_terminal_obj
: is_univalent_2_1 univ_cat_with_terminal_obj.
Show proof.
use total_is_univalent_2_1.
- exact univalent_cat_is_univalent_2_1.
- exact disp_univalent_2_1_disp_bicat_terminal_obj.
- exact univalent_cat_is_univalent_2_1.
- exact disp_univalent_2_1_disp_bicat_terminal_obj.
Definition is_univalent_2_0_univ_cat_with_terminal_obj
: is_univalent_2_0 univ_cat_with_terminal_obj.
Show proof.
use total_is_univalent_2_0.
- exact univalent_cat_is_univalent_2_0.
- exact disp_univalent_2_0_disp_bicat_terminal_obj.
- exact univalent_cat_is_univalent_2_0.
- exact disp_univalent_2_0_disp_bicat_terminal_obj.
Definition is_univalent_2_univ_cat_with_terminal_obj
: is_univalent_2 univ_cat_with_terminal_obj.
Show proof.
split.
- exact is_univalent_2_0_univ_cat_with_terminal_obj.
- exact is_univalent_2_1_univ_cat_with_terminal_obj.
- exact is_univalent_2_0_univ_cat_with_terminal_obj.
- exact is_univalent_2_1_univ_cat_with_terminal_obj.
2. Categories with binary products
Definition disp_bicat_binprod
: disp_bicat bicat_of_univ_cats.
Show proof.
Definition univ_cat_with_binprod
: bicat
:= total_bicat disp_bicat_binprod.
Definition disp_univalent_2_1_disp_bicat_binprod
: disp_univalent_2_1 disp_bicat_binprod.
Show proof.
Definition disp_univalent_2_0_disp_bicat_binprod
: disp_univalent_2_0 disp_bicat_binprod.
Show proof.
Definition disp_univalent_2_disp_bicat_binprod
: disp_univalent_2 disp_bicat_binprod.
Show proof.
Definition is_univalent_2_1_univ_cat_with_binprod
: is_univalent_2_1 univ_cat_with_binprod.
Show proof.
Definition is_univalent_2_0_univ_cat_with_binprod
: is_univalent_2_0 univ_cat_with_binprod.
Show proof.
Definition is_univalent_2_univ_cat_with_binprod
: is_univalent_2 univ_cat_with_binprod.
Show proof.
: disp_bicat bicat_of_univ_cats.
Show proof.
use disp_subbicat.
- exact (λ C, BinProducts (pr1 C)).
- exact (λ C₁ C₂ _ _ F, preserves_binproduct F).
- exact (λ C _, identity_preserves_binproduct _).
- exact (λ _ _ _ _ _ _ _ _ HF HG, composition_preserves_binproduct HF HG).
- exact (λ C, BinProducts (pr1 C)).
- exact (λ C₁ C₂ _ _ F, preserves_binproduct F).
- exact (λ C _, identity_preserves_binproduct _).
- exact (λ _ _ _ _ _ _ _ _ HF HG, composition_preserves_binproduct HF HG).
Definition univ_cat_with_binprod
: bicat
:= total_bicat disp_bicat_binprod.
Definition disp_univalent_2_1_disp_bicat_binprod
: disp_univalent_2_1 disp_bicat_binprod.
Show proof.
Definition disp_univalent_2_0_disp_bicat_binprod
: disp_univalent_2_0 disp_bicat_binprod.
Show proof.
use disp_subbicat_univalent_2_0.
- exact univalent_cat_is_univalent_2.
- intro C.
use impred ; intro x.
use impred ; intro y.
use isaprop_BinProduct.
exact (pr2 C).
- intros.
apply isaprop_preserves_binproduct.
- exact univalent_cat_is_univalent_2.
- intro C.
use impred ; intro x.
use impred ; intro y.
use isaprop_BinProduct.
exact (pr2 C).
- intros.
apply isaprop_preserves_binproduct.
Definition disp_univalent_2_disp_bicat_binprod
: disp_univalent_2 disp_bicat_binprod.
Show proof.
split.
- exact disp_univalent_2_0_disp_bicat_binprod.
- exact disp_univalent_2_1_disp_bicat_binprod.
- exact disp_univalent_2_0_disp_bicat_binprod.
- exact disp_univalent_2_1_disp_bicat_binprod.
Definition is_univalent_2_1_univ_cat_with_binprod
: is_univalent_2_1 univ_cat_with_binprod.
Show proof.
use total_is_univalent_2_1.
- exact univalent_cat_is_univalent_2_1.
- exact disp_univalent_2_1_disp_bicat_binprod.
- exact univalent_cat_is_univalent_2_1.
- exact disp_univalent_2_1_disp_bicat_binprod.
Definition is_univalent_2_0_univ_cat_with_binprod
: is_univalent_2_0 univ_cat_with_binprod.
Show proof.
use total_is_univalent_2_0.
- exact univalent_cat_is_univalent_2_0.
- exact disp_univalent_2_0_disp_bicat_binprod.
- exact univalent_cat_is_univalent_2_0.
- exact disp_univalent_2_0_disp_bicat_binprod.
Definition is_univalent_2_univ_cat_with_binprod
: is_univalent_2 univ_cat_with_binprod.
Show proof.
split.
- exact is_univalent_2_0_univ_cat_with_binprod.
- exact is_univalent_2_1_univ_cat_with_binprod.
- exact is_univalent_2_0_univ_cat_with_binprod.
- exact is_univalent_2_1_univ_cat_with_binprod.
3. Categories with pullbacks
Definition disp_bicat_pullback
: disp_bicat bicat_of_univ_cats.
Show proof.
Definition univ_cat_with_pb
: bicat
:= total_bicat disp_bicat_pullback.
Definition disp_univalent_2_1_disp_bicat_pullback
: disp_univalent_2_1 disp_bicat_pullback.
Show proof.
Definition disp_univalent_2_0_disp_bicat_pullback
: disp_univalent_2_0 disp_bicat_pullback.
Show proof.
Definition disp_univalent_2_disp_bicat_pullback
: disp_univalent_2 disp_bicat_pullback.
Show proof.
Definition is_univalent_2_1_univ_cat_with_pb
: is_univalent_2_1 univ_cat_with_pb.
Show proof.
Definition is_univalent_2_0_univ_cat_with_pb
: is_univalent_2_0 univ_cat_with_pb.
Show proof.
Definition is_univalent_2_univ_cat_with_pb
: is_univalent_2 univ_cat_with_pb.
Show proof.
: disp_bicat bicat_of_univ_cats.
Show proof.
use disp_subbicat.
- exact (λ C, Pullbacks (pr1 C)).
- exact (λ C₁ C₂ _ _ F, preserves_pullback F).
- exact (λ C _, identity_preserves_pullback _).
- exact (λ _ _ _ _ _ _ _ _ HF HG, composition_preserves_pullback HF HG).
- exact (λ C, Pullbacks (pr1 C)).
- exact (λ C₁ C₂ _ _ F, preserves_pullback F).
- exact (λ C _, identity_preserves_pullback _).
- exact (λ _ _ _ _ _ _ _ _ HF HG, composition_preserves_pullback HF HG).
Definition univ_cat_with_pb
: bicat
:= total_bicat disp_bicat_pullback.
Definition disp_univalent_2_1_disp_bicat_pullback
: disp_univalent_2_1 disp_bicat_pullback.
Show proof.
Definition disp_univalent_2_0_disp_bicat_pullback
: disp_univalent_2_0 disp_bicat_pullback.
Show proof.
use disp_subbicat_univalent_2_0.
- exact univalent_cat_is_univalent_2.
- intro C.
repeat (use impred ; intro).
apply isaprop_Pullback.
exact (pr2 C).
- intros.
apply isaprop_preserves_pullback.
- exact univalent_cat_is_univalent_2.
- intro C.
repeat (use impred ; intro).
apply isaprop_Pullback.
exact (pr2 C).
- intros.
apply isaprop_preserves_pullback.
Definition disp_univalent_2_disp_bicat_pullback
: disp_univalent_2 disp_bicat_pullback.
Show proof.
split.
- exact disp_univalent_2_0_disp_bicat_pullback.
- exact disp_univalent_2_1_disp_bicat_pullback.
- exact disp_univalent_2_0_disp_bicat_pullback.
- exact disp_univalent_2_1_disp_bicat_pullback.
Definition is_univalent_2_1_univ_cat_with_pb
: is_univalent_2_1 univ_cat_with_pb.
Show proof.
use total_is_univalent_2_1.
- exact univalent_cat_is_univalent_2_1.
- exact disp_univalent_2_1_disp_bicat_pullback.
- exact univalent_cat_is_univalent_2_1.
- exact disp_univalent_2_1_disp_bicat_pullback.
Definition is_univalent_2_0_univ_cat_with_pb
: is_univalent_2_0 univ_cat_with_pb.
Show proof.
use total_is_univalent_2_0.
- exact univalent_cat_is_univalent_2_0.
- exact disp_univalent_2_0_disp_bicat_pullback.
- exact univalent_cat_is_univalent_2_0.
- exact disp_univalent_2_0_disp_bicat_pullback.
Definition is_univalent_2_univ_cat_with_pb
: is_univalent_2 univ_cat_with_pb.
Show proof.
4. Categories with finite limits
Definition disp_bicat_finlim
: disp_bicat bicat_of_univ_cats
:= disp_dirprod_bicat
disp_bicat_terminal_obj
disp_bicat_pullback.
Definition univ_cat_with_finlim
: bicat
:= total_bicat disp_bicat_finlim.
Definition disp_univalent_2_1_disp_bicat_finlim
: disp_univalent_2_1 disp_bicat_finlim.
Show proof.
Definition disp_univalent_2_0_disp_bicat_finlim
: disp_univalent_2_0 disp_bicat_finlim.
Show proof.
Definition disp_univalent_2_disp_bicat_finlim
: disp_univalent_2 disp_bicat_finlim.
Show proof.
Definition is_univalent_2_1_univ_cat_with_finlim
: is_univalent_2_1 univ_cat_with_finlim.
Show proof.
Definition is_univalent_2_0_univ_cat_with_finlim
: is_univalent_2_0 univ_cat_with_finlim.
Show proof.
Definition is_univalent_2_univ_cat_with_finlim
: is_univalent_2 univ_cat_with_finlim.
Show proof.
: disp_bicat bicat_of_univ_cats
:= disp_dirprod_bicat
disp_bicat_terminal_obj
disp_bicat_pullback.
Definition univ_cat_with_finlim
: bicat
:= total_bicat disp_bicat_finlim.
Definition disp_univalent_2_1_disp_bicat_finlim
: disp_univalent_2_1 disp_bicat_finlim.
Show proof.
use is_univalent_2_1_dirprod_bicat.
- exact disp_univalent_2_1_disp_bicat_terminal_obj.
- exact disp_univalent_2_1_disp_bicat_pullback.
- exact disp_univalent_2_1_disp_bicat_terminal_obj.
- exact disp_univalent_2_1_disp_bicat_pullback.
Definition disp_univalent_2_0_disp_bicat_finlim
: disp_univalent_2_0 disp_bicat_finlim.
Show proof.
use is_univalent_2_0_dirprod_bicat.
- exact univalent_cat_is_univalent_2_1.
- exact disp_univalent_2_disp_bicat_terminal_obj.
- exact disp_univalent_2_disp_bicat_pullback.
- exact univalent_cat_is_univalent_2_1.
- exact disp_univalent_2_disp_bicat_terminal_obj.
- exact disp_univalent_2_disp_bicat_pullback.
Definition disp_univalent_2_disp_bicat_finlim
: disp_univalent_2 disp_bicat_finlim.
Show proof.
Definition is_univalent_2_1_univ_cat_with_finlim
: is_univalent_2_1 univ_cat_with_finlim.
Show proof.
use total_is_univalent_2_1.
- exact univalent_cat_is_univalent_2_1.
- exact disp_univalent_2_1_disp_bicat_finlim.
- exact univalent_cat_is_univalent_2_1.
- exact disp_univalent_2_1_disp_bicat_finlim.
Definition is_univalent_2_0_univ_cat_with_finlim
: is_univalent_2_0 univ_cat_with_finlim.
Show proof.
use total_is_univalent_2_0.
- exact univalent_cat_is_univalent_2_0.
- exact disp_univalent_2_0_disp_bicat_finlim.
- exact univalent_cat_is_univalent_2_0.
- exact disp_univalent_2_0_disp_bicat_finlim.
Definition is_univalent_2_univ_cat_with_finlim
: is_univalent_2 univ_cat_with_finlim.
Show proof.
split.
- exact is_univalent_2_0_univ_cat_with_finlim.
- exact is_univalent_2_1_univ_cat_with_finlim.
- exact is_univalent_2_0_univ_cat_with_finlim.
- exact is_univalent_2_1_univ_cat_with_finlim.
5. Categories with an initial object
Definition disp_bicat_initial_obj
: disp_bicat bicat_of_univ_cats.
Show proof.
Definition univ_cat_with_initial
: bicat
:= total_bicat disp_bicat_initial_obj.
Definition disp_univalent_2_1_disp_bicat_initial_obj
: disp_univalent_2_1 disp_bicat_initial_obj.
Show proof.
Definition disp_univalent_2_0_disp_bicat_initial_obj
: disp_univalent_2_0 disp_bicat_initial_obj.
Show proof.
Definition disp_univalent_2_disp_bicat_initial_obj
: disp_univalent_2 disp_bicat_initial_obj.
Show proof.
Definition is_univalent_2_1_univ_cat_with_initial
: is_univalent_2_1 univ_cat_with_initial.
Show proof.
Definition is_univalent_2_0_univ_cat_with_initial
: is_univalent_2_0 univ_cat_with_initial.
Show proof.
Definition is_univalent_2_univ_cat_with_initial
: is_univalent_2 univ_cat_with_initial.
Show proof.
: disp_bicat bicat_of_univ_cats.
Show proof.
use disp_subbicat.
- exact (λ C, Initial (pr1 C)).
- exact (λ C₁ C₂ _ _ F, preserves_initial F).
- exact (λ C _, identity_preserves_initial _).
- exact (λ _ _ _ _ _ _ _ _ HF HG, composition_preserves_initial HF HG).
- exact (λ C, Initial (pr1 C)).
- exact (λ C₁ C₂ _ _ F, preserves_initial F).
- exact (λ C _, identity_preserves_initial _).
- exact (λ _ _ _ _ _ _ _ _ HF HG, composition_preserves_initial HF HG).
Definition univ_cat_with_initial
: bicat
:= total_bicat disp_bicat_initial_obj.
Definition disp_univalent_2_1_disp_bicat_initial_obj
: disp_univalent_2_1 disp_bicat_initial_obj.
Show proof.
Definition disp_univalent_2_0_disp_bicat_initial_obj
: disp_univalent_2_0 disp_bicat_initial_obj.
Show proof.
use disp_subbicat_univalent_2_0.
- exact univalent_cat_is_univalent_2.
- intro C.
apply isaprop_Initial.
exact (pr2 C).
- intros.
apply isaprop_preserves_initial.
- exact univalent_cat_is_univalent_2.
- intro C.
apply isaprop_Initial.
exact (pr2 C).
- intros.
apply isaprop_preserves_initial.
Definition disp_univalent_2_disp_bicat_initial_obj
: disp_univalent_2 disp_bicat_initial_obj.
Show proof.
split.
- exact disp_univalent_2_0_disp_bicat_initial_obj.
- exact disp_univalent_2_1_disp_bicat_initial_obj.
- exact disp_univalent_2_0_disp_bicat_initial_obj.
- exact disp_univalent_2_1_disp_bicat_initial_obj.
Definition is_univalent_2_1_univ_cat_with_initial
: is_univalent_2_1 univ_cat_with_initial.
Show proof.
use total_is_univalent_2_1.
- exact univalent_cat_is_univalent_2_1.
- exact disp_univalent_2_1_disp_bicat_initial_obj.
- exact univalent_cat_is_univalent_2_1.
- exact disp_univalent_2_1_disp_bicat_initial_obj.
Definition is_univalent_2_0_univ_cat_with_initial
: is_univalent_2_0 univ_cat_with_initial.
Show proof.
use total_is_univalent_2_0.
- exact univalent_cat_is_univalent_2_0.
- exact disp_univalent_2_0_disp_bicat_initial_obj.
- exact univalent_cat_is_univalent_2_0.
- exact disp_univalent_2_0_disp_bicat_initial_obj.
Definition is_univalent_2_univ_cat_with_initial
: is_univalent_2 univ_cat_with_initial.
Show proof.
split.
- exact is_univalent_2_0_univ_cat_with_initial.
- exact is_univalent_2_1_univ_cat_with_initial.
- exact is_univalent_2_0_univ_cat_with_initial.
- exact is_univalent_2_1_univ_cat_with_initial.
6. Categories with binary coproducts
Definition disp_bicat_bincoprod
: disp_bicat bicat_of_univ_cats.
Show proof.
Definition univ_cat_with_bincoprod
: bicat
:= total_bicat disp_bicat_bincoprod.
Definition disp_univalent_2_1_disp_bicat_bincoprod
: disp_univalent_2_1 disp_bicat_bincoprod.
Show proof.
Definition disp_univalent_2_0_disp_bicat_bincoprod
: disp_univalent_2_0 disp_bicat_bincoprod.
Show proof.
Definition disp_univalent_2_disp_bicat_bincoprod
: disp_univalent_2 disp_bicat_bincoprod.
Show proof.
Definition is_univalent_2_1_univ_cat_with_bincoprod
: is_univalent_2_1 univ_cat_with_bincoprod.
Show proof.
Definition is_univalent_2_0_univ_cat_with_bincoprod
: is_univalent_2_0 univ_cat_with_bincoprod.
Show proof.
Definition is_univalent_2_univ_cat_with_bincoprod
: is_univalent_2 univ_cat_with_bincoprod.
Show proof.
: disp_bicat bicat_of_univ_cats.
Show proof.
use disp_subbicat.
- exact (λ C, BinCoproducts (pr1 C)).
- exact (λ C₁ C₂ _ _ F, preserves_bincoproduct F).
- exact (λ C _, identity_preserves_bincoproduct _).
- exact (λ _ _ _ _ _ _ _ _ HF HG, composition_preserves_bincoproduct HF HG).
- exact (λ C, BinCoproducts (pr1 C)).
- exact (λ C₁ C₂ _ _ F, preserves_bincoproduct F).
- exact (λ C _, identity_preserves_bincoproduct _).
- exact (λ _ _ _ _ _ _ _ _ HF HG, composition_preserves_bincoproduct HF HG).
Definition univ_cat_with_bincoprod
: bicat
:= total_bicat disp_bicat_bincoprod.
Definition disp_univalent_2_1_disp_bicat_bincoprod
: disp_univalent_2_1 disp_bicat_bincoprod.
Show proof.
Definition disp_univalent_2_0_disp_bicat_bincoprod
: disp_univalent_2_0 disp_bicat_bincoprod.
Show proof.
use disp_subbicat_univalent_2_0.
- exact univalent_cat_is_univalent_2.
- intro C.
repeat (use impred ; intro).
apply isaprop_BinCoproduct.
exact (pr2 C).
- intros.
apply isaprop_preserves_bincoproduct.
- exact univalent_cat_is_univalent_2.
- intro C.
repeat (use impred ; intro).
apply isaprop_BinCoproduct.
exact (pr2 C).
- intros.
apply isaprop_preserves_bincoproduct.
Definition disp_univalent_2_disp_bicat_bincoprod
: disp_univalent_2 disp_bicat_bincoprod.
Show proof.
split.
- exact disp_univalent_2_0_disp_bicat_bincoprod.
- exact disp_univalent_2_1_disp_bicat_bincoprod.
- exact disp_univalent_2_0_disp_bicat_bincoprod.
- exact disp_univalent_2_1_disp_bicat_bincoprod.
Definition is_univalent_2_1_univ_cat_with_bincoprod
: is_univalent_2_1 univ_cat_with_bincoprod.
Show proof.
use total_is_univalent_2_1.
- exact univalent_cat_is_univalent_2_1.
- exact disp_univalent_2_1_disp_bicat_bincoprod.
- exact univalent_cat_is_univalent_2_1.
- exact disp_univalent_2_1_disp_bicat_bincoprod.
Definition is_univalent_2_0_univ_cat_with_bincoprod
: is_univalent_2_0 univ_cat_with_bincoprod.
Show proof.
use total_is_univalent_2_0.
- exact univalent_cat_is_univalent_2_0.
- exact disp_univalent_2_0_disp_bicat_bincoprod.
- exact univalent_cat_is_univalent_2_0.
- exact disp_univalent_2_0_disp_bicat_bincoprod.
Definition is_univalent_2_univ_cat_with_bincoprod
: is_univalent_2 univ_cat_with_bincoprod.
Show proof.
split.
- exact is_univalent_2_0_univ_cat_with_bincoprod.
- exact is_univalent_2_1_univ_cat_with_bincoprod.
- exact is_univalent_2_0_univ_cat_with_bincoprod.
- exact is_univalent_2_1_univ_cat_with_bincoprod.