Definition dagger_functor_on_unitary {C D : category} {dagC : dagger C} {dagD : dagger D} {F : functor C D} (dagF : is_dagger_functor dagC dagD F) : ∏ c c' : C, unitary dagC c c' -> unitary dagD (F c) (F c'). Proof. intros c c' u. exists (#F (pr1 u)). split. - refine (_ @ functor_id F _). refine (_ @ maponpaths (#F) (pr12 u)). refine (_ @ ! functor_comp F _ _). apply maponpaths. apply pathsinv0, dagF. - refine (_ @ functor_id F _). refine (_ @ maponpaths (#F) (pr22 u)). refine (_ @ ! functor_comp F _ _). apply maponpaths_2. apply pathsinv0, dagF. Defined.
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.NaturalTransformations. Require Import UniMath.CategoryTheory.whiskering. Require Import UniMath.CategoryTheory.DisplayedCats.Core. Require Import UniMath.CategoryTheory.DisplayedCats.Functors. Require Import UniMath.CategoryTheory.DisplayedCats.Total. Require Import UniMath.CategoryTheory.DisplayedCats.TotalCategoryFacts. Require Import UniMath.CategoryTheory.precomp_fully_faithful. Require Import UniMath.CategoryTheory.DaggerCategories.Categories. Require Import UniMath.CategoryTheory.DaggerCategories.Functors. Require Import UniMath.CategoryTheory.DaggerCategories.Transformations. Require Import UniMath.CategoryTheory.DaggerCategories.Unitary. Require Import UniMath.CategoryTheory.DaggerCategories.Univalence. Require Import UniMath.CategoryTheory.DaggerCategories.FunctorCategory. Require Import UniMath.CategoryTheory.DaggerCategories.Functors.FullyFaithful. Require Import UniMath.CategoryTheory.DaggerCategories.Functors.WeakEquivalences.