proposition: Lemma idtoiso_functor_eq_from_functor_z_iso (C : precategory_data) (D : category) (H : is_univalent D) (F G : ob [C, D, D]) (gamma : z_iso F G) : idtoiso (functor_eq_from_functor_z_iso H F G gamma) = gamma.
proof: Proof. apply (z_iso_eq(C:=functor_category C D)). simpl; apply nat_trans_eq; intro a. apply D. assert (H' := idtoiso_functorcat_compute_pointwise C D _ F G (functor_eq_from_functor_z_iso H F G gamma) a). simpl in *. assert (H2 := maponpaths (@pr1 _ _ ) H'). simpl in H2. etrans. { apply H2. } clear H' H2. unfold functor_eq_from_functor_z_iso. unfold functor_eq. rewrite base_total2_paths. unfold pr1_functor_eq_from_functor_z_iso. rewrite base_total2_paths. intermediate_path (pr1 (idtoiso (isotoid D H (functor_z_iso_pointwise_if_z_iso C D D F G gamma (pr2 gamma) a)))). 2: { rewrite idtoiso_isotoid. apply idpath. } apply maponpaths. apply maponpaths. unfold pr1_pr1_functor_eq_from_functor_iso. rewrite toforallpaths_funextsec. apply idpath. Qed.
imports: UniMath.Foundations.Propositions UniMath.MoreFoundations.Tactics UniMath.MoreFoundations.Univalence UniMath.CategoryTheory.Core.Categories UniMath.CategoryTheory.Core.Isos UniMath.CategoryTheory.Core.TransportMorphisms UniMath.CategoryTheory.Core.Functors UniMath.CategoryTheory.Core.NaturalTransformations UniMath.CategoryTheory.Core.Univalence