ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- CategoryTheory.FinitaryPreExtensive.hasFiniteCoproducts
class FinitaryPreExtensive (C : Type u) [Category.{v} C] : Prop where
  [hasFiniteCoproducts : HasFiniteCoproducts C]
  [hasPullbacksOfInclusions : HasPullbacksOfInclusions C]
    universal' : ∀ {X Y : C} (c : BinaryCofan X Y), IsColimit c → IsUniversalColimit c
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [self : CategoryTheory.FinitaryPreExtensive C]
Goal: CategoryTheory.Limits.HasFiniteCoproducts C
-- CategoryTheory.FinitaryExtensive.hasPullbacksOfInclusions
class FinitaryExtensive (C : Type u) [Category.{v} C] : Prop where
  [hasFiniteCoproducts : HasFiniteCoproducts C]
  [hasPullbacksOfInclusions : HasPullbacksOfInclusions C]
    van_kampen' : ∀ {X Y : C} (c : BinaryCofan X Y), IsColimit c → IsVanKampenColimit c
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [self : CategoryTheory.FinitaryExtensive C]
Goal: CategoryTheory.HasPullbacksOfInclusions C
-- CategoryTheory.FinitaryExtensive.van_kampen'
class FinitaryExtensive (C : Type u) [Category.{v} C] : Prop where
  [hasFiniteCoproducts : HasFiniteCoproducts C]
  [hasPullbacksOfInclusions : HasPullbacksOfInclusions C]
    van_kampen' : ∀ {X Y : C} (c : BinaryCofan X Y), IsColimit c → IsVanKampenColimit c
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [self : CategoryTheory.FinitaryExtensive C] {X Y : C} (c : CategoryTheory.Limits.BinaryCofan X Y)
Goal: CategoryTheory.Limits.IsColimit c → CategoryTheory.IsVanKampenColimit c
-- CategoryTheory.FinitaryExtensive.hasFiniteCoproducts
class FinitaryExtensive (C : Type u) [Category.{v} C] : Prop where
  [hasFiniteCoproducts : HasFiniteCoproducts C]
  [hasPullbacksOfInclusions : HasPullbacksOfInclusions C]
    van_kampen' : ∀ {X Y : C} (c : BinaryCofan X Y), IsColimit c → IsVanKampenColimit c
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [self : CategoryTheory.FinitaryExtensive C]
Goal: CategoryTheory.Limits.HasFiniteCoproducts C
-- CategoryTheory.FinitaryExtensive.vanKampen
theorem FinitaryExtensive.vanKampen [FinitaryExtensive C] {F : Discrete WalkingPair ⥤ C}
    (c : Cocone F) (hc : IsColimit c) : IsVanKampenColimit c 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.FinitaryExtensive C] {F : CategoryTheory.Functor (CategoryTheory.Discrete CategoryTheory.Limits.WalkingPair) C} (c : CategoryTheory.Limits.Cocone F) (hc : CategoryTheory.Limits.IsColimit c)
Goal: CategoryTheory.IsVanKampenColimit c
-- CategoryTheory.FinitaryExtensive.mono_inr_of_isColimit
theorem FinitaryExtensive.mono_inr_of_isColimit [FinitaryExtensive C] {c : BinaryCofan X Y}
    (hc : IsColimit c) : Mono c.inr 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.FinitaryExtensive C] {c : CategoryTheory.Limits.BinaryCofan X Y} (hc : CategoryTheory.Limits.IsColimit c)
Goal: CategoryTheory.Mono c.inr
-- CategoryTheory.FinitaryExtensive.mono_inl_of_isColimit
theorem FinitaryExtensive.mono_inl_of_isColimit [FinitaryExtensive C] {c : BinaryCofan X Y}
    (hc : IsColimit c) : Mono c.inl 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.FinitaryExtensive C] {c : CategoryTheory.Limits.BinaryCofan X Y} (hc : CategoryTheory.Limits.IsColimit c)
Goal: CategoryTheory.Mono c.inl
-- CategoryTheory.FinitaryExtensive.isPullback_initial_to_binaryCofan
theorem FinitaryExtensive.isPullback_initial_to_binaryCofan [FinitaryExtensive C]
    {c : BinaryCofan X Y} (hc : IsColimit c) :
    IsPullback (initial.to _) (initial.to _) c.inl c.inr 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.FinitaryExtensive C] {c : CategoryTheory.Limits.BinaryCofan X Y} (hc : CategoryTheory.Limits.IsColimit c)
Goal: CategoryTheory.IsPullback
  (CategoryTheory.Limits.initial.to
    ((CategoryTheory.Limits.pair X Y).obj { as := CategoryTheory.Limits.WalkingPair.left }))
  (CategoryTheory.Limits.initial.to
    ((CategoryTheory.Limits.pair X Y).obj { as := CategoryTheory.Limits.WalkingPair.right }))
  c.inl c.inr
-- CategoryTheory.finitaryExtensive_iff_of_isTerminal
theorem finitaryExtensive_iff_of_isTerminal (C : Type u) [Category.{v} C] [HasFiniteCoproducts C]
    [HasPullbacksOfInclusions C]
    (T : C) (HT : IsTerminal T) (c₀ : BinaryCofan T T) (hc₀ : IsColimit c₀) :
    FinitaryExtensive C ↔ IsVanKampenColimit c₀ 
Arguments: (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasFiniteCoproducts C] [CategoryTheory.HasPullbacksOfInclusions C] (T : C) (HT : CategoryTheory.Limits.IsTerminal T) (c₀ : CategoryTheory.Limits.BinaryCofan T T) (hc₀ : CategoryTheory.Limits.IsColimit c₀)
Goal: CategoryTheory.FinitaryExtensive C ↔ CategoryTheory.IsVanKampenColimit c₀
-- CategoryTheory.finitaryExtensive_of_reflective
theorem finitaryExtensive_of_reflective
    [HasFiniteCoproducts D] [HasPullbacksOfInclusions D] [FinitaryExtensive C]
    {Gl : C ⥤ D} {Gr : D ⥤ C} (adj : Gl ⊣ Gr) [Gr.Full] [Gr.Faithful]
    [∀ X Y (f : X ⟶ Gl.obj Y), HasPullback (Gr.map f) (adj.unit.app Y)]
    [∀ X Y (f : X ⟶ Gl.obj Y), PreservesLimit (cospan (Gr.map f) (adj.unit.app Y)) Gl]
    [PreservesPullbacksOfInclusions Gl] :
    FinitaryExtensive D 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u''} [CategoryTheory.Category.{v'', u''} D] [CategoryTheory.Limits.HasFiniteCoproducts D] [CategoryTheory.HasPullbacksOfInclusions D] [CategoryTheory.FinitaryExtensive C] {Gl : CategoryTheory.Functor C D} {Gr : CategoryTheory.Functor D C} (adj : Gl ⊣ Gr) [Gr.Full] [Gr.Faithful] [∀ (X : D) (Y : C) (f : X ⟶ Gl.obj Y), CategoryTheory.Limits.HasPullback (Gr.map f) (adj.unit.app Y)] [(X : D) →
    (Y : C) →
      (f : X ⟶ Gl.obj Y) →
        CategoryTheory.Limits.PreservesLimit (CategoryTheory.Limits.cospan (Gr.map f) (adj.unit.app Y)) Gl] [CategoryTheory.PreservesPullbacksOfInclusions Gl]
Goal: CategoryTheory.FinitaryExtensive D
-- CategoryTheory.finitaryExtensive_of_preserves_and_reflects
theorem finitaryExtensive_of_preserves_and_reflects (F : C ⥤ D) [FinitaryExtensive D]
    [HasFiniteCoproducts C] [HasPullbacksOfInclusions C]
    [PreservesPullbacksOfInclusions F]
    [ReflectsLimitsOfShape WalkingCospan F] [PreservesColimitsOfShape (Discrete WalkingPair) F]
    [ReflectsColimitsOfShape (Discrete WalkingPair) F] : FinitaryExtensive C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u''} [CategoryTheory.Category.{v'', u''} D] (F : CategoryTheory.Functor C D) [CategoryTheory.FinitaryExtensive D] [CategoryTheory.Limits.HasFiniteCoproducts C] [CategoryTheory.HasPullbacksOfInclusions C] [CategoryTheory.PreservesPullbacksOfInclusions F] [CategoryTheory.Limits.ReflectsLimitsOfShape CategoryTheory.Limits.WalkingCospan F] [CategoryTheory.Limits.PreservesColimitsOfShape (CategoryTheory.Discrete CategoryTheory.Limits.WalkingPair) F] [CategoryTheory.Limits.ReflectsColimitsOfShape (CategoryTheory.Discrete CategoryTheory.Limits.WalkingPair) F]
Goal: CategoryTheory.FinitaryExtensive C
-- CategoryTheory.finitaryExtensive_of_preserves_and_reflects_isomorphism
theorem finitaryExtensive_of_preserves_and_reflects_isomorphism (F : C ⥤ D) [FinitaryExtensive D]
    [HasFiniteCoproducts C] [HasPullbacks C] [PreservesLimitsOfShape WalkingCospan F]
    [PreservesColimitsOfShape (Discrete WalkingPair) F] [F.ReflectsIsomorphisms] :
    FinitaryExtensive C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u''} [CategoryTheory.Category.{v'', u''} D] (F : CategoryTheory.Functor C D) [CategoryTheory.FinitaryExtensive D] [CategoryTheory.Limits.HasFiniteCoproducts C] [CategoryTheory.Limits.HasPullbacks C] [CategoryTheory.Limits.PreservesLimitsOfShape CategoryTheory.Limits.WalkingCospan F] [CategoryTheory.Limits.PreservesColimitsOfShape (CategoryTheory.Discrete CategoryTheory.Limits.WalkingPair) F] [F.ReflectsIsomorphisms]
Goal: CategoryTheory.FinitaryExtensive C
-- CategoryTheory.FinitaryPreExtensive.isUniversal_finiteCoproducts_Fin
theorem FinitaryPreExtensive.isUniversal_finiteCoproducts_Fin [FinitaryPreExtensive C] {n : ℕ}
    {F : Discrete (Fin n) ⥤ C} {c : Cocone F} (hc : IsColimit c) : IsUniversalColimit c 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.FinitaryPreExtensive C] {n : ℕ} {F : CategoryTheory.Functor (CategoryTheory.Discrete (Fin n)) C} {c : CategoryTheory.Limits.Cocone F} (hc : CategoryTheory.Limits.IsColimit c)
Goal: CategoryTheory.IsUniversalColimit c
-- CategoryTheory.FinitaryPreExtensive.isUniversal_finiteCoproducts
theorem FinitaryPreExtensive.isUniversal_finiteCoproducts [FinitaryPreExtensive C] {ι : Type*}
    [Finite ι] {F : Discrete ι ⥤ C} {c : Cocone F} (hc : IsColimit c) : IsUniversalColimit c 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.FinitaryPreExtensive C] {ι : Type u_1} [Finite ι] {F : CategoryTheory.Functor (CategoryTheory.Discrete ι) C} {c : CategoryTheory.Limits.Cocone F} (hc : CategoryTheory.Limits.IsColimit c)
Goal: CategoryTheory.IsUniversalColimit c
-- CategoryTheory.FinitaryExtensive.isVanKampen_finiteCoproducts_Fin
theorem FinitaryExtensive.isVanKampen_finiteCoproducts_Fin [FinitaryExtensive C] {n : ℕ}
    {F : Discrete (Fin n) ⥤ C} {c : Cocone F} (hc : IsColimit c) : IsVanKampenColimit c 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.FinitaryExtensive C] {n : ℕ} {F : CategoryTheory.Functor (CategoryTheory.Discrete (Fin n)) C} {c : CategoryTheory.Limits.Cocone F} (hc : CategoryTheory.Limits.IsColimit c)
Goal: CategoryTheory.IsVanKampenColimit c
-- CategoryTheory.FinitaryExtensive.isVanKampen_finiteCoproducts
theorem FinitaryExtensive.isVanKampen_finiteCoproducts [FinitaryExtensive C] {ι : Type*}
    [Finite ι] {F : Discrete ι ⥤ C} {c : Cocone F} (hc : IsColimit c) : IsVanKampenColimit c 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.FinitaryExtensive C] {ι : Type u_1} [Finite ι] {F : CategoryTheory.Functor (CategoryTheory.Discrete ι) C} {c : CategoryTheory.Limits.Cocone F} (hc : CategoryTheory.Limits.IsColimit c)
Goal: CategoryTheory.IsVanKampenColimit c
-- CategoryTheory.FinitaryPreExtensive.hasPullbacks_of_is_coproduct
lemma FinitaryPreExtensive.hasPullbacks_of_is_coproduct [FinitaryPreExtensive C] {ι : Type*}
    [Finite ι] {F : Discrete ι ⥤ C} {c : Cocone F} (hc : IsColimit c) (i : Discrete ι) {X : C}
    (g : X ⟶ _) : HasPullback g (c.ι.app i) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.FinitaryPreExtensive C] {ι : Type u_1} [Finite ι] {F : CategoryTheory.Functor (CategoryTheory.Discrete ι) C} {c : CategoryTheory.Limits.Cocone F} (hc : CategoryTheory.Limits.IsColimit c) (i : CategoryTheory.Discrete ι) {X : C} (g : X ⟶ ((CategoryTheory.Functor.const (CategoryTheory.Discrete ι)).obj c.pt).obj i)
Goal: CategoryTheory.Limits.HasPullback g (c.ι.app i)
-- CategoryTheory.FinitaryExtensive.mono_ι
lemma FinitaryExtensive.mono_ι [FinitaryExtensive C] {ι : Type*} [Finite ι] {F : Discrete ι ⥤ C}
    {c : Cocone F} (hc : IsColimit c) (i : Discrete ι) :
    Mono (c.ι.app i) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.FinitaryExtensive C] {ι : Type u_1} [Finite ι] {F : CategoryTheory.Functor (CategoryTheory.Discrete ι) C} {c : CategoryTheory.Limits.Cocone F} (hc : CategoryTheory.Limits.IsColimit c) (i : CategoryTheory.Discrete ι)
Goal: CategoryTheory.Mono (c.ι.app i)
-- CategoryTheory.FinitaryExtensive.isPullback_initial_to
lemma FinitaryExtensive.isPullback_initial_to [FinitaryExtensive C]
    {ι : Type*} [Finite ι] {F : Discrete ι ⥤ C}
    {c : Cocone F} (hc : IsColimit c) (i j : Discrete ι) (e : i ≠ j) :
    IsPullback (initial.to _) (initial.to _) (c.ι.app i) (c.ι.app j) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.FinitaryExtensive C] {ι : Type u_1} [Finite ι] {F : CategoryTheory.Functor (CategoryTheory.Discrete ι) C} {c : CategoryTheory.Limits.Cocone F} (hc : CategoryTheory.Limits.IsColimit c) (i j : CategoryTheory.Discrete ι) (e : i ≠ j)
Goal: CategoryTheory.IsPullback (CategoryTheory.Limits.initial.to (F.obj i)) (CategoryTheory.Limits.initial.to (F.obj j))
  (c.ι.app i) (c.ι.app j)
-- CategoryTheory.FinitaryExtensive.isPullback_initial_to_sigma_ι
lemma FinitaryExtensive.isPullback_initial_to_sigma_ι [FinitaryExtensive C] {ι : Type*} [Finite ι]
    (X : ι → C) (i j : ι) (e : i ≠ j) :
    IsPullback (initial.to _) (initial.to _) (Sigma.ι X i) (Sigma.ι X j) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.FinitaryExtensive C] {ι : Type u_1} [Finite ι] (X : ι → C) (i j : ι) (e : i ≠ j)
Goal: CategoryTheory.IsPullback (CategoryTheory.Limits.initial.to (X i)) (CategoryTheory.Limits.initial.to (X j))
  (CategoryTheory.Limits.Sigma.ι X i) (CategoryTheory.Limits.Sigma.ι X j)
-- CategoryTheory.FinitaryPreExtensive.sigma_desc_iso
lemma FinitaryPreExtensive.sigma_desc_iso [FinitaryPreExtensive C] {α : Type} [Finite α] {X : C}
    {Z : α → C} (π : (a : α) → Z a ⟶ X) {Y : C} (f : Y ⟶ X) (hπ : IsIso (Sigma.desc π)) :
    IsIso (Sigma.desc ((fun _ ↦ pullback.fst _ _) : (a : α) → pullback f (π a) ⟶ _)) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.FinitaryPreExtensive C] {α : Type} [Finite α] {X : C} {Z : α → C} (π : (a : α) → Z a ⟶ X) {Y : C} (f : Y ⟶ X) (hπ : CategoryTheory.IsIso (CategoryTheory.Limits.Sigma.desc π))
Goal: CategoryTheory.IsIso (CategoryTheory.Limits.Sigma.desc fun x => CategoryTheory.Limits.pullback.fst f (π x))
-- CategoryTheory.Presieve.firstMap_eq_secondMap
theorem firstMap_eq_secondMap : Equalizer.Presieve.Arrows.firstMap F X c.inj =
    Equalizer.Presieve.Arrows.secondMap F X c.inj 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {I : C} (F : CategoryTheory.Functor Cᵒᵖ (Type w)) (hF :
  CategoryTheory.Presieve.IsSheafFor F (CategoryTheory.Presieve.ofArrows Empty.elim fun a => instIsEmptyEmpty.elim a)) (hI : CategoryTheory.Limits.IsInitial I) {α : Type} {X : α → C} (c : CategoryTheory.Limits.Cofan X) [(CategoryTheory.Presieve.ofArrows X c.inj).hasPullbacks] [CategoryTheory.Limits.HasInitial C] [∀ (i : α), CategoryTheory.Mono (c.inj i)] (hd :
  Pairwise fun i j =>
    CategoryTheory.IsPullback (CategoryTheory.Limits.initial.to (X i)) (CategoryTheory.Limits.initial.to (X j))
      (c.inj i) (c.inj j))
Goal: CategoryTheory.Equalizer.Presieve.Arrows.firstMap F X c.inj =
  CategoryTheory.Equalizer.Presieve.Arrows.secondMap F X c.inj
-- CategoryTheory.Presieve.piComparison_fac
theorem piComparison_fac :
    have : HasCoproduct X := ⟨⟨c, hc⟩⟩
    piComparison F (fun x ↦ op (X x)) = F.map (opCoproductIsoProduct' hc (productIsProduct _)).inv ≫
    Equalizer.Presieve.Arrows.forkMap F X c.inj 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] (F : CategoryTheory.Functor Cᵒᵖ (Type w)) {α : Type} {X : α → C} (c : CategoryTheory.Limits.Cofan X) (hc : CategoryTheory.Limits.IsColimit c)
Goal: let_fun this := ⋯;
(CategoryTheory.Limits.piComparison F fun x => Opposite.op (X x)) =
  CategoryTheory.CategoryStruct.comp
    (F.map
      (CategoryTheory.Limits.opCoproductIsoProduct' hc
          (CategoryTheory.Limits.productIsProduct fun x => Opposite.op (X x))).inv)
    (CategoryTheory.Equalizer.Presieve.Arrows.forkMap F X c.inj)
-- CategoryTheory.Presieve.isSheafFor_of_preservesProduct
theorem isSheafFor_of_preservesProduct [PreservesLimit (Discrete.functor (fun x ↦ op (X x))) F] :
    (ofArrows X c.inj).IsSheafFor F 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] (F : CategoryTheory.Functor Cᵒᵖ (Type w)) {α : Type} {X : α → C} (c : CategoryTheory.Limits.Cofan X) (hc : CategoryTheory.Limits.IsColimit c) [(CategoryTheory.Presieve.ofArrows X c.inj).hasPullbacks] [CategoryTheory.Limits.PreservesLimit (CategoryTheory.Discrete.functor fun x => Opposite.op (X x)) F]
Goal: CategoryTheory.Presieve.IsSheafFor F (CategoryTheory.Presieve.ofArrows X c.inj)
-- CategoryTheory.Presieve.isSheafFor_iff_preservesProduct
theorem isSheafFor_iff_preservesProduct : (ofArrows X c.inj).IsSheafFor F ↔
    Nonempty (PreservesLimit (Discrete.functor (fun x ↦ op (X x))) F) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {I : C} (F : CategoryTheory.Functor Cᵒᵖ (Type w)) (hF :
  CategoryTheory.Presieve.IsSheafFor F (CategoryTheory.Presieve.ofArrows Empty.elim fun a => instIsEmptyEmpty.elim a)) (hI : CategoryTheory.Limits.IsInitial I) {α : Type} {X : α → C} (c : CategoryTheory.Limits.Cofan X) (hc : CategoryTheory.Limits.IsColimit c) [(CategoryTheory.Presieve.ofArrows X c.inj).hasPullbacks] [CategoryTheory.Limits.HasInitial C] [∀ (i : α), CategoryTheory.Mono (c.inj i)] (hd :
  Pairwise fun i j =>
    CategoryTheory.IsPullback (CategoryTheory.Limits.initial.to (X i)) (CategoryTheory.Limits.initial.to (X j))
      (c.inj i) (c.inj j))
Goal: CategoryTheory.Presieve.IsSheafFor F (CategoryTheory.Presieve.ofArrows X c.inj) ↔
  Nonempty (CategoryTheory.Limits.PreservesLimit (CategoryTheory.Discrete.functor fun x => Opposite.op (X x)) F)
-- CategoryTheory.Presheaf.isLocallyInjective_whisker
lemma isLocallyInjective_whisker [H.IsCocontinuous J K] [IsLocallyInjective K f] :
    IsLocallyInjective J (whiskerLeft H.op f) 
Arguments: {C : Type u_1} {D : Type u_2} {A : Type u_3} [CategoryTheory.Category.{u_4, u_1} C] [CategoryTheory.Category.{u_5, u_2} D] [CategoryTheory.Category.{u_7, u_3} A] (J : CategoryTheory.GrothendieckTopology C) (K : CategoryTheory.GrothendieckTopology D) (H : C ⥤ D) {F G : Dᵒᵖ ⥤ A} (f : F ⟶ G) [CategoryTheory.ConcreteCategory A] [H.IsCocontinuous J K] [CategoryTheory.Presheaf.IsLocallyInjective K f]
Goal: CategoryTheory.Presheaf.IsLocallyInjective J (CategoryTheory.whiskerLeft H.op f)
-- CategoryTheory.Presheaf.isLocallyInjective_of_whisker
lemma isLocallyInjective_of_whisker (hH : CoverPreserving J K H)
    [H.IsCoverDense K] [IsLocallyInjective J (whiskerLeft H.op f)] : IsLocallyInjective K f 
Arguments: {C : Type u_1} {D : Type u_2} {A : Type u_3} [CategoryTheory.Category.{u_4, u_1} C] [CategoryTheory.Category.{u_5, u_2} D] [CategoryTheory.Category.{u_7, u_3} A] (J : CategoryTheory.GrothendieckTopology C) (K : CategoryTheory.GrothendieckTopology D) (H : C ⥤ D) {F G : Dᵒᵖ ⥤ A} (f : F ⟶ G) [CategoryTheory.ConcreteCategory A] (hH : CategoryTheory.CoverPreserving J K H) [H.IsCoverDense K] [CategoryTheory.Presheaf.IsLocallyInjective J (CategoryTheory.whiskerLeft H.op f)]
Goal: CategoryTheory.Presheaf.IsLocallyInjective K f
-- CategoryTheory.Presheaf.isLocallyInjective_whisker_iff
lemma isLocallyInjective_whisker_iff (hH : CoverPreserving J K H) [H.IsCocontinuous J K]
    [H.IsCoverDense K] : IsLocallyInjective J (whiskerLeft H.op f) ↔ IsLocallyInjective K f 
Arguments: {C : Type u_1} {D : Type u_2} {A : Type u_3} [CategoryTheory.Category.{u_4, u_1} C] [CategoryTheory.Category.{u_5, u_2} D] [CategoryTheory.Category.{u_7, u_3} A] (J : CategoryTheory.GrothendieckTopology C) (K : CategoryTheory.GrothendieckTopology D) (H : C ⥤ D) {F G : Dᵒᵖ ⥤ A} (f : F ⟶ G) [CategoryTheory.ConcreteCategory A] (hH : CategoryTheory.CoverPreserving J K H) [H.IsCocontinuous J K] [H.IsCoverDense K]
Goal: CategoryTheory.Presheaf.IsLocallyInjective J (CategoryTheory.whiskerLeft H.op f) ↔
  CategoryTheory.Presheaf.IsLocallyInjective K f
-- CategoryTheory.Presheaf.isLocallySurjective_whisker
lemma isLocallySurjective_whisker [H.IsCocontinuous J K] [IsLocallySurjective K f] :
    IsLocallySurjective J (whiskerLeft H.op f) 
Arguments: {C : Type u_1} {D : Type u_2} {A : Type u_3} [CategoryTheory.Category.{u_4, u_1} C] [CategoryTheory.Category.{u_5, u_2} D] [CategoryTheory.Category.{u_6, u_3} A] (J : CategoryTheory.GrothendieckTopology C) (K : CategoryTheory.GrothendieckTopology D) (H : C ⥤ D) {F G : Dᵒᵖ ⥤ A} (f : F ⟶ G) [CategoryTheory.ConcreteCategory A] [H.IsCocontinuous J K] [CategoryTheory.Presheaf.IsLocallySurjective K f]
Goal: CategoryTheory.Presheaf.IsLocallySurjective J (CategoryTheory.whiskerLeft H.op f)
-- CategoryTheory.Presheaf.isLocallySurjective_of_whisker
lemma isLocallySurjective_of_whisker (hH : CoverPreserving J K H)
    [H.IsCoverDense K] [IsLocallySurjective J (whiskerLeft H.op f)] : IsLocallySurjective K f 
Arguments: {C : Type u_1} {D : Type u_2} {A : Type u_3} [CategoryTheory.Category.{u_4, u_1} C] [CategoryTheory.Category.{u_5, u_2} D] [CategoryTheory.Category.{u_6, u_3} A] (J : CategoryTheory.GrothendieckTopology C) (K : CategoryTheory.GrothendieckTopology D) (H : C ⥤ D) {F G : Dᵒᵖ ⥤ A} (f : F ⟶ G) [CategoryTheory.ConcreteCategory A] (hH : CategoryTheory.CoverPreserving J K H) [H.IsCoverDense K] [CategoryTheory.Presheaf.IsLocallySurjective J (CategoryTheory.whiskerLeft H.op f)]
Goal: CategoryTheory.Presheaf.IsLocallySurjective K f
-- CategoryTheory.Presheaf.isLocallySurjective_whisker_iff
lemma isLocallySurjective_whisker_iff (hH : CoverPreserving J K H) [H.IsCocontinuous J K]
    [H.IsCoverDense K] : IsLocallySurjective J (whiskerLeft H.op f) ↔ IsLocallySurjective K f 
Arguments: {C : Type u_1} {D : Type u_2} {A : Type u_3} [CategoryTheory.Category.{u_4, u_1} C] [CategoryTheory.Category.{u_5, u_2} D] [CategoryTheory.Category.{u_6, u_3} A] (J : CategoryTheory.GrothendieckTopology C) (K : CategoryTheory.GrothendieckTopology D) (H : C ⥤ D) {F G : Dᵒᵖ ⥤ A} (f : F ⟶ G) [CategoryTheory.ConcreteCategory A] (hH : CategoryTheory.CoverPreserving J K H) [H.IsCocontinuous J K] [H.IsCoverDense K]
Goal: CategoryTheory.Presheaf.IsLocallySurjective J (CategoryTheory.whiskerLeft H.op f) ↔
  CategoryTheory.Presheaf.IsLocallySurjective K f
-- CategoryTheory.GrothendieckTopology.MayerVietorisSquare.mono_f₁₃
structure MayerVietorisSquare extends Square C where
  mono_f₁₃ : Mono toSquare.f₁₃ := by infer_instance
    isPushout : (toSquare.map (yoneda ⋙ presheafToSheaf J _)).IsPushout
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {J : CategoryTheory.GrothendieckTopology C} [CategoryTheory.HasWeakSheafify J (Type v)] (self : J.MayerVietorisSquare)
Goal: CategoryTheory.Mono self.f₁₃
-- CategoryTheory.GrothendieckTopology.MayerVietorisSquare.isPushout
structure MayerVietorisSquare extends Square C where
  mono_f₁₃ : Mono toSquare.f₁₃ := by infer_instance
    isPushout : (toSquare.map (yoneda ⋙ presheafToSheaf J _)).IsPushout
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {J : CategoryTheory.GrothendieckTopology C} [CategoryTheory.HasWeakSheafify J (Type v)] (self : J.MayerVietorisSquare)
Goal: (self.map (CategoryTheory.yoneda.comp (CategoryTheory.presheafToSheaf J (Type v)))).IsPushout
-- CategoryTheory.PreOneHypercover.map_X
@[simps]
def map : PreOneHypercover (F.obj X) 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {X : C} (E : CategoryTheory.PreOneHypercover X) (F : CategoryTheory.Functor C D) (i : E.I₀)
Goal: (E.map F).X i = F.obj (E.X i)
-- CategoryTheory.PreOneHypercover.map_p₂
@[simps]
def map : PreOneHypercover (F.obj X) 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {X : C} (E : CategoryTheory.PreOneHypercover X) (F : CategoryTheory.Functor C D)
Goal: ∀ (x x_1 : E.I₀) (j : E.I₁ x x_1), (E.map F).p₂ j = F.map (E.p₂ j)
-- CategoryTheory.PreOneHypercover.map_p₁
@[simps]
def map : PreOneHypercover (F.obj X) 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {X : C} (E : CategoryTheory.PreOneHypercover X) (F : CategoryTheory.Functor C D)
Goal: ∀ (x x_1 : E.I₀) (j : E.I₁ x x_1), (E.map F).p₁ j = F.map (E.p₁ j)
-- CategoryTheory.PreOneHypercover.map_I₀
@[simps]
def map : PreOneHypercover (F.obj X) 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {X : C} (E : CategoryTheory.PreOneHypercover X) (F : CategoryTheory.Functor C D)
Goal: (E.map F).I₀ = E.I₀
-- CategoryTheory.PreOneHypercover.map_f
@[simps]
def map : PreOneHypercover (F.obj X) 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {X : C} (E : CategoryTheory.PreOneHypercover X) (F : CategoryTheory.Functor C D) (i : E.I₀)
Goal: (E.map F).f i = F.map (E.f i)
-- CategoryTheory.PreOneHypercover.map_Y
@[simps]
def map : PreOneHypercover (F.obj X) 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {X : C} (E : CategoryTheory.PreOneHypercover X) (F : CategoryTheory.Functor C D)
Goal: ∀ (x x_1 : E.I₀) (j : E.I₁ x x_1), (E.map F).Y j = F.obj (E.Y j)