Definition two_cat_to_prebicat_data (C : two_cat) : prebicat_data. Proof. use build_prebicat_data. - apply C. - simpl. intros x y. refine (x --> y). - simpl. intros ? ? f g. exact (two_cat_cells _ f g). - simpl. intros. apply identity. - simpl. intros ? ? ? f g. refine (f · g). - simpl. intros. apply TwoCategories.id2. - simpl. intros ? ? ? ? ? α β. exact (TwoCategories.vcomp2 α β). - simpl. intros ? ? ? f g h α. refine (TwoCategories.lwhisker f α). - simpl. intros ? ? ? g h f α. refine (TwoCategories.rwhisker f α). - simpl. intros ? ? f. apply idto2mor. exact (id_left (f : pr1 C ⟦ X , Y ⟧)). - simpl. intros ? ? f. apply idto2mor. exact (!id_left (f : pr1 C ⟦ X , Y ⟧)). - simpl. intros ? ? f. apply idto2mor. exact (id_right (f : pr1 C ⟦ X , Y ⟧)). - simpl. intros ? ? f. apply idto2mor. exact (!id_right (f : pr1 C ⟦ X , Y ⟧)). - simpl. intros ? ? ? ? f g h. apply idto2mor. refine (assoc (f : pr1 C ⟦ _ , _ ⟧) g h). - simpl. intros ? ? ? ? f g h. apply idto2mor. refine (!assoc (f : pr1 C ⟦ _ , _ ⟧) g h). Defined.
Require Import UniMath.Foundations.All. Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.TwoCategories. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.CategoryTheory.Core.NaturalTransformations. Require Import UniMath.CategoryTheory.Core.Univalence. Require Import UniMath.CategoryTheory.Core.Isos. Require Import UniMath.CategoryTheory.Categories.HSET.All. Require Import UniMath.Bicategories.Core.Bicat. Import Bicat.Notations. Require Import UniMath.Bicategories.Core.Unitors. Require Import UniMath.Bicategories.Core.Examples.BicatOfUnivCats. Require Import UniMath.Bicategories.Core.Univalence. Require Import UniMath.Bicategories.Core.Invertible_2cells. Require Import UniMath.Bicategories.Morphisms.Adjunctions. Require Import UniMath.Bicategories.Core.BicategoryLaws. Require Import UniMath.Bicategories.Core.TransportLaws.