ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Field.isSeparable_algebraMap
theorem isSeparable_algebraMap (x : F) : IsSeparable F ((algebraMap F E) x) 
Arguments: {F : Type u} (E : Type v) [Field F] [Field E] [Algebra F E] (x : F)
Goal: IsSeparable F ((algebraMap F E) x)
-- Field.isSeparable_mul
theorem isSeparable_mul {x y : E} (hx : IsSeparable F x) (hy : IsSeparable F y) :
    IsSeparable F (x * y) 
Arguments: {F : Type u} {E : Type v} [Field F] [Field E] [Algebra F E] {x y : E} (hx : IsSeparable F x) (hy : IsSeparable F y)
Goal: IsSeparable F (x * y)
-- Field.isSeparable_add
theorem isSeparable_add {x y : E} (hx : IsSeparable F x) (hy : IsSeparable F y) :
    IsSeparable F (x + y) 
Arguments: {F : Type u} {E : Type v} [Field F] [Field E] [Algebra F E] {x y : E} (hx : IsSeparable F x) (hy : IsSeparable F y)
Goal: IsSeparable F (x + y)
-- Field.isSeparable_inv
theorem isSeparable_inv {x : E} (hx : IsSeparable F x) : IsSeparable F x⁻¹ 
Arguments: {F : Type u} {E : Type v} [Field F] [Field E] [Algebra F E] {x : E} (hx : IsSeparable F x)
Goal: IsSeparable F x⁻¹
-- perfectField_iff_splits_of_natSepDegree_eq_one
theorem perfectField_iff_splits_of_natSepDegree_eq_one (F : Type*) [Field F] :
    PerfectField F ↔ ∀ f : F[X], f.natSepDegree = 1 → f.Splits (RingHom.id F) 
Arguments: (F : Type u_1) [Field F]
Goal: PerfectField F ↔ ∀ (f : F[X]), f.natSepDegree = 1 → Polynomial.Splits (RingHom.id F) f
-- CategoryTheory.GrothendieckTopology.Subpresheaf.map
@[ext]
structure Subpresheaf (F : Cᵒᵖ ⥤ Type w) where
    obj : ∀ U, Set (F.obj U)
    map : ∀ {U V : Cᵒᵖ} (i : U ⟶ V), obj U ⊆ F.map i ⁻¹' obj V
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F : Cᵒᵖ ⥤ Type w} (self : CategoryTheory.GrothendieckTopology.Subpresheaf F) {U V : Cᵒᵖ} (i : U ⟶ V)
Goal: self.obj U ⊆ F.map i ⁻¹' self.obj V
-- CategoryTheory.GrothendieckTopology.Subpresheaf.toPresheaf_obj
@[simps!]
def Subpresheaf.toPresheaf : Cᵒᵖ ⥤ Type w 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F : Cᵒᵖ ⥤ Type w} (G : CategoryTheory.GrothendieckTopology.Subpresheaf F) (U : Cᵒᵖ)
Goal: G.toPresheaf.obj U = ↑(G.obj U)
-- CategoryTheory.GrothendieckTopology.Subpresheaf.toPresheaf_map_coe
@[simps!]
def Subpresheaf.toPresheaf : Cᵒᵖ ⥤ Type w 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F : Cᵒᵖ ⥤ Type w} (G : CategoryTheory.GrothendieckTopology.Subpresheaf F) (U V : Cᵒᵖ) (i : U ⟶ V) (x : ↑(G.obj U))
Goal: ↑(G.toPresheaf.map i x) = F.map i ↑x
-- CategoryTheory.GrothendieckTopology.Subpresheaf.ι_app
@[simps]
def Subpresheaf.ι : G.toPresheaf ⟶ F 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F : Cᵒᵖ ⥤ Type w} (G : CategoryTheory.GrothendieckTopology.Subpresheaf F) (U : Cᵒᵖ) (x : G.toPresheaf.obj U)
Goal: G.ι.app U x = ↑x
-- CategoryTheory.GrothendieckTopology.Subpresheaf.homOfLe_app_coe
@[simps]
def Subpresheaf.homOfLe {G G' : Subpresheaf F} (h : G ≤ G') : G.toPresheaf ⟶ G'.toPresheaf 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F : Cᵒᵖ ⥤ Type w} {G G' : CategoryTheory.GrothendieckTopology.Subpresheaf F} (h : G ≤ G') (U : Cᵒᵖ) (x : G.toPresheaf.obj U)
Goal: ↑((CategoryTheory.GrothendieckTopology.Subpresheaf.homOfLe h).app U x) = ↑x
-- CategoryTheory.GrothendieckTopology.Subpresheaf.homOfLe_ι
@[reassoc (attr := simp)]
theorem Subpresheaf.homOfLe_ι {G G' : Subpresheaf F} (h : G ≤ G') :
    Subpresheaf.homOfLe h ≫ G'.ι = G.ι 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F : Cᵒᵖ ⥤ Type w} {G G' : CategoryTheory.GrothendieckTopology.Subpresheaf F} (h : G ≤ G')
Goal: CategoryTheory.GrothendieckTopology.Subpresheaf.homOfLe h ≫ G'.ι = G.ι
-- CategoryTheory.GrothendieckTopology.Subpresheaf.eq_top_iff_isIso
theorem Subpresheaf.eq_top_iff_isIso : G = ⊤ ↔ IsIso G.ι 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F : Cᵒᵖ ⥤ Type w} (G : CategoryTheory.GrothendieckTopology.Subpresheaf F)
Goal: G = ⊤ ↔ CategoryTheory.IsIso G.ι
-- CategoryTheory.GrothendieckTopology.Subpresheaf.lift_app_coe
@[simps!]
def Subpresheaf.lift (f : F' ⟶ F) (hf : ∀ U x, f.app U x ∈ G.obj U) : F' ⟶ G.toPresheaf 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F F' : Cᵒᵖ ⥤ Type w} (G : CategoryTheory.GrothendieckTopology.Subpresheaf F) (f : F' ⟶ F) (hf : ∀ (U : Cᵒᵖ) (x : F'.obj U), f.app U x ∈ G.obj U) (U : Cᵒᵖ) (x : F'.obj U)
Goal: ↑((G.lift f hf).app U x) = f.app U x
-- CategoryTheory.GrothendieckTopology.Subpresheaf.lift_ι
@[reassoc (attr := simp)]
theorem Subpresheaf.lift_ι (f : F' ⟶ F) (hf : ∀ U x, f.app U x ∈ G.obj U) :
    G.lift f hf ≫ G.ι = f 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F F' : Cᵒᵖ ⥤ Type w} (G : CategoryTheory.GrothendieckTopology.Subpresheaf F) (f : F' ⟶ F) (hf : ∀ (U : Cᵒᵖ) (x : F'.obj U), f.app U x ∈ G.obj U)
Goal: G.lift f hf ≫ G.ι = f
-- CategoryTheory.GrothendieckTopology.Subpresheaf.sieveOfSection_apply
@[simps]
def Subpresheaf.sieveOfSection {U : Cᵒᵖ} (s : F.obj U) : Sieve (unop U) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F : Cᵒᵖ ⥤ Type w} (G : CategoryTheory.GrothendieckTopology.Subpresheaf F) {U : Cᵒᵖ} (s : F.obj U) (V : C) (f : V ⟶ Opposite.unop U)
Goal: (G.sieveOfSection s).arrows f = (F.map f.op s ∈ G.obj (Opposite.op V))
-- CategoryTheory.GrothendieckTopology.Subpresheaf.family_of_elements_compatible
theorem Subpresheaf.family_of_elements_compatible {U : Cᵒᵖ} (s : F.obj U) :
    (G.familyOfElementsOfSection s).Compatible 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F : Cᵒᵖ ⥤ Type w} (G : CategoryTheory.GrothendieckTopology.Subpresheaf F) {U : Cᵒᵖ} (s : F.obj U)
Goal: (G.familyOfElementsOfSection s).Compatible
-- CategoryTheory.GrothendieckTopology.Subpresheaf.nat_trans_naturality
theorem Subpresheaf.nat_trans_naturality (f : F' ⟶ G.toPresheaf) {U V : Cᵒᵖ} (i : U ⟶ V)
    (x : F'.obj U) : (f.app V (F'.map i x)).1 = F.map i (f.app U x).1 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F F' : Cᵒᵖ ⥤ Type w} (G : CategoryTheory.GrothendieckTopology.Subpresheaf F) (f : F' ⟶ G.toPresheaf) {U V : Cᵒᵖ} (i : U ⟶ V) (x : F'.obj U)
Goal: ↑(f.app V (F'.map i x)) = F.map i ↑(f.app U x)
-- CategoryTheory.GrothendieckTopology.Subpresheaf.le_sheafify
theorem Subpresheaf.le_sheafify : G ≤ G.sheafify J 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] (J : CategoryTheory.GrothendieckTopology C) {F : Cᵒᵖ ⥤ Type w} (G : CategoryTheory.GrothendieckTopology.Subpresheaf F)
Goal: G ≤ CategoryTheory.GrothendieckTopology.Subpresheaf.sheafify J G
-- CategoryTheory.GrothendieckTopology.Subpresheaf.eq_sheafify
theorem Subpresheaf.eq_sheafify (h : Presieve.IsSheaf J F) (hG : Presieve.IsSheaf J G.toPresheaf) :
    G = G.sheafify J 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {J : CategoryTheory.GrothendieckTopology C} {F : Cᵒᵖ ⥤ Type w} (G : CategoryTheory.GrothendieckTopology.Subpresheaf F) (h : CategoryTheory.Presieve.IsSheaf J F) (hG : CategoryTheory.Presieve.IsSheaf J G.toPresheaf)
Goal: G = CategoryTheory.GrothendieckTopology.Subpresheaf.sheafify J G
-- CategoryTheory.GrothendieckTopology.Subpresheaf.sheafify_isSheaf
theorem Subpresheaf.sheafify_isSheaf (hF : Presieve.IsSheaf J F) :
    Presieve.IsSheaf J (G.sheafify J).toPresheaf 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {J : CategoryTheory.GrothendieckTopology C} {F : Cᵒᵖ ⥤ Type w} (G : CategoryTheory.GrothendieckTopology.Subpresheaf F) (hF : CategoryTheory.Presieve.IsSheaf J F)
Goal: CategoryTheory.Presieve.IsSheaf J (CategoryTheory.GrothendieckTopology.Subpresheaf.sheafify J G).toPresheaf
-- CategoryTheory.GrothendieckTopology.Subpresheaf.eq_sheafify_iff
theorem Subpresheaf.eq_sheafify_iff (h : Presieve.IsSheaf J F) :
    G = G.sheafify J ↔ Presieve.IsSheaf J G.toPresheaf 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {J : CategoryTheory.GrothendieckTopology C} {F : Cᵒᵖ ⥤ Type w} (G : CategoryTheory.GrothendieckTopology.Subpresheaf F) (h : CategoryTheory.Presieve.IsSheaf J F)
Goal: G = CategoryTheory.GrothendieckTopology.Subpresheaf.sheafify J G ↔ CategoryTheory.Presieve.IsSheaf J G.toPresheaf
-- CategoryTheory.GrothendieckTopology.Subpresheaf.isSheaf_iff
theorem Subpresheaf.isSheaf_iff (h : Presieve.IsSheaf J F) :
    Presieve.IsSheaf J G.toPresheaf ↔
      ∀ (U) (s : F.obj U), G.sieveOfSection s ∈ J (unop U) → s ∈ G.obj U 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {J : CategoryTheory.GrothendieckTopology C} {F : Cᵒᵖ ⥤ Type w} (G : CategoryTheory.GrothendieckTopology.Subpresheaf F) (h : CategoryTheory.Presieve.IsSheaf J F)
Goal: CategoryTheory.Presieve.IsSheaf J G.toPresheaf ↔
  ∀ (U : Cᵒᵖ) (s : F.obj U), G.sieveOfSection s ∈ J.sieves (Opposite.unop U) → s ∈ G.obj U
-- CategoryTheory.GrothendieckTopology.Subpresheaf.sheafify_sheafify
theorem Subpresheaf.sheafify_sheafify (h : Presieve.IsSheaf J F) :
    (G.sheafify J).sheafify J = G.sheafify J 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {J : CategoryTheory.GrothendieckTopology C} {F : Cᵒᵖ ⥤ Type w} (G : CategoryTheory.GrothendieckTopology.Subpresheaf F) (h : CategoryTheory.Presieve.IsSheaf J F)
Goal: CategoryTheory.GrothendieckTopology.Subpresheaf.sheafify J
    (CategoryTheory.GrothendieckTopology.Subpresheaf.sheafify J G) =
  CategoryTheory.GrothendieckTopology.Subpresheaf.sheafify J G
-- CategoryTheory.GrothendieckTopology.Subpresheaf.to_sheafifyLift
theorem Subpresheaf.to_sheafifyLift (f : G.toPresheaf ⟶ F') (h : Presieve.IsSheaf J F') :
    Subpresheaf.homOfLe (G.le_sheafify J) ≫ G.sheafifyLift f h = f 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {J : CategoryTheory.GrothendieckTopology C} {F F' : Cᵒᵖ ⥤ Type w} (G : CategoryTheory.GrothendieckTopology.Subpresheaf F) (f : G.toPresheaf ⟶ F') (h : CategoryTheory.Presieve.IsSheaf J F')
Goal: CategoryTheory.GrothendieckTopology.Subpresheaf.homOfLe ⋯ ≫ G.sheafifyLift f h = f
-- CategoryTheory.GrothendieckTopology.Subpresheaf.to_sheafify_lift_unique
theorem Subpresheaf.to_sheafify_lift_unique (h : Presieve.IsSheaf J F')
    (l₁ l₂ : (G.sheafify J).toPresheaf ⟶ F')
    (e : Subpresheaf.homOfLe (G.le_sheafify J) ≫ l₁ = Subpresheaf.homOfLe (G.le_sheafify J) ≫ l₂) :
    l₁ = l₂ 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {J : CategoryTheory.GrothendieckTopology C} {F F' : Cᵒᵖ ⥤ Type w} (G : CategoryTheory.GrothendieckTopology.Subpresheaf F) (h : CategoryTheory.Presieve.IsSheaf J F') (l₁ l₂ : (CategoryTheory.GrothendieckTopology.Subpresheaf.sheafify J G).toPresheaf ⟶ F') (e :
  CategoryTheory.GrothendieckTopology.Subpresheaf.homOfLe ⋯ ≫ l₁ =
    CategoryTheory.GrothendieckTopology.Subpresheaf.homOfLe ⋯ ≫ l₂)
Goal: l₁ = l₂
-- CategoryTheory.GrothendieckTopology.Subpresheaf.sheafify_le
theorem Subpresheaf.sheafify_le (h : G ≤ G') (hF : Presieve.IsSheaf J F)
    (hG' : Presieve.IsSheaf J G'.toPresheaf) : G.sheafify J ≤ G' 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {J : CategoryTheory.GrothendieckTopology C} {F : Cᵒᵖ ⥤ Type w} (G G' : CategoryTheory.GrothendieckTopology.Subpresheaf F) (h : G ≤ G') (hF : CategoryTheory.Presieve.IsSheaf J F) (hG' : CategoryTheory.Presieve.IsSheaf J G'.toPresheaf)
Goal: CategoryTheory.GrothendieckTopology.Subpresheaf.sheafify J G ≤ G'
-- CategoryTheory.GrothendieckTopology.imagePresheaf_obj
@[simps]
def imagePresheaf (f : F' ⟶ F) : Subpresheaf F 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F F' : Cᵒᵖ ⥤ Type w} (f : F' ⟶ F) (U : Cᵒᵖ)
Goal: (CategoryTheory.GrothendieckTopology.imagePresheaf f).obj U = Set.range (f.app U)
-- CategoryTheory.GrothendieckTopology.top_subpresheaf_obj
@[simp]
theorem top_subpresheaf_obj (U) : (⊤ : Subpresheaf F).obj U = ⊤ 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F : Cᵒᵖ ⥤ Type w} (U : Cᵒᵖ)
Goal: ⊤.obj U = ⊤
-- CategoryTheory.GrothendieckTopology.imagePresheaf_id
@[simp]
theorem imagePresheaf_id : imagePresheaf (𝟙 F) = ⊤ 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F : Cᵒᵖ ⥤ Type w}
Goal: CategoryTheory.GrothendieckTopology.imagePresheaf (𝟙 F) = ⊤
-- CategoryTheory.GrothendieckTopology.toImagePresheaf_app_coe
@[simps!]
def toImagePresheaf (f : F' ⟶ F) : F' ⟶ (imagePresheaf f).toPresheaf 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F F' : Cᵒᵖ ⥤ Type w} (f : F' ⟶ F) (U : Cᵒᵖ) (x : F'.obj U)
Goal: ↑((CategoryTheory.GrothendieckTopology.toImagePresheaf f).app U x) = f.app U x
-- CategoryTheory.GrothendieckTopology.toImagePresheafSheafify_app_coe
@[simps!]
def toImagePresheafSheafify (f : F' ⟶ F) : F' ⟶ ((imagePresheaf f).sheafify J).toPresheaf 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] (J : CategoryTheory.GrothendieckTopology C) {F F' : Cᵒᵖ ⥤ Type w} (f : F' ⟶ F) (X : Cᵒᵖ)
Goal: ∀ (a : F'.obj X), ↑((J.toImagePresheafSheafify f).app X a) = f.app X a
-- CategoryTheory.GrothendieckTopology.toImagePresheaf_ι
@[reassoc (attr := simp)]
theorem toImagePresheaf_ι (f : F' ⟶ F) : toImagePresheaf f ≫ (imagePresheaf f).ι = f 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F F' : Cᵒᵖ ⥤ Type w} (f : F' ⟶ F)
Goal: CategoryTheory.GrothendieckTopology.toImagePresheaf f ≫ (CategoryTheory.GrothendieckTopology.imagePresheaf f).ι = f
-- CategoryTheory.GrothendieckTopology.imagePresheaf_comp_le
theorem imagePresheaf_comp_le (f₁ : F ⟶ F') (f₂ : F' ⟶ F'') :
    imagePresheaf (f₁ ≫ f₂) ≤ imagePresheaf f₂ 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {F F' F'' : Cᵒᵖ ⥤ Type w} (f₁ : F ⟶ F') (f₂ : F' ⟶ F'')
Goal: CategoryTheory.GrothendieckTopology.imagePresheaf (f₁ ≫ f₂) ≤ CategoryTheory.GrothendieckTopology.imagePresheaf f₂
-- CategoryTheory.GrothendieckTopology.imageSheaf_val
@[simps]
def imageSheaf {F F' : Sheaf J (Type w)} (f : F ⟶ F') : Sheaf J (Type w) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {J : CategoryTheory.GrothendieckTopology C} {F F' : CategoryTheory.Sheaf J (Type w)} (f : F ⟶ F')
Goal: (CategoryTheory.GrothendieckTopology.imageSheaf f).val =
  (CategoryTheory.GrothendieckTopology.Subpresheaf.sheafify J
      (CategoryTheory.GrothendieckTopology.imagePresheaf f.val)).toPresheaf
-- CategoryTheory.GrothendieckTopology.toImageSheaf_val
@[simps]
def toImageSheaf {F F' : Sheaf J (Type w)} (f : F ⟶ F') : F ⟶ imageSheaf f 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {J : CategoryTheory.GrothendieckTopology C} {F F' : CategoryTheory.Sheaf J (Type w)} (f : F ⟶ F')
Goal: (CategoryTheory.GrothendieckTopology.toImageSheaf f).val = J.toImagePresheafSheafify f.val
-- CategoryTheory.GrothendieckTopology.imageSheafι_val
@[simps]
def imageSheafι {F F' : Sheaf J (Type w)} (f : F ⟶ F') : imageSheaf f ⟶ F' 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {J : CategoryTheory.GrothendieckTopology C} {F F' : CategoryTheory.Sheaf J (Type w)} (f : F ⟶ F')
Goal: (CategoryTheory.GrothendieckTopology.imageSheafι f).val =
  (CategoryTheory.GrothendieckTopology.Subpresheaf.sheafify J
      (CategoryTheory.GrothendieckTopology.imagePresheaf f.val)).ι
-- CategoryTheory.GrothendieckTopology.toImageSheaf_ι
@[reassoc (attr := simp)]
theorem toImageSheaf_ι {F F' : Sheaf J (Type w)} (f : F ⟶ F') :
    toImageSheaf f ≫ imageSheafι f = f 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {J : CategoryTheory.GrothendieckTopology C} {F F' : CategoryTheory.Sheaf J (Type w)} (f : F ⟶ F')
Goal: CategoryTheory.GrothendieckTopology.toImageSheaf f ≫ CategoryTheory.GrothendieckTopology.imageSheafι f = f
-- CategoryTheory.PresheafOfGroups.Cochain₀.one_apply
@[simp, nolint simpNF]
lemma one_apply (i : I) : (1 : ZeroCochain G U) i = 1 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] (G : CategoryTheory.Functor Cᵒᵖ Grp) {I : Type w'} (U : I → C) (i : I)
Goal: 1 i = 1
-- CategoryTheory.PresheafOfGroups.Cochain₀.inv_apply
@[simp]
lemma inv_apply (γ : ZeroCochain G U) (i : I) : γ⁻¹ i = (γ i)⁻¹ 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] (G : CategoryTheory.Functor Cᵒᵖ Grp) {I : Type w'} (U : I → C) (γ : CategoryTheory.PresheafOfGroups.ZeroCochain G U) (i : I)
Goal: γ⁻¹ i = (γ i)⁻¹
-- CategoryTheory.PresheafOfGroups.Cochain₀.mul_apply
@[simp]
lemma mul_apply (γ₁ γ₂ : ZeroCochain G U) (i : I) : (γ₁ * γ₂) i = γ₁ i * γ₂ i 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] (G : CategoryTheory.Functor Cᵒᵖ Grp) {I : Type w'} (U : I → C) (γ₁ γ₂ : CategoryTheory.PresheafOfGroups.ZeroCochain G U) (i : I)
Goal: (γ₁ * γ₂) i = γ₁ i * γ₂ i
-- CategoryTheory.PresheafOfGroups.OneCochain.ev_precomp
@[ext]
structure OneCochain where
    ev (i j : I) ⦃T : C⦄ (a : T ⟶ U i) (b : T ⟶ U j) : G.obj (Opposite.op T)
  ev_precomp (i j : I) ⦃T T' : C⦄ (φ : T ⟶ T') (a : T' ⟶ U i) (b : T' ⟶ U j) :
    G.map φ.op (ev i j a b) = ev i j (φ ≫ a) (φ ≫ b) := by aesop
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {G : CategoryTheory.Functor Cᵒᵖ Grp} {I : Type w'} {U : I → C} (self : CategoryTheory.PresheafOfGroups.OneCochain G U) (i j : I) ⦃T T' : C⦄ (φ : T ⟶ T') (a : T' ⟶ U i) (b : T' ⟶ U j)
Goal: (G.map φ.op) (self.ev i j a b) =
  self.ev i j (CategoryTheory.CategoryStruct.comp φ a) (CategoryTheory.CategoryStruct.comp φ b)
-- CategoryTheory.PresheafOfGroups.OneCochain.one_ev
@[simp]
lemma one_ev (i j : I) {T : C} (a : T ⟶ U i) (b : T ⟶ U j) :
    (1 : OneCochain G U).ev i j a b = 1 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] (G : CategoryTheory.Functor Cᵒᵖ Grp) {I : Type w'} (U : I → C) (i j : I) {T : C} (a : T ⟶ U i) (b : T ⟶ U j)
Goal: CategoryTheory.PresheafOfGroups.OneCochain.ev 1 i j a b = 1
-- CategoryTheory.PresheafOfGroups.OneCochain.mul_ev
@[simp]
lemma mul_ev (γ₁ γ₂ : OneCochain G U) (i j : I) {T : C} (a : T ⟶ U i) (b : T ⟶ U j) :
    (γ₁ * γ₂).ev i j a b = γ₁.ev i j a b * γ₂.ev i j a b 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {G : CategoryTheory.Functor Cᵒᵖ Grp} {I : Type w'} {U : I → C} (γ₁ γ₂ : CategoryTheory.PresheafOfGroups.OneCochain G U) (i j : I) {T : C} (a : T ⟶ U i) (b : T ⟶ U j)
Goal: (γ₁ * γ₂).ev i j a b = γ₁.ev i j a b * γ₂.ev i j a b
-- CategoryTheory.PresheafOfGroups.OneCochain.inv_ev
@[simp]
lemma inv_ev (γ : OneCochain G U) (i j : I) {T : C} (a : T ⟶ U i) (b : T ⟶ U j) :
    (γ⁻¹).ev i j a b = (γ.ev i j a b)⁻¹ 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {G : CategoryTheory.Functor Cᵒᵖ Grp} {I : Type w'} {U : I → C} (γ : CategoryTheory.PresheafOfGroups.OneCochain G U) (i j : I) {T : C} (a : T ⟶ U i) (b : T ⟶ U j)
Goal: γ⁻¹.ev i j a b = (γ.ev i j a b)⁻¹
-- CategoryTheory.PresheafOfGroups.OneCocycle.ev_trans
structure OneCocycle extends OneCochain G U where
  ev_trans (i j k : I) ⦃T : C⦄ (a : T ⟶ U i) (b : T ⟶ U j) (c : T ⟶ U k) :
      ev i j a b * ev j k b c = ev i k a c := by aesop
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {G : CategoryTheory.Functor Cᵒᵖ Grp} {I : Type w'} {U : I → C} (self : CategoryTheory.PresheafOfGroups.OneCocycle G U) (i j k : I) ⦃T : C⦄ (a : T ⟶ U i) (b : T ⟶ U j) (c : T ⟶ U k)
Goal: self.ev i j a b * self.ev j k b c = self.ev i k a c
-- CategoryTheory.PresheafOfGroups.OneCocycle.one_toOneCochain
@[simp]
lemma one_toOneCochain : (1 : OneCocycle G U).toOneCochain = 1 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] (G : CategoryTheory.Functor Cᵒᵖ Grp) {I : Type w'} (U : I → C)
Goal: CategoryTheory.PresheafOfGroups.OneCocycle.toOneCochain 1 = 1
-- CategoryTheory.PresheafOfGroups.OneCocycle.ev_refl
@[simp]
lemma ev_refl (γ : OneCocycle G U) (i : I) ⦃T : C⦄ (a : T ⟶ U i) :
    γ.ev i i a a = 1 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] (G : CategoryTheory.Functor Cᵒᵖ Grp) {I : Type w'} (U : I → C) (γ : CategoryTheory.PresheafOfGroups.OneCocycle G U) (i : I) ⦃T : C⦄ (a : T ⟶ U i)
Goal: γ.ev i i a a = 1
-- CategoryTheory.PresheafOfGroups.OneCocycle.ev_symm
lemma ev_symm (γ : OneCocycle G U) (i j : I) ⦃T : C⦄ (a : T ⟶ U i) (b : T ⟶ U j) :
    γ.ev i j a b = (γ.ev j i b a)⁻¹ 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] (G : CategoryTheory.Functor Cᵒᵖ Grp) {I : Type w'} (U : I → C) (γ : CategoryTheory.PresheafOfGroups.OneCocycle G U) (i j : I) ⦃T : C⦄ (a : T ⟶ U i) (b : T ⟶ U j)
Goal: γ.ev i j a b = (γ.ev j i b a)⁻¹
-- CategoryTheory.PresheafOfGroups.OneCohomologyRelation.refl
lemma refl (γ : OneCochain G U) : OneCohomologyRelation γ γ 1 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {G : CategoryTheory.Functor Cᵒᵖ Grp} {I : Type w'} {U : I → C} (γ : CategoryTheory.PresheafOfGroups.OneCochain G U)
Goal: CategoryTheory.PresheafOfGroups.OneCohomologyRelation γ γ 1
-- CategoryTheory.PresheafOfGroups.OneCohomologyRelation.symm
lemma symm {γ₁ γ₂ : OneCochain G U} {α : ZeroCochain G U} (h : OneCohomologyRelation γ₁ γ₂ α) :
    OneCohomologyRelation γ₂ γ₁ α⁻¹ 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {G : CategoryTheory.Functor Cᵒᵖ Grp} {I : Type w'} {U : I → C} {γ₁ γ₂ : CategoryTheory.PresheafOfGroups.OneCochain G U} {α : CategoryTheory.PresheafOfGroups.ZeroCochain G U} (h : CategoryTheory.PresheafOfGroups.OneCohomologyRelation γ₁ γ₂ α)
Goal: CategoryTheory.PresheafOfGroups.OneCohomologyRelation γ₂ γ₁ α⁻¹
-- CategoryTheory.PresheafOfGroups.OneCohomologyRelation.trans
lemma trans {γ₁ γ₂ γ₃ : OneCochain G U} {α β : ZeroCochain G U}
    (h₁₂ : OneCohomologyRelation γ₁ γ₂ α) (h₂₃ : OneCohomologyRelation γ₂ γ₃ β) :
    OneCohomologyRelation γ₁ γ₃ (β * α) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {G : CategoryTheory.Functor Cᵒᵖ Grp} {I : Type w'} {U : I → C} {γ₁ γ₂ γ₃ : CategoryTheory.PresheafOfGroups.OneCochain G U} {α β : CategoryTheory.PresheafOfGroups.ZeroCochain G U} (h₁₂ : CategoryTheory.PresheafOfGroups.OneCohomologyRelation γ₁ γ₂ α) (h₂₃ : CategoryTheory.PresheafOfGroups.OneCohomologyRelation γ₂ γ₃ β)
Goal: CategoryTheory.PresheafOfGroups.OneCohomologyRelation γ₁ γ₃ (β * α)
-- CategoryTheory.PresheafOfGroups.OneCocycle.equivalence_isCohomologous
lemma equivalence_isCohomologous :
    _root_.Equivalence (IsCohomologous (G := G) (U := U)) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] (G : CategoryTheory.Functor Cᵒᵖ Grp) {I : Type w'} (U : I → C)
Goal: Equivalence CategoryTheory.PresheafOfGroups.OneCocycle.IsCohomologous
-- CategoryTheory.PresheafOfGroups.OneCocycle.class_eq_iff
lemma OneCocycle.class_eq_iff (γ₁ γ₂ : OneCocycle G U) :
    γ₁.class = γ₂.class ↔ γ₁.IsCohomologous γ₂ 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {G : CategoryTheory.Functor Cᵒᵖ Grp} {I : Type w'} {U : I → C} (γ₁ γ₂ : CategoryTheory.PresheafOfGroups.OneCocycle G U)
Goal: γ₁.class = γ₂.class ↔ γ₁.IsCohomologous γ₂
-- CategoryTheory.PresheafOfGroups.OneCocycle.IsCohomologous.class_eq
lemma OneCocycle.IsCohomologous.class_eq {γ₁ γ₂ : OneCocycle G U} (h : γ₁.IsCohomologous γ₂) :
    γ₁.class = γ₂.class 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {G : CategoryTheory.Functor Cᵒᵖ Grp} {I : Type w'} {U : I → C} {γ₁ γ₂ : CategoryTheory.PresheafOfGroups.OneCocycle G U} (h : γ₁.IsCohomologous γ₂)
Goal: γ₁.class = γ₂.class
-- CategoryTheory.HasPullbacksOfInclusions.hasPullbackInl
class HasPullbacksOfInclusions (C : Type u) [Category.{v} C] [HasBinaryCoproducts C] : Prop where
  [hasPullbackInl : ∀ {X Y Z : C} (f : Z ⟶ X ⨿ Y), HasPullback coprod.inl f]
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasBinaryCoproducts C] [self : CategoryTheory.HasPullbacksOfInclusions C] {X Y Z : C} (f : Z ⟶ X ⨿ Y)
Goal: CategoryTheory.Limits.HasPullback CategoryTheory.Limits.coprod.inl f
-- CategoryTheory.FinitaryPreExtensive.universal'
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] {X Y : C} (c : CategoryTheory.Limits.BinaryCofan X Y)
Goal: CategoryTheory.Limits.IsColimit c → CategoryTheory.IsUniversalColimit c
-- CategoryTheory.FinitaryPreExtensive.hasPullbacksOfInclusions
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.HasPullbacksOfInclusions C