Lemma is_sheaf'_to_is_sheaf'' : is_sheaf' → is_sheaf''. Proof. intro H. split; intros c S; specialize (H c S); pose (i := make_z_iso' _ H). - intros f g Hfg. refine (!_ @ eqtohomot (z_iso_inv_after_z_iso i) g). refine (!_ @ eqtohomot (z_iso_inv_after_z_iso i) f). apply (maponpaths (inv_from_z_iso i)). apply subtypePath. { intro. apply propproperty. } apply funextsec. intro Vf. apply Hfg. - intros f Hf. use tpair. + refine (inv_from_z_iso i _). exists (λ Vf, f Vf). apply funextsec. intro VWfg. apply (Hf (make_sieve_selected_morphism _ _)). + intros g. refine (maponpaths (λ x, pr1 (x _) _) (z_iso_after_z_iso_inv i)). Qed.
Require Import UniMath.Foundations.All. Require Import UniMath.MoreFoundations.Notations. Require Import UniMath.CategoryTheory.Categories.HSET.Core. Require Import UniMath.CategoryTheory.Categories.HSET.Limits. Require Import UniMath.CategoryTheory.Categories.HSET.Univalence. Require Import UniMath.CategoryTheory.Core.Prelude. Require Import UniMath.CategoryTheory.DisplayedCats.Constructions.FullSubcategory. Require Import UniMath.CategoryTheory.Limits.Equalizers. Require Import UniMath.CategoryTheory.Limits.Products. Require Import UniMath.CategoryTheory.Presheaf. Require Import UniMath.CategoryTheory.yoneda. Require Import UniMath.CategoryTheory.opp_precat. Require Import UniMath.CategoryTheory.GrothendieckToposes.Sieves. Require Import UniMath.CategoryTheory.GrothendieckToposes.Sites.