Proposition left_triangle (p : f · r · f = f · (r · f)) : (η ▹ f) • idto2mor p • (f ◃ ε) = idto2mor (id_left (C := C) _ @ !(id_right (C := C) _)). Proof. assert (identity _ · f = f) as q₁. { apply (id_left (C := C)). } assert (f = f · identity _) as q₂. { refine (!_). apply (id_right (C := C)). } refine (_ @ maponpaths (λ z, idto2mor q₁ • z • idto2mor q₂) (pr12 Hf) @ _). - cbn. refine (!_). etrans. { apply maponpaths_2. refine (TwoCategories.vassocr _ _ _ @ _). apply maponpaths_2. refine (TwoCategories.vassocr _ _ _ @ _). apply maponpaths_2. refine (TwoCategories.vassocr _ _ _ @ _). apply maponpaths_2. refine (TwoCategories.vassocr _ _ _ @ _). etrans. { apply maponpaths_2. refine (idto2mor_comp _ _ @ _). apply idto2mor_id. } apply TwoCategories.id2_left. } refine (_ @ TwoCategories.vassocr _ _ _). do 3 refine (TwoCategories.vassocl _ _ _ @ _). apply maponpaths. etrans. { apply maponpaths. etrans. { apply maponpaths. refine (idto2mor_comp _ _ @ _). apply idto2mor_id. } apply TwoCategories.id2_right. } apply maponpaths_2. apply maponpaths. apply (homset_property C). - cbn. etrans. { apply maponpaths_2. apply TwoCategories.id2_right. } rewrite idto2mor_comp. apply maponpaths. apply (homset_property C). Qed.
Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Prelude. Require Import UniMath.CategoryTheory.Core.Setcategories. Require Import UniMath.CategoryTheory.Core.TwoCategories. Require Import UniMath.CategoryTheory.DisplayedCats.Core. Require Import UniMath.CategoryTheory.DisplayedCats.Isos. Require Import UniMath.CategoryTheory.DisplayedCats.Total. Require Import UniMath.CategoryTheory.DisplayedCats.Univalence. Require Import UniMath.CategoryTheory.DisplayedCats.Examples.Sigma. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.TwoSidedDispCat. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.Isos. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.Univalence. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.Strictness. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.Examples.SquaresTwoCat. Require Import UniMath.Bicategories.Core.Bicat. Require Import UniMath.Bicategories.Core.Univalence. Require Import UniMath.Bicategories.Core.Strictness. Require Import UniMath.Bicategories.Core.AdjointUnique. Require Import UniMath.Bicategories.Morphisms.Adjunctions. Require Import UniMath.Bicategories.Morphisms.Properties.Composition. Require Import UniMath.Bicategories.DoubleCategories.Basics.StrictDoubleCatBasics. Require Import UniMath.Bicategories.DoubleCategories.Basics.DoubleCategoryBasics. Require Import UniMath.Bicategories.DoubleCategories.Core.DoubleCats. Require Import UniMath.Bicategories.DoubleCategories.Core.UnivalentDoubleCats. Require Import UniMath.Bicategories.DoubleCategories.Core.PseudoDoubleSetCats. Require Import UniMath.Bicategories.DoubleCategories.Core.CompanionsAndConjoints. Require Import UniMath.Bicategories.DoubleCategories.Examples.SquareDoubleCatTwo. Require Import UniMath.Bicategories.DoubleCategories.Examples.DoubleCatOnDispCat. Import TwoCategories.Notations.