ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- CategoryTheory.Functor.sheafPushforwardCocontinuousCompSheafToPresheafIso_hom
@[simps! hom inv]
def Functor.sheafPushforwardCocontinuousCompSheafToPresheafIso :
    G.sheafPushforwardCocontinuous A J K ⋙ sheafToPresheaf K A ≅
      sheafToPresheaf J A ⋙ G.op.ran 
Arguments: {C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Category.{u_4, u_2} D] (G : C ⥤ D) (A : Type w) [CategoryTheory.Category.{w', w} A] (J : CategoryTheory.GrothendieckTopology C) (K : CategoryTheory.GrothendieckTopology D) [G.IsCocontinuous J K] [∀ (F : Cᵒᵖ ⥤ A), G.op.HasPointwiseRightKanExtension F]
Goal: (G.sheafPushforwardCocontinuousCompSheafToPresheafIso A J K).hom =
  𝟙 (G.sheafPushforwardCocontinuous A J K ⋙ CategoryTheory.sheafToPresheaf K A)
-- CategoryTheory.Functor.sheafPushforwardCocontinuousCompSheafToPresheafIso_inv
@[simps! hom inv]
def Functor.sheafPushforwardCocontinuousCompSheafToPresheafIso :
    G.sheafPushforwardCocontinuous A J K ⋙ sheafToPresheaf K A ≅
      sheafToPresheaf J A ⋙ G.op.ran 
Arguments: {C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Category.{u_4, u_2} D] (G : C ⥤ D) (A : Type w) [CategoryTheory.Category.{w', w} A] (J : CategoryTheory.GrothendieckTopology C) (K : CategoryTheory.GrothendieckTopology D) [G.IsCocontinuous J K] [∀ (F : Cᵒᵖ ⥤ A), G.op.HasPointwiseRightKanExtension F]
Goal: (G.sheafPushforwardCocontinuousCompSheafToPresheafIso A J K).inv =
  𝟙 (G.sheafPushforwardCocontinuous A J K ⋙ CategoryTheory.sheafToPresheaf K A)
-- CategoryTheory.Functor.sheafAdjunctionCocontinuous_unit_app_val
lemma sheafAdjunctionCocontinuous_unit_app_val (F : Sheaf K A) :
    ((G.sheafAdjunctionCocontinuous A J K).unit.app F).val =
      (G.op.ranAdjunction A).unit.app F.val 
Arguments: {C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{u_4, u_1} C] [CategoryTheory.Category.{u_3, u_2} D] (G : C ⥤ D) (A : Type w) [CategoryTheory.Category.{w', w} A] (J : CategoryTheory.GrothendieckTopology C) (K : CategoryTheory.GrothendieckTopology D) [∀ (F : Cᵒᵖ ⥤ A), G.op.HasPointwiseRightKanExtension F] [G.IsCocontinuous J K] [G.IsContinuous J K] (F : CategoryTheory.Sheaf K A)
Goal: ((G.sheafAdjunctionCocontinuous A J K).unit.app F).val = (G.op.ranAdjunction A).unit.app F.val
-- CategoryTheory.Functor.sheafAdjunctionCocontinuous_counit_app_val
lemma sheafAdjunctionCocontinuous_counit_app_val (F : Sheaf J A) :
    ((G.sheafAdjunctionCocontinuous A J K).counit.app F).val =
      (G.op.ranAdjunction A).counit.app F.val 
Arguments: {C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Category.{u_4, u_2} D] (G : C ⥤ D) (A : Type w) [CategoryTheory.Category.{w', w} A] (J : CategoryTheory.GrothendieckTopology C) (K : CategoryTheory.GrothendieckTopology D) [∀ (F : Cᵒᵖ ⥤ A), G.op.HasPointwiseRightKanExtension F] [G.IsCocontinuous J K] [G.IsContinuous J K] (F : CategoryTheory.Sheaf J A)
Goal: ((G.sheafAdjunctionCocontinuous A J K).counit.app F).val = (G.op.ranAdjunction A).counit.app F.val
-- CategoryTheory.Functor.sheafAdjunctionCocontinuous_homEquiv_apply_val
lemma sheafAdjunctionCocontinuous_homEquiv_apply_val {F : Sheaf K A} {H : Sheaf J A}
    (f : (G.sheafPushforwardContinuous A J K).obj F ⟶ H) :
    ((G.sheafAdjunctionCocontinuous A J K).homEquiv F H f).val =
      (G.op.ranAdjunction A).homEquiv F.val H.val f.val 
Arguments: {C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{u_4, u_1} C] [CategoryTheory.Category.{u_3, u_2} D] (G : C ⥤ D) (A : Type w) [CategoryTheory.Category.{w', w} A] (J : CategoryTheory.GrothendieckTopology C) (K : CategoryTheory.GrothendieckTopology D) [∀ (F : Cᵒᵖ ⥤ A), G.op.HasPointwiseRightKanExtension F] [G.IsCocontinuous J K] [G.IsContinuous J K] {F : CategoryTheory.Sheaf K A} {H : CategoryTheory.Sheaf J A} (f : (G.sheafPushforwardContinuous A J K).obj F ⟶ H)
Goal: (((G.sheafAdjunctionCocontinuous A J K).homEquiv F H) f).val = ((G.op.ranAdjunction A).homEquiv F.val H.val) f.val
-- CategoryTheory.Functor.toSheafify_pullbackSheafificationCompatibility
lemma toSheafify_pullbackSheafificationCompatibility (F : Dᵒᵖ ⥤ A) :
    toSheafify J (G.op ⋙ F) ≫
    ((G.pushforwardContinuousSheafificationCompatibility A J K).hom.app F).val =
    whiskerLeft _ (toSheafify K _) 
Arguments: {C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{u_4, u_1} C] [CategoryTheory.Category.{u_3, u_2} D] (G : C ⥤ D) (A : Type w) [CategoryTheory.Category.{w', w} A] (J : CategoryTheory.GrothendieckTopology C) (K : CategoryTheory.GrothendieckTopology D) [∀ (F : Cᵒᵖ ⥤ A), G.op.HasPointwiseRightKanExtension F] [CategoryTheory.HasWeakSheafify J A] [CategoryTheory.HasWeakSheafify K A] [G.IsCocontinuous J K] [G.IsContinuous J K] (F : Dᵒᵖ ⥤ A)
Goal: CategoryTheory.toSheafify J (G.op ⋙ F) ≫ ((G.pushforwardContinuousSheafificationCompatibility A J K).hom.app F).val =
  CategoryTheory.whiskerLeft G.op (CategoryTheory.toSheafify K F)
-- CategoryTheory.Functor.pushforwardContinuousSheafificationCompatibility_hom_app_val
@[simp]
lemma pushforwardContinuousSheafificationCompatibility_hom_app_val (F : Dᵒᵖ ⥤ A) :
    ((G.pushforwardContinuousSheafificationCompatibility A J K).hom.app F).val =
    sheafifyLift J (whiskerLeft G.op <| toSheafify K F)
      ((presheafToSheaf K A ⋙ G.sheafPushforwardContinuous A J K).obj F).cond 
Arguments: {C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{u_4, u_1} C] [CategoryTheory.Category.{u_3, u_2} D] (G : C ⥤ D) (A : Type w) [CategoryTheory.Category.{w', w} A] (J : CategoryTheory.GrothendieckTopology C) (K : CategoryTheory.GrothendieckTopology D) [∀ (F : Cᵒᵖ ⥤ A), G.op.HasPointwiseRightKanExtension F] [CategoryTheory.HasWeakSheafify J A] [CategoryTheory.HasWeakSheafify K A] [G.IsCocontinuous J K] [G.IsContinuous J K] (F : Dᵒᵖ ⥤ A)
Goal: ((G.pushforwardContinuousSheafificationCompatibility A J K).hom.app F).val =
  CategoryTheory.sheafifyLift J (CategoryTheory.whiskerLeft G.op (CategoryTheory.toSheafify K F)) ⋯
-- CategoryTheory.Presieve.CoverByImageStructure.fac
-- Porting note(#5171): removed `@[nolint has_nonempty_instance]`
structure Presieve.CoverByImageStructure (G : C ⥤ D) {V U : D} (f : V ⟶ U) where
  obj : C
  lift : V ⟶ G.obj obj
  map : G.obj obj ⟶ U
  fac : lift ≫ map = f := by aesop_cat
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_4, u_1} C] {D : Type u_2} [CategoryTheory.Category.{u_5, u_2} D] {G : CategoryTheory.Functor C D} {V U : D} {f : V ⟶ U} (self : CategoryTheory.Presieve.CoverByImageStructure G f)
Goal: CategoryTheory.CategoryStruct.comp self.lift self.map = f
-- CategoryTheory.Presieve.in_coverByImage
theorem Presieve.in_coverByImage (G : C ⥤ D) {X : D} {Y : C} (f : G.obj Y ⟶ X) :
    Presieve.coverByImage G X f 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_4, u_1} C] {D : Type u_2} [CategoryTheory.Category.{u_5, u_2} D] (G : CategoryTheory.Functor C D) {X : D} {Y : C} (f : G.obj Y ⟶ X)
Goal: CategoryTheory.Presieve.coverByImage G X f
-- CategoryTheory.Functor.IsCoverDense.is_cover
class Functor.IsCoverDense (G : C ⥤ D) (K : GrothendieckTopology D) : Prop where
  is_cover : ∀ U : D, Sieve.coverByImage G U ∈ K U
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_4, u_1} C] {D : Type u_2} [CategoryTheory.Category.{u_5, u_2} D] {G : CategoryTheory.Functor C D} {K : CategoryTheory.GrothendieckTopology D} [self : G.IsCoverDense K] (U : D)
Goal: CategoryTheory.Sieve.coverByImage G U ∈ K.sieves U
-- CategoryTheory.Functor.is_cover_of_isCoverDense
lemma Functor.is_cover_of_isCoverDense (G : C ⥤ D) (K : GrothendieckTopology D)
    [G.IsCoverDense K] (U : D) : Sieve.coverByImage G U ∈ K U 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_4, u_1} C] {D : Type u_2} [CategoryTheory.Category.{u_5, u_2} D] (G : CategoryTheory.Functor C D) (K : CategoryTheory.GrothendieckTopology D) [G.IsCoverDense K] (U : D)
Goal: CategoryTheory.Sieve.coverByImage G U ∈ K.sieves U
-- CategoryTheory.Functor.isCoverDense_of_generate_singleton_functor_π_mem
lemma Functor.isCoverDense_of_generate_singleton_functor_π_mem (G : C ⥤ D)
    (K : GrothendieckTopology D)
    (h : ∀ B, ∃ (X : C) (f : G.obj X ⟶ B), Sieve.generate (Presieve.singleton f) ∈ K B) :
    G.IsCoverDense K 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_4, u_1} C] {D : Type u_2} [CategoryTheory.Category.{u_5, u_2} D] (G : CategoryTheory.Functor C D) (K : CategoryTheory.GrothendieckTopology D) (h : ∀ (B : D), ∃ X f, CategoryTheory.Sieve.generate (CategoryTheory.Presieve.singleton f) ∈ K.sieves B)
Goal: G.IsCoverDense K
-- CategoryTheory.Functor.IsCoverDense.ext
theorem ext (ℱ : SheafOfTypes K) (X : D) {s t : ℱ.val.obj (op X)}
    (h : ∀ ⦃Y : C⦄ (f : G.obj Y ⟶ X), ℱ.val.map f.op s = ℱ.val.map f.op t) : s = t 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_7, u_1} C] {D : Type u_2} [CategoryTheory.Category.{u_6, u_2} D] {K : CategoryTheory.GrothendieckTopology D} (G : CategoryTheory.Functor C D) [G.IsCoverDense K] (ℱ : CategoryTheory.SheafOfTypes K) (X : D) {s t : ℱ.val.obj (Opposite.op X)} (h : ∀ ⦃Y : C⦄ (f : G.obj Y ⟶ X), ℱ.val.map f.op s = ℱ.val.map f.op t)
Goal: s = t
-- CategoryTheory.Functor.IsCoverDense.functorPullback_pushforward_covering
theorem functorPullback_pushforward_covering [G.IsLocallyFull K] {X : C}
    (T : K (G.obj X)) : (T.val.functorPullback G).functorPushforward G ∈ K (G.obj X) 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_5, u_1} C] {D : Type u_2} [CategoryTheory.Category.{u_6, u_2} D] {K : CategoryTheory.GrothendieckTopology D} {G : CategoryTheory.Functor C D} [G.IsCoverDense K] [G.IsLocallyFull K] {X : C} (T : ↑(K.sieves (G.obj X)))
Goal: CategoryTheory.Sieve.functorPushforward G (CategoryTheory.Sieve.functorPullback G ↑T) ∈ K.sieves (G.obj X)
-- CategoryTheory.Functor.IsCoverDense.homOver_app
@[simps!]
def homOver {ℱ : Dᵒᵖ ⥤ A} {ℱ' : Sheaf K A} (α : G.op ⋙ ℱ ⟶ G.op ⋙ ℱ'.val) (X : A) :
    G.op ⋙ ℱ ⋙ coyoneda.obj (op X) ⟶ G.op ⋙ (sheafOver ℱ' X).val 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_5, u_1} C] {D : Type u_2} [CategoryTheory.Category.{u_6, u_2} D] {K : CategoryTheory.GrothendieckTopology D} {A : Type u_4} [CategoryTheory.Category.{u_7, u_4} A] {G : CategoryTheory.Functor C D} {ℱ : CategoryTheory.Functor Dᵒᵖ A} {ℱ' : CategoryTheory.Sheaf K A} (α : G.op.comp ℱ ⟶ G.op.comp ℱ'.val) (X : A)
Goal: ∀ (X_1 : Cᵒᵖ) (a : (CategoryTheory.coyoneda.obj (Opposite.op X)).obj ((G.op.comp ℱ).obj X_1)),
  (CategoryTheory.Functor.IsCoverDense.homOver α X).app X_1 a = CategoryTheory.CategoryStruct.comp a (α.app X_1)
-- CategoryTheory.Functor.IsCoverDense.isoOver_inv_app
@[simps!]
def isoOver {ℱ ℱ' : Sheaf K A} (α : G.op ⋙ ℱ.val ≅ G.op ⋙ ℱ'.val) (X : A) :
    G.op ⋙ (sheafOver ℱ X).val ≅ G.op ⋙ (sheafOver ℱ' X).val 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_5, u_1} C] {D : Type u_2} [CategoryTheory.Category.{u_6, u_2} D] {K : CategoryTheory.GrothendieckTopology D} {A : Type u_4} [CategoryTheory.Category.{u_7, u_4} A] {G : CategoryTheory.Functor C D} {ℱ ℱ' : CategoryTheory.Sheaf K A} (α : G.op.comp ℱ.val ≅ G.op.comp ℱ'.val) (X : A)
Goal: ∀ (X_1 : Cᵒᵖ) (a : (CategoryTheory.coyoneda.obj (Opposite.op X)).obj ((G.op.comp ℱ'.val).obj X_1)),
  (CategoryTheory.Functor.IsCoverDense.isoOver α X).inv.app X_1 a = CategoryTheory.CategoryStruct.comp a (α.inv.app X_1)
-- CategoryTheory.Functor.IsCoverDense.isoOver_hom_app
@[simps!]
def isoOver {ℱ ℱ' : Sheaf K A} (α : G.op ⋙ ℱ.val ≅ G.op ⋙ ℱ'.val) (X : A) :
    G.op ⋙ (sheafOver ℱ X).val ≅ G.op ⋙ (sheafOver ℱ' X).val 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_5, u_1} C] {D : Type u_2} [CategoryTheory.Category.{u_6, u_2} D] {K : CategoryTheory.GrothendieckTopology D} {A : Type u_4} [CategoryTheory.Category.{u_7, u_4} A] {G : CategoryTheory.Functor C D} {ℱ ℱ' : CategoryTheory.Sheaf K A} (α : G.op.comp ℱ.val ≅ G.op.comp ℱ'.val) (X : A)
Goal: ∀ (X_1 : Cᵒᵖ) (a : (CategoryTheory.coyoneda.obj (Opposite.op X)).obj ((G.op.comp ℱ.val).obj X_1)),
  (CategoryTheory.Functor.IsCoverDense.isoOver α X).hom.app X_1 a = CategoryTheory.CategoryStruct.comp a (α.hom.app X_1)
-- CategoryTheory.Functor.IsCoverDense.sheaf_eq_amalgamation
theorem sheaf_eq_amalgamation (ℱ : Sheaf K A) {X : A} {U : D} {T : Sieve U} (hT)
    (x : FamilyOfElements _ T) (hx) (t) (h : x.IsAmalgamation t) :
    t = (ℱ.cond X T hT).amalgamate x hx 
Arguments: {D : Type u_2} [CategoryTheory.Category.{u_5, u_2} D] {K : CategoryTheory.GrothendieckTopology D} {A : Type u_4} [CategoryTheory.Category.{u_6, u_4} A] (ℱ : CategoryTheory.Sheaf K A) {X : A} {U : D} {T : CategoryTheory.Sieve U} (hT : T ∈ K.sieves U) (x : CategoryTheory.Presieve.FamilyOfElements (ℱ.val.comp (CategoryTheory.coyoneda.obj (Opposite.op X))) T.arrows) (hx : x.Compatible) (t : (ℱ.val.comp (CategoryTheory.coyoneda.obj (Opposite.op X))).obj (Opposite.op U)) (h : x.IsAmalgamation t)
Goal: t = ⋯.amalgamate x hx
-- CategoryTheory.Functor.IsCoverDense.Types.naturality_apply
theorem naturality_apply {X Y : C} (i : G.obj X ⟶ G.obj Y) (x) :
    ℱ'.1.map i.op (α.app _ x) = α.app _ (ℱ.map i.op x) 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_6, u_1} C] {D : Type u_2} [CategoryTheory.Category.{u_5, u_2} D] {K : CategoryTheory.GrothendieckTopology D} {G : CategoryTheory.Functor C D} [G.IsLocallyFull K] {ℱ : CategoryTheory.Functor Dᵒᵖ (Type v)} {ℱ' : CategoryTheory.SheafOfTypes K} (α : G.op.comp ℱ ⟶ G.op.comp ℱ'.val) {X Y : C} (i : G.obj X ⟶ G.obj Y) (x : (G.op.comp ℱ).obj (Opposite.op Y))
Goal: ℱ'.val.map i.op (α.app (Opposite.op Y) x) = α.app (Opposite.op X) (ℱ.map i.op x)
-- CategoryTheory.Functor.IsCoverDense.Types.naturality
@[reassoc]
theorem naturality {X Y : C} (i : G.obj X ⟶ G.obj Y) :
    α.app _ ≫ ℱ'.1.map i.op = ℱ.map i.op ≫ α.app _ 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_6, u_1} C] {D : Type u_2} [CategoryTheory.Category.{u_5, u_2} D] {K : CategoryTheory.GrothendieckTopology D} {G : CategoryTheory.Functor C D} [G.IsLocallyFull K] {ℱ : CategoryTheory.Functor Dᵒᵖ (Type v)} {ℱ' : CategoryTheory.SheafOfTypes K} (α : G.op.comp ℱ ⟶ G.op.comp ℱ'.val) {X Y : C} (i : G.obj X ⟶ G.obj Y)
Goal: CategoryTheory.CategoryStruct.comp (α.app (Opposite.op Y)) (ℱ'.val.map i.op) =
  CategoryTheory.CategoryStruct.comp (ℱ.map i.op) (α.app (Opposite.op X))
-- CategoryTheory.Functor.IsCoverDense.Types.pushforwardFamily_def
@[simp] theorem pushforwardFamily_def {X} (x : ℱ.obj (op X)) :
    pushforwardFamily α x = fun _ _ hf =>
  ℱ'.val.map hf.some.lift.op <| α.app (op _) (ℱ.map hf.some.map.op x : _) 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_6, u_1} C] {D : Type u_2} [CategoryTheory.Category.{u_5, u_2} D] {K : CategoryTheory.GrothendieckTopology D} {G : CategoryTheory.Functor C D} {ℱ : CategoryTheory.Functor Dᵒᵖ (Type v)} {ℱ' : CategoryTheory.SheafOfTypes K} (α : G.op.comp ℱ ⟶ G.op.comp ℱ'.val) {X : D} (x : ℱ.obj (Opposite.op X))
Goal: CategoryTheory.Functor.IsCoverDense.Types.pushforwardFamily α x = fun x_1 x_2 hf =>
  ℱ'.val.map (Nonempty.some hf).lift.op (α.app (Opposite.op (Nonempty.some hf).1) (ℱ.map (Nonempty.some hf).map.op x))
-- CategoryTheory.Functor.IsCoverDense.Types.pushforwardFamily_compatible
theorem pushforwardFamily_compatible {X} (x : ℱ.obj (op X)) :
    (pushforwardFamily α x).Compatible 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_6, u_1} C] {D : Type u_2} [CategoryTheory.Category.{u_5, u_2} D] {K : CategoryTheory.GrothendieckTopology D} {G : CategoryTheory.Functor C D} [G.IsCoverDense K] [G.IsLocallyFull K] {ℱ : CategoryTheory.Functor Dᵒᵖ (Type v)} {ℱ' : CategoryTheory.SheafOfTypes K} (α : G.op.comp ℱ ⟶ G.op.comp ℱ'.val) {X : D} (x : ℱ.obj (Opposite.op X))
Goal: (CategoryTheory.Functor.IsCoverDense.Types.pushforwardFamily α x).Compatible
-- CategoryTheory.Functor.IsCoverDense.Types.pushforwardFamily_apply
@[simp]
theorem pushforwardFamily_apply {X} (x : ℱ.obj (op X)) {Y : C} (f : G.obj Y ⟶ X) :
    pushforwardFamily α x f (Presieve.in_coverByImage G f) = α.app (op Y) (ℱ.map f.op x) 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_6, u_1} C] {D : Type u_2} [CategoryTheory.Category.{u_5, u_2} D] {K : CategoryTheory.GrothendieckTopology D} {G : CategoryTheory.Functor C D} [G.IsLocallyFull K] {ℱ : CategoryTheory.Functor Dᵒᵖ (Type v)} {ℱ' : CategoryTheory.SheafOfTypes K} (α : G.op.comp ℱ ⟶ G.op.comp ℱ'.val) {X : D} (x : ℱ.obj (Opposite.op X)) {Y : C} (f : G.obj Y ⟶ X)
Goal: CategoryTheory.Functor.IsCoverDense.Types.pushforwardFamily α x f ⋯ = α.app (Opposite.op Y) (ℱ.map f.op x)
-- CategoryTheory.Functor.IsCoverDense.Types.appHom_restrict
@[simp]
theorem appHom_restrict {X : D} {Y : C} (f : op X ⟶ op (G.obj Y)) (x) :
    ℱ'.val.map f (appHom α X x) = α.app (op Y) (ℱ.map f x) 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_6, u_1} C] {D : Type u_2} [CategoryTheory.Category.{u_5, u_2} D] {K : CategoryTheory.GrothendieckTopology D} {G : CategoryTheory.Functor C D} [G.IsCoverDense K] [G.IsLocallyFull K] {ℱ : CategoryTheory.Functor Dᵒᵖ (Type v)} {ℱ' : CategoryTheory.SheafOfTypes K} (α : G.op.comp ℱ ⟶ G.op.comp ℱ'.val) {X : D} {Y : C} (f : Opposite.op X ⟶ Opposite.op (G.obj Y)) (x : ℱ.obj (Opposite.op X))
Goal: ℱ'.val.map f (CategoryTheory.Functor.IsCoverDense.Types.appHom α X x) = α.app (Opposite.op Y) (ℱ.map f x)
-- CategoryTheory.Functor.IsCoverDense.Types.appHom_valid_glue
@[simp]
theorem appHom_valid_glue {X : D} {Y : C} (f : op X ⟶ op (G.obj Y)) :
    appHom α X ≫ ℱ'.val.map f = ℱ.map f ≫ α.app (op Y) 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_6, u_1} C] {D : Type u_2} [CategoryTheory.Category.{u_5, u_2} D] {K : CategoryTheory.GrothendieckTopology D} {G : CategoryTheory.Functor C D} [G.IsCoverDense K] [G.IsLocallyFull K] {ℱ : CategoryTheory.Functor Dᵒᵖ (Type v)} {ℱ' : CategoryTheory.SheafOfTypes K} (α : G.op.comp ℱ ⟶ G.op.comp ℱ'.val) {X : D} {Y : C} (f : Opposite.op X ⟶ Opposite.op (G.obj Y))
Goal: CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.IsCoverDense.Types.appHom α X) (ℱ'.val.map f) =
  CategoryTheory.CategoryStruct.comp (ℱ.map f) (α.app (Opposite.op Y))
-- CategoryTheory.Functor.IsCoverDense.Types.appIso_inv
@[simps]
noncomputable def appIso {ℱ ℱ' : SheafOfTypes.{v} K} (i : G.op ⋙ ℱ.val ≅ G.op ⋙ ℱ'.val)
    (X : D) : ℱ.val.obj (op X) ≅ ℱ'.val.obj (op X) 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_5, u_1} C] {D : Type u_2} [CategoryTheory.Category.{u_6, u_2} D] {K : CategoryTheory.GrothendieckTopology D} {G : CategoryTheory.Functor C D} [G.IsCoverDense K] [G.IsLocallyFull K] {ℱ ℱ' : CategoryTheory.SheafOfTypes K} (i : G.op.comp ℱ.val ≅ G.op.comp ℱ'.val) (X : D)
Goal: ∀ (a : ℱ'.val.obj (Opposite.op X)),
  (CategoryTheory.Functor.IsCoverDense.Types.appIso i X).inv a =
    CategoryTheory.Functor.IsCoverDense.Types.appHom i.inv X a
-- CategoryTheory.Functor.IsCoverDense.Types.appIso_hom
@[simps]
noncomputable def appIso {ℱ ℱ' : SheafOfTypes.{v} K} (i : G.op ⋙ ℱ.val ≅ G.op ⋙ ℱ'.val)
    (X : D) : ℱ.val.obj (op X) ≅ ℱ'.val.obj (op X) 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_5, u_1} C] {D : Type u_2} [CategoryTheory.Category.{u_6, u_2} D] {K : CategoryTheory.GrothendieckTopology D} {G : CategoryTheory.Functor C D} [G.IsCoverDense K] [G.IsLocallyFull K] {ℱ ℱ' : CategoryTheory.SheafOfTypes K} (i : G.op.comp ℱ.val ≅ G.op.comp ℱ'.val) (X : D)
Goal: ∀ (a : ℱ.val.obj (Opposite.op X)),
  (CategoryTheory.Functor.IsCoverDense.Types.appIso i X).hom a =
    CategoryTheory.Functor.IsCoverDense.Types.appHom i.hom X a
-- CategoryTheory.Functor.IsCoverDense.Types.presheafHom_app
@[simps]
noncomputable def presheafHom (α : G.op ⋙ ℱ ⟶ G.op ⋙ ℱ'.val) : ℱ ⟶ ℱ'.val 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_5, u_1} C] {D : Type u_2} [CategoryTheory.Category.{u_6, u_2} D] {K : CategoryTheory.GrothendieckTopology D} {G : CategoryTheory.Functor C D} [G.IsCoverDense K] [G.IsLocallyFull K] {ℱ : CategoryTheory.Functor Dᵒᵖ (Type v)} {ℱ' : CategoryTheory.SheafOfTypes K} (α : G.op.comp ℱ ⟶ G.op.comp ℱ'.val) (X : Dᵒᵖ)
Goal: ∀ (a : ℱ.obj (Opposite.op (Opposite.unop X))),
  (CategoryTheory.Functor.IsCoverDense.Types.presheafHom α).app X a =
    CategoryTheory.Functor.IsCoverDense.Types.appHom α (Opposite.unop X) a
-- CategoryTheory.Functor.IsCoverDense.Types.presheafIso_hom_app
@[simps!]
noncomputable def presheafIso {ℱ ℱ' : SheafOfTypes.{v} K} (i : G.op ⋙ ℱ.val ≅ G.op ⋙ ℱ'.val) :
    ℱ.val ≅ ℱ'.val 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_5, u_1} C] {D : Type u_2} [CategoryTheory.Category.{u_6, u_2} D] {K : CategoryTheory.GrothendieckTopology D} {G : CategoryTheory.Functor C D} [G.IsCoverDense K] [G.IsLocallyFull K] {ℱ ℱ' : CategoryTheory.SheafOfTypes K} (i : G.op.comp ℱ.val ≅ G.op.comp ℱ'.val) (X : Dᵒᵖ)
Goal: ∀ (a : ℱ.val.obj X),
  (CategoryTheory.Functor.IsCoverDense.Types.presheafIso i).hom.app X a =
    CategoryTheory.Functor.IsCoverDense.Types.appHom i.hom (Opposite.unop X) a
-- CategoryTheory.Functor.IsCoverDense.Types.presheafIso_inv_app
@[simps!]
noncomputable def presheafIso {ℱ ℱ' : SheafOfTypes.{v} K} (i : G.op ⋙ ℱ.val ≅ G.op ⋙ ℱ'.val) :
    ℱ.val ≅ ℱ'.val 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_5, u_1} C] {D : Type u_2} [CategoryTheory.Category.{u_6, u_2} D] {K : CategoryTheory.GrothendieckTopology D} {G : CategoryTheory.Functor C D} [G.IsCoverDense K] [G.IsLocallyFull K] {ℱ ℱ' : CategoryTheory.SheafOfTypes K} (i : G.op.comp ℱ.val ≅ G.op.comp ℱ'.val) (X : Dᵒᵖ)
Goal: ∀ (a : ℱ'.val.obj X),
  (CategoryTheory.Functor.IsCoverDense.Types.presheafIso i).inv.app X a =
    CategoryTheory.Functor.IsCoverDense.Types.appHom i.inv (Opposite.unop X) a
-- CategoryTheory.Functor.IsCoverDense.Types.sheafIso_hom_val
@[simps]
noncomputable def sheafIso {ℱ ℱ' : SheafOfTypes.{v} K} (i : G.op ⋙ ℱ.val ≅ G.op ⋙ ℱ'.val) :
    ℱ ≅ ℱ' 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_5, u_1} C] {D : Type u_2} [CategoryTheory.Category.{u_6, u_2} D] {K : CategoryTheory.GrothendieckTopology D} {G : CategoryTheory.Functor C D} [G.IsCoverDense K] [G.IsLocallyFull K] {ℱ ℱ' : CategoryTheory.SheafOfTypes K} (i : G.op.comp ℱ.val ≅ G.op.comp ℱ'.val)
Goal: (CategoryTheory.Functor.IsCoverDense.Types.sheafIso i).hom.val =
  (CategoryTheory.Functor.IsCoverDense.Types.presheafIso i).hom
-- CategoryTheory.Functor.IsCoverDense.Types.sheafIso_inv_val
@[simps]
noncomputable def sheafIso {ℱ ℱ' : SheafOfTypes.{v} K} (i : G.op ⋙ ℱ.val ≅ G.op ⋙ ℱ'.val) :
    ℱ ≅ ℱ' 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_5, u_1} C] {D : Type u_2} [CategoryTheory.Category.{u_6, u_2} D] {K : CategoryTheory.GrothendieckTopology D} {G : CategoryTheory.Functor C D} [G.IsCoverDense K] [G.IsLocallyFull K] {ℱ ℱ' : CategoryTheory.SheafOfTypes K} (i : G.op.comp ℱ.val ≅ G.op.comp ℱ'.val)
Goal: (CategoryTheory.Functor.IsCoverDense.Types.sheafIso i).inv.val =
  (CategoryTheory.Functor.IsCoverDense.Types.presheafIso i).inv
-- CategoryTheory.Functor.IsCoverDense.sheafCoyonedaHom_app
@[simps]
noncomputable def sheafCoyonedaHom (α : G.op ⋙ ℱ ⟶ G.op ⋙ ℱ'.val) :
    coyoneda ⋙ (whiskeringLeft Dᵒᵖ A (Type _)).obj ℱ ⟶
      coyoneda ⋙ (whiskeringLeft Dᵒᵖ A (Type _)).obj ℱ'.val 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_5, u_1} C] {D : Type u_2} [CategoryTheory.Category.{u_6, u_2} D] {K : CategoryTheory.GrothendieckTopology D} {A : Type u_4} [CategoryTheory.Category.{u_7, u_4} A] {G : CategoryTheory.Functor C D} [G.IsCoverDense K] [G.IsLocallyFull K] {ℱ : CategoryTheory.Functor Dᵒᵖ A} {ℱ' : CategoryTheory.Sheaf K A} (α : G.op.comp ℱ ⟶ G.op.comp ℱ'.val) (X : Aᵒᵖ)
Goal: (CategoryTheory.Functor.IsCoverDense.sheafCoyonedaHom α).app X =
  CategoryTheory.Functor.IsCoverDense.Types.presheafHom
    (CategoryTheory.Functor.IsCoverDense.homOver α (Opposite.unop X))
-- CategoryTheory.Functor.IsCoverDense.presheafIso_hom_app
@[simps!]
noncomputable def presheafIso {ℱ ℱ' : Sheaf K A} (i : G.op ⋙ ℱ.val ≅ G.op ⋙ ℱ'.val) :
    ℱ.val ≅ ℱ'.val 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_5, u_1} C] {D : Type u_2} [CategoryTheory.Category.{u_6, u_2} D] {K : CategoryTheory.GrothendieckTopology D} {A : Type u_4} [CategoryTheory.Category.{u_7, u_4} A] {G : CategoryTheory.Functor C D} [G.IsCoverDense K] [G.IsLocallyFull K] {ℱ ℱ' : CategoryTheory.Sheaf K A} (i : G.op.comp ℱ.val ≅ G.op.comp ℱ'.val) (X : Dᵒᵖ)
Goal: (CategoryTheory.Functor.IsCoverDense.presheafIso i).hom.app X =
  CategoryTheory.yoneda.preimage ((CategoryTheory.Functor.IsCoverDense.sheafYonedaHom i.hom).app X)