Lemma opp_functor_essentially_surjective : essentially_surjective F -> essentially_surjective (functor_opp F). Proof. intros HF d. set (TH := HF d). set (X:=@hinhuniv (∑ a : C, z_iso (F a) d)). use (X _ _ TH). intro H. clear TH. clear X. apply hinhpr. destruct H as [a X]. exists a. simpl in *. apply opp_z_iso. apply (z_iso_inv_from_z_iso X). Qed.
Require Import UniMath.Foundations.PartD. Require Import UniMath.Foundations.Propositions. Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.Isos. Require Import UniMath.CategoryTheory.Core.NaturalTransformations. Require Import UniMath.CategoryTheory.Core.Univalence. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.CategoryTheory.Core.Setcategories. Require Import UniMath.CategoryTheory.FunctorCategory.