ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- TopCat.Presheaf.pushforwardPullbackAdjunction_unit_pullback_map_germToPullbackStalk
@[reassoc (attr := simp)]
lemma pushforwardPullbackAdjunction_unit_pullback_map_germToPullbackStalk
    (f : X ⟶ Y) (F : Y.Presheaf C) (U : Opens X) (x : U) (V : Opens Y)
    (hV : U ≤ (Opens.map f).obj V) :
    ((pushforwardPullbackAdjunction C f).unit.app F).app (op V) ≫
      ((pullback C f).obj F).map (homOfLE hV).op ≫ germToPullbackStalk C f F U x =
        F.germ ⟨f x, hV x.2⟩ 
Arguments: (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasColimits C] {X Y : TopCat} (f : X ⟶ Y) (F : TopCat.Presheaf C Y) (U : TopologicalSpace.Opens ↑X) (x : ↥U) (V : TopologicalSpace.Opens ↑Y) (hV : U ≤ (TopologicalSpace.Opens.map f).obj V)
Goal: ((TopCat.Presheaf.pushforwardPullbackAdjunction C f).unit.app F).app (Opposite.op V) ≫
    ((TopCat.Presheaf.pullback C f).obj F).map (CategoryTheory.homOfLE hV).op ≫
      TopCat.Presheaf.germToPullbackStalk C f F U x =
  F.germ ⟨f ↑x, ⋯⟩
-- TopCat.Presheaf.germToPullbackStalk_stalkPullbackHom
@[reassoc (attr := simp)]
lemma germToPullbackStalk_stalkPullbackHom
    (f : X ⟶ Y) (F : Y.Presheaf C) (U : Opens X) (x : U) :
    germToPullbackStalk C f F U x ≫ stalkPullbackHom C f F x =
      ((pullback C f).obj F).germ x 
Arguments: (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasColimits C] {X Y : TopCat} (f : X ⟶ Y) (F : TopCat.Presheaf C Y) (U : TopologicalSpace.Opens ↑X) (x : ↥U)
Goal: TopCat.Presheaf.germToPullbackStalk C f F U x ≫ TopCat.Presheaf.stalkPullbackHom C f F ↑x =
  ((TopCat.Presheaf.pullback C f).obj F).germ x
-- TopCat.Presheaf.pushforwardPullbackAdjunction_unit_app_app_germToPullbackStalk
@[reassoc (attr := simp)]
lemma pushforwardPullbackAdjunction_unit_app_app_germToPullbackStalk
    (f : X ⟶ Y) (F : Y.Presheaf C) (V : (Opens Y)ᵒᵖ) (x : (Opens.map f).obj V.unop) :
    ((pushforwardPullbackAdjunction C f).unit.app F).app V ≫ germToPullbackStalk C f F _ x =
      F.germ ⟨f x, x.2⟩ 
Arguments: (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasColimits C] {X Y : TopCat} (f : X ⟶ Y) (F : TopCat.Presheaf C Y) (V : (TopologicalSpace.Opens ↑Y)ᵒᵖ) (x : ↥((TopologicalSpace.Opens.map f).obj (Opposite.unop V)))
Goal: ((TopCat.Presheaf.pushforwardPullbackAdjunction C f).unit.app F).app V ≫
    TopCat.Presheaf.germToPullbackStalk C f F ((TopologicalSpace.Opens.map f).obj (Opposite.unop V)) x =
  F.germ ⟨f ↑x, ⋯⟩
-- TopCat.Presheaf.germ_stalkPullbackInv
@[reassoc (attr := simp)]
lemma germ_stalkPullbackInv (f : X ⟶ Y) (F : Y.Presheaf C) (x : X) (V : Opens X) (hV : x ∈ V) :
    ((pullback C f).obj F).germ ⟨x, hV⟩ ≫ stalkPullbackInv C f F x =
    F.germToPullbackStalk _ f V ⟨x, hV⟩ 
Arguments: (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasColimits C] {X Y : TopCat} (f : X ⟶ Y) (F : TopCat.Presheaf C Y) (x : ↑X) (V : TopologicalSpace.Opens ↑X) (hV : x ∈ V)
Goal: ((TopCat.Presheaf.pullback C f).obj F).germ ⟨x, hV⟩ ≫ TopCat.Presheaf.stalkPullbackInv C f F x =
  TopCat.Presheaf.germToPullbackStalk C f F V ⟨x, hV⟩
-- TopCat.Presheaf.germ_stalkSpecializes
@[reassoc (attr := simp), elementwise nosimp]
theorem germ_stalkSpecializes (F : X.Presheaf C) {U : Opens X} {y : U} {x : X} (h : x ⤳ y) :
    F.germ y ≫ F.stalkSpecializes h = F.germ (⟨x, h.mem_open U.isOpen y.prop⟩ : U) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasColimits C] {X : TopCat} (F : TopCat.Presheaf C X) {U : TopologicalSpace.Opens ↑X} {y : ↥U} {x : ↑X} (h : x ⤳ ↑y)
Goal: F.germ y ≫ F.stalkSpecializes h = F.germ ⟨x, ⋯⟩
-- TopCat.Presheaf.germ_stalkSpecializes'
@[reassoc, elementwise nosimp]
theorem germ_stalkSpecializes' (F : X.Presheaf C) {U : Opens X} {x y : X} (h : x ⤳ y)
    (hy : y ∈ U) : F.germ ⟨y, hy⟩ ≫ F.stalkSpecializes h = F.germ ⟨x, h.mem_open U.isOpen hy⟩ 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasColimits C] {X : TopCat} (F : TopCat.Presheaf C X) {U : TopologicalSpace.Opens ↑X} {x y : ↑X} (h : x ⤳ y) (hy : y ∈ U)
Goal: F.germ ⟨y, hy⟩ ≫ F.stalkSpecializes h = F.germ ⟨x, ⋯⟩
-- TopCat.Presheaf.stalkSpecializes_refl
@[simp]
theorem stalkSpecializes_refl {C : Type*} [Category C] [Limits.HasColimits C] {X : TopCat}
    (F : X.Presheaf C) (x : X) : F.stalkSpecializes (specializes_refl x) = 𝟙 _ 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasColimits C] {X : TopCat} (F : TopCat.Presheaf C X) (x : ↑X)
Goal: F.stalkSpecializes ⋯ = 𝟙 (F.stalk x)
-- TopCat.Presheaf.stalkSpecializes_comp
@[reassoc (attr := simp), elementwise (attr := simp)]
theorem stalkSpecializes_comp {C : Type*} [Category C] [Limits.HasColimits C] {X : TopCat}
    (F : X.Presheaf C) {x y z : X} (h : x ⤳ y) (h' : y ⤳ z) :
    F.stalkSpecializes h' ≫ F.stalkSpecializes h = F.stalkSpecializes (h.trans h') 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasColimits C] {X : TopCat} (F : TopCat.Presheaf C X) {x y z : ↑X} (h : x ⤳ y) (h' : y ⤳ z)
Goal: F.stalkSpecializes h' ≫ F.stalkSpecializes h = F.stalkSpecializes ⋯
-- TopCat.Presheaf.stalkSpecializes_stalkFunctor_map
@[reassoc (attr := simp), elementwise (attr := simp)]
theorem stalkSpecializes_stalkFunctor_map {F G : X.Presheaf C} (f : F ⟶ G) {x y : X} (h : x ⤳ y) :
    F.stalkSpecializes h ≫ (stalkFunctor C x).map f =
      (stalkFunctor C y).map f ≫ G.stalkSpecializes h 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasColimits C] {X : TopCat} {F G : TopCat.Presheaf C X} (f : F ⟶ G) {x y : ↑X} (h : x ⤳ y)
Goal: F.stalkSpecializes h ≫ (TopCat.Presheaf.stalkFunctor C x).map f =
  (TopCat.Presheaf.stalkFunctor C y).map f ≫ G.stalkSpecializes h
-- TopCat.Presheaf.stalkSpecializes_stalkPushforward
@[reassoc, elementwise, simp, nolint simpNF] -- see std4#365 for the simpNF issue
theorem stalkSpecializes_stalkPushforward (f : X ⟶ Y) (F : X.Presheaf C) {x y : X} (h : x ⤳ y) :
    (f _* F).stalkSpecializes (f.map_specializes h) ≫ F.stalkPushforward _ f x =
      F.stalkPushforward _ f y ≫ F.stalkSpecializes h 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasColimits C] {X Y : TopCat} (f : X ⟶ Y) (F : TopCat.Presheaf C X) {x y : ↑X} (h : x ⤳ y)
Goal: ((TopCat.Presheaf.pushforward C f).obj F).stalkSpecializes ⋯ ≫ TopCat.Presheaf.stalkPushforward C f F x =
  TopCat.Presheaf.stalkPushforward C f F y ≫ F.stalkSpecializes h
-- TopCat.Presheaf.stalkCongr_inv
@[simps]
def stalkCongr {X : TopCat} {C : Type*} [Category C] [HasColimits C] (F : X.Presheaf C) {x y : X}
    (e : Inseparable x y) : F.stalk x ≅ F.stalk y 
Arguments: {X : TopCat} {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasColimits C] (F : TopCat.Presheaf C X) {x y : ↑X} (e : Inseparable x y)
Goal: (F.stalkCongr e).inv = F.stalkSpecializes ⋯
-- TopCat.Presheaf.stalkCongr_hom
@[simps]
def stalkCongr {X : TopCat} {C : Type*} [Category C] [HasColimits C] (F : X.Presheaf C) {x y : X}
    (e : Inseparable x y) : F.stalk x ≅ F.stalk y 
Arguments: {X : TopCat} {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasColimits C] (F : TopCat.Presheaf C X) {x y : ↑X} (e : Inseparable x y)
Goal: (F.stalkCongr e).hom = F.stalkSpecializes ⋯
-- TopCat.Presheaf.germ_ext
theorem germ_ext (F : X.Presheaf C) {U V : Opens X} {x : X} {hxU : x ∈ U} {hxV : x ∈ V}
    (W : Opens X) (hxW : x ∈ W) (iWU : W ⟶ U) (iWV : W ⟶ V) {sU : F.obj (op U)} {sV : F.obj (op V)}
    (ih : F.map iWU.op sU = F.map iWV.op sV) :
      F.germ ⟨x, hxU⟩ sU = F.germ ⟨x, hxV⟩ sV 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasColimits C] {X : TopCat} [CategoryTheory.ConcreteCategory C] (F : TopCat.Presheaf C X) {U V : TopologicalSpace.Opens ↑X} {x : ↑X} {hxU : x ∈ U} {hxV : x ∈ V} (W : TopologicalSpace.Opens ↑X) (hxW : x ∈ W) (iWU : W ⟶ U) (iWV : W ⟶ V) {sU : (CategoryTheory.forget C).obj (F.obj (Opposite.op U))} {sV : (CategoryTheory.forget C).obj (F.obj (Opposite.op V))} (ih : (F.map iWU.op) sU = (F.map iWV.op) sV)
Goal: (F.germ ⟨x, hxU⟩) sU = (F.germ ⟨x, hxV⟩) sV
-- TopCat.Presheaf.germ_exist
theorem germ_exist (F : X.Presheaf C) (x : X) (t : (stalk.{v, u} F x : Type v)) :
    ∃ (U : Opens X) (m : x ∈ U) (s : F.obj (op U)), F.germ ⟨x, m⟩ s = t 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasColimits C] {X : TopCat} [CategoryTheory.ConcreteCategory C] [CategoryTheory.Limits.PreservesFilteredColimits (CategoryTheory.forget C)] (F : TopCat.Presheaf C X) (x : ↑X) (t : (CategoryTheory.forget C).obj (F.stalk x))
Goal: ∃ U, ∃ (m : x ∈ U), ∃ s, (F.germ ⟨x, m⟩) s = t
-- TopCat.Presheaf.germ_eq
theorem germ_eq (F : X.Presheaf C) {U V : Opens X} (x : X) (mU : x ∈ U) (mV : x ∈ V)
    (s : F.obj (op U)) (t : F.obj (op V)) (h : germ F ⟨x, mU⟩ s = germ F ⟨x, mV⟩ t) :
    ∃ (W : Opens X) (_m : x ∈ W) (iU : W ⟶ U) (iV : W ⟶ V), F.map iU.op s = F.map iV.op t 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasColimits C] {X : TopCat} [CategoryTheory.ConcreteCategory C] [CategoryTheory.Limits.PreservesFilteredColimits (CategoryTheory.forget C)] (F : TopCat.Presheaf C X) {U V : TopologicalSpace.Opens ↑X} (x : ↑X) (mU : x ∈ U) (mV : x ∈ V) (s : (CategoryTheory.forget C).obj (F.obj (Opposite.op U))) (t : (CategoryTheory.forget C).obj (F.obj (Opposite.op V))) (h : (F.germ ⟨x, mU⟩) s = (F.germ ⟨x, mV⟩) t)
Goal: ∃ W, ∃ (_ : x ∈ W), ∃ iU iV, (F.map iU.op) s = (F.map iV.op) t
-- TopCat.Presheaf.stalkFunctor_map_injective_of_app_injective
theorem stalkFunctor_map_injective_of_app_injective {F G : Presheaf C X} (f : F ⟶ G)
    (h : ∀ U : Opens X, Function.Injective (f.app (op U))) (x : X) :
    Function.Injective ((stalkFunctor C x).map f) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasColimits C] {X : TopCat} [CategoryTheory.ConcreteCategory C] [CategoryTheory.Limits.PreservesFilteredColimits (CategoryTheory.forget C)] {F G : TopCat.Presheaf C X} (f : F ⟶ G) (h : ∀ (U : TopologicalSpace.Opens ↑X), Function.Injective ⇑(f.app (Opposite.op U))) (x : ↑X)
Goal: Function.Injective ⇑((TopCat.Presheaf.stalkFunctor C x).map f)
-- TopCat.Presheaf.section_ext
theorem section_ext (F : Sheaf C X) (U : Opens X) (s t : F.1.obj (op U))
    (h : ∀ x : U, F.presheaf.germ x s = F.presheaf.germ x t) : s = t 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasColimits C] {X : TopCat} [CategoryTheory.ConcreteCategory C] [CategoryTheory.Limits.PreservesFilteredColimits (CategoryTheory.forget C)] [CategoryTheory.Limits.HasLimits C] [CategoryTheory.Limits.PreservesLimits (CategoryTheory.forget C)] [(CategoryTheory.forget C).ReflectsIsomorphisms] (F : TopCat.Sheaf C X) (U : TopologicalSpace.Opens ↑X) (s t : (CategoryTheory.forget C).obj (F.val.obj (Opposite.op U))) (h : ∀ (x : ↥U), (F.presheaf.germ x) s = (F.presheaf.germ x) t)
Goal: s = t
-- TopCat.Presheaf.app_injective_of_stalkFunctor_map_injective
theorem app_injective_of_stalkFunctor_map_injective {F : Sheaf C X} {G : Presheaf C X} (f : F.1 ⟶ G)
    (U : Opens X) (h : ∀ x : U, Function.Injective ((stalkFunctor C x.val).map f)) :
    Function.Injective (f.app (op U)) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasColimits C] {X : TopCat} [CategoryTheory.ConcreteCategory C] [CategoryTheory.Limits.PreservesFilteredColimits (CategoryTheory.forget C)] [CategoryTheory.Limits.HasLimits C] [CategoryTheory.Limits.PreservesLimits (CategoryTheory.forget C)] [(CategoryTheory.forget C).ReflectsIsomorphisms] {F : TopCat.Sheaf C X} {G : TopCat.Presheaf C X} (f : F.val ⟶ G) (U : TopologicalSpace.Opens ↑X) (h : ∀ (x : ↥U), Function.Injective ⇑((TopCat.Presheaf.stalkFunctor C ↑x).map f))
Goal: Function.Injective ⇑(f.app (Opposite.op U))
-- TopCat.Presheaf.app_injective_iff_stalkFunctor_map_injective
theorem app_injective_iff_stalkFunctor_map_injective {F : Sheaf C X} {G : Presheaf C X}
    (f : F.1 ⟶ G) :
    (∀ x : X, Function.Injective ((stalkFunctor C x).map f)) ↔
      ∀ U : Opens X, Function.Injective (f.app (op U)) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasColimits C] {X : TopCat} [CategoryTheory.ConcreteCategory C] [CategoryTheory.Limits.PreservesFilteredColimits (CategoryTheory.forget C)] [CategoryTheory.Limits.HasLimits C] [CategoryTheory.Limits.PreservesLimits (CategoryTheory.forget C)] [(CategoryTheory.forget C).ReflectsIsomorphisms] {F : TopCat.Sheaf C X} {G : TopCat.Presheaf C X} (f : F.val ⟶ G)
Goal: (∀ (x : ↑X), Function.Injective ⇑((TopCat.Presheaf.stalkFunctor C x).map f)) ↔
  ∀ (U : TopologicalSpace.Opens ↑X), Function.Injective ⇑(f.app (Opposite.op U))
-- TopCat.Presheaf.stalk_mono_of_mono
theorem stalk_mono_of_mono {F G : Sheaf C X} (f : F ⟶ G) [Mono f] :
    ∀ x, Mono <| (stalkFunctor C x).map f.1 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasColimits C] {X : TopCat} [CategoryTheory.ConcreteCategory C] [CategoryTheory.Limits.PreservesFilteredColimits (CategoryTheory.forget C)] [CategoryTheory.Limits.HasLimits C] [CategoryTheory.Limits.PreservesLimits (CategoryTheory.forget C)] [(CategoryTheory.forget C).ReflectsIsomorphisms] {F G : TopCat.Sheaf C X} (f : F ⟶ G) [CategoryTheory.Mono f] (x : ↑X)
Goal: CategoryTheory.Mono ((TopCat.Presheaf.stalkFunctor C x).map f.val)
-- TopCat.Presheaf.mono_of_stalk_mono
theorem mono_of_stalk_mono {F G : Sheaf C X} (f : F ⟶ G) [∀ x, Mono <| (stalkFunctor C x).map f.1] :
    Mono f 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasColimits C] {X : TopCat} [CategoryTheory.ConcreteCategory C] [CategoryTheory.Limits.PreservesFilteredColimits (CategoryTheory.forget C)] [CategoryTheory.Limits.HasLimits C] [CategoryTheory.Limits.PreservesLimits (CategoryTheory.forget C)] [(CategoryTheory.forget C).ReflectsIsomorphisms] {F G : TopCat.Sheaf C X} (f : F ⟶ G) [∀ (x : ↑X), CategoryTheory.Mono ((TopCat.Presheaf.stalkFunctor C x).map f.val)]
Goal: CategoryTheory.Mono f
-- TopCat.Presheaf.mono_iff_stalk_mono
theorem mono_iff_stalk_mono {F G : Sheaf C X} (f : F ⟶ G) :
    Mono f ↔ ∀ x, Mono ((stalkFunctor C x).map f.1) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasColimits C] {X : TopCat} [CategoryTheory.ConcreteCategory C] [CategoryTheory.Limits.PreservesFilteredColimits (CategoryTheory.forget C)] [CategoryTheory.Limits.HasLimits C] [CategoryTheory.Limits.PreservesLimits (CategoryTheory.forget C)] [(CategoryTheory.forget C).ReflectsIsomorphisms] {F G : TopCat.Sheaf C X} (f : F ⟶ G)
Goal: CategoryTheory.Mono f ↔ ∀ (x : ↑X), CategoryTheory.Mono ((TopCat.Presheaf.stalkFunctor C x).map f.val)
-- TopCat.Presheaf.app_surjective_of_injective_of_locally_surjective
theorem app_surjective_of_injective_of_locally_surjective {F G : Sheaf C X} (f : F ⟶ G)
    (U : Opens X) (hinj : ∀ x : U, Function.Injective ((stalkFunctor C x.1).map f.1))
    (hsurj : ∀ (t) (x : U), ∃ (V : Opens X) (_ : x.1 ∈ V) (iVU : V ⟶ U) (s : F.1.obj (op V)),
          f.1.app (op V) s = G.1.map iVU.op t) :
    Function.Surjective (f.1.app (op U)) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasColimits C] {X : TopCat} [CategoryTheory.ConcreteCategory C] [CategoryTheory.Limits.PreservesFilteredColimits (CategoryTheory.forget C)] [CategoryTheory.Limits.HasLimits C] [CategoryTheory.Limits.PreservesLimits (CategoryTheory.forget C)] [(CategoryTheory.forget C).ReflectsIsomorphisms] {F G : TopCat.Sheaf C X} (f : F ⟶ G) (U : TopologicalSpace.Opens ↑X) (hinj : ∀ (x : ↥U), Function.Injective ⇑((TopCat.Presheaf.stalkFunctor C ↑x).map f.val)) (hsurj :
  ∀ (t : (CategoryTheory.forget C).obj (G.val.obj (Opposite.op U))) (x : ↥U),
    ∃ V, ∃ (_ : ↑x ∈ V), ∃ iVU s, (f.val.app (Opposite.op V)) s = (G.val.map iVU.op) t)
Goal: Function.Surjective ⇑(f.val.app (Opposite.op U))
-- TopCat.Presheaf.app_surjective_of_stalkFunctor_map_bijective
theorem app_surjective_of_stalkFunctor_map_bijective {F G : Sheaf C X} (f : F ⟶ G) (U : Opens X)
    (h : ∀ x : U, Function.Bijective ((stalkFunctor C x.val).map f.1)) :
    Function.Surjective (f.1.app (op U)) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasColimits C] {X : TopCat} [CategoryTheory.ConcreteCategory C] [CategoryTheory.Limits.PreservesFilteredColimits (CategoryTheory.forget C)] [CategoryTheory.Limits.HasLimits C] [CategoryTheory.Limits.PreservesLimits (CategoryTheory.forget C)] [(CategoryTheory.forget C).ReflectsIsomorphisms] {F G : TopCat.Sheaf C X} (f : F ⟶ G) (U : TopologicalSpace.Opens ↑X) (h : ∀ (x : ↥U), Function.Bijective ⇑((TopCat.Presheaf.stalkFunctor C ↑x).map f.val))
Goal: Function.Surjective ⇑(f.val.app (Opposite.op U))
-- TopCat.Presheaf.app_bijective_of_stalkFunctor_map_bijective
theorem app_bijective_of_stalkFunctor_map_bijective {F G : Sheaf C X} (f : F ⟶ G) (U : Opens X)
    (h : ∀ x : U, Function.Bijective ((stalkFunctor C x.val).map f.1)) :
    Function.Bijective (f.1.app (op U)) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasColimits C] {X : TopCat} [CategoryTheory.ConcreteCategory C] [CategoryTheory.Limits.PreservesFilteredColimits (CategoryTheory.forget C)] [CategoryTheory.Limits.HasLimits C] [CategoryTheory.Limits.PreservesLimits (CategoryTheory.forget C)] [(CategoryTheory.forget C).ReflectsIsomorphisms] {F G : TopCat.Sheaf C X} (f : F ⟶ G) (U : TopologicalSpace.Opens ↑X) (h : ∀ (x : ↥U), Function.Bijective ⇑((TopCat.Presheaf.stalkFunctor C ↑x).map f.val))
Goal: Function.Bijective ⇑(f.val.app (Opposite.op U))
-- TopCat.Presheaf.app_isIso_of_stalkFunctor_map_iso
theorem app_isIso_of_stalkFunctor_map_iso {F G : Sheaf C X} (f : F ⟶ G) (U : Opens X)
    [∀ x : U, IsIso ((stalkFunctor C x.val).map f.1)] : IsIso (f.1.app (op U)) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasColimits C] {X : TopCat} [CategoryTheory.ConcreteCategory C] [CategoryTheory.Limits.PreservesFilteredColimits (CategoryTheory.forget C)] [CategoryTheory.Limits.HasLimits C] [CategoryTheory.Limits.PreservesLimits (CategoryTheory.forget C)] [(CategoryTheory.forget C).ReflectsIsomorphisms] {F G : TopCat.Sheaf C X} (f : F ⟶ G) (U : TopologicalSpace.Opens ↑X) [∀ (x : ↥U), CategoryTheory.IsIso ((TopCat.Presheaf.stalkFunctor C ↑x).map f.val)]
Goal: CategoryTheory.IsIso (f.val.app (Opposite.op U))
-- TopCat.Presheaf.isIso_of_stalkFunctor_map_iso
theorem isIso_of_stalkFunctor_map_iso {F G : Sheaf C X} (f : F ⟶ G)
    [∀ x : X, IsIso ((stalkFunctor C x).map f.1)] : IsIso f 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasColimits C] {X : TopCat} [CategoryTheory.ConcreteCategory C] [CategoryTheory.Limits.PreservesFilteredColimits (CategoryTheory.forget C)] [CategoryTheory.Limits.HasLimits C] [CategoryTheory.Limits.PreservesLimits (CategoryTheory.forget C)] [(CategoryTheory.forget C).ReflectsIsomorphisms] {F G : TopCat.Sheaf C X} (f : F ⟶ G) [∀ (x : ↑X), CategoryTheory.IsIso ((TopCat.Presheaf.stalkFunctor C x).map f.val)]
Goal: CategoryTheory.IsIso f
-- TopCat.Presheaf.isIso_iff_stalkFunctor_map_iso
theorem isIso_iff_stalkFunctor_map_iso {F G : Sheaf C X} (f : F ⟶ G) :
    IsIso f ↔ ∀ x : X, IsIso ((stalkFunctor C x).map f.1) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasColimits C] {X : TopCat} [CategoryTheory.ConcreteCategory C] [CategoryTheory.Limits.PreservesFilteredColimits (CategoryTheory.forget C)] [CategoryTheory.Limits.HasLimits C] [CategoryTheory.Limits.PreservesLimits (CategoryTheory.forget C)] [(CategoryTheory.forget C).ReflectsIsomorphisms] {F G : TopCat.Sheaf C X} (f : F ⟶ G)
Goal: CategoryTheory.IsIso f ↔ ∀ (x : ↑X), CategoryTheory.IsIso ((TopCat.Presheaf.stalkFunctor C x).map f.val)
-- TopCat.Presheaf.stalk_open_algebraMap
@[simp]
theorem stalk_open_algebraMap {X : TopCat} (F : X.Presheaf CommRingCat) {U : Opens X} (x : U) :
    algebraMap (F.obj <| op U) (F.stalk x) = F.germ x 
Arguments: {X : TopCat} (F : TopCat.Presheaf CommRingCat X) {U : TopologicalSpace.Opens ↑X} (x : ↥U)
Goal: algebraMap ↑(F.obj (Opposite.op U)) ↑(F.stalk ↑x) = F.germ x
-- WithZeroTopology.nhds_eq_update
theorem nhds_eq_update : (𝓝 : Γ₀ → Filter Γ₀) = update pure 0 (⨅ γ ≠ 0, 𝓟 (Iio γ)) 
Arguments: {Γ₀ : Type u_2} [LinearOrderedCommGroupWithZero Γ₀]
Goal: 𝓝 = Function.update pure 0 (⨅ γ, ⨅ (_ : γ ≠ 0), 𝓟 (Set.Iio γ))
-- WithZeroTopology.nhds_zero
theorem nhds_zero : 𝓝 (0 : Γ₀) = ⨅ γ ≠ 0, 𝓟 (Iio γ) 
Arguments: {Γ₀ : Type u_2} [LinearOrderedCommGroupWithZero Γ₀]
Goal: 𝓝 0 = ⨅ γ, ⨅ (_ : γ ≠ 0), 𝓟 (Set.Iio γ)
-- WithZeroTopology.hasBasis_nhds_zero
theorem hasBasis_nhds_zero : (𝓝 (0 : Γ₀)).HasBasis (fun γ : Γ₀ => γ ≠ 0) Iio 
Arguments: {Γ₀ : Type u_2} [LinearOrderedCommGroupWithZero Γ₀]
Goal: (𝓝 0).HasBasis (fun γ => γ ≠ 0) Set.Iio
-- WithZeroTopology.Iio_mem_nhds_zero
theorem Iio_mem_nhds_zero (hγ : γ ≠ 0) : Iio γ ∈ 𝓝 (0 : Γ₀) 
Arguments: {Γ₀ : Type u_2} [LinearOrderedCommGroupWithZero Γ₀] {γ : Γ₀} (hγ : γ ≠ 0)
Goal: Set.Iio γ ∈ 𝓝 0
-- WithZeroTopology.nhds_zero_of_units
theorem nhds_zero_of_units (γ : Γ₀ˣ) : Iio ↑γ ∈ 𝓝 (0 : Γ₀) 
Arguments: {Γ₀ : Type u_2} [LinearOrderedCommGroupWithZero Γ₀] (γ : Γ₀ˣ)
Goal: Set.Iio ↑γ ∈ 𝓝 0
-- WithZeroTopology.tendsto_zero
theorem tendsto_zero : Tendsto f l (𝓝 (0 : Γ₀)) ↔ ∀ (γ₀) (_ : γ₀ ≠ 0), ∀ᶠ x in l, f x < γ₀ 
Arguments: {α : Type u_1} {Γ₀ : Type u_2} [LinearOrderedCommGroupWithZero Γ₀] {l : Filter α} {f : α → Γ₀}
Goal: Filter.Tendsto f l (𝓝 0) ↔ ∀ (γ₀ : Γ₀), γ₀ ≠ 0 → ∀ᶠ (x : α) in l, f x < γ₀
-- WithZeroTopology.nhds_of_ne_zero
@[simp]
theorem nhds_of_ne_zero {γ : Γ₀} (h₀ : γ ≠ 0) : 𝓝 γ = pure γ 
Arguments: {Γ₀ : Type u_2} [LinearOrderedCommGroupWithZero Γ₀] {γ : Γ₀} (h₀ : γ ≠ 0)
Goal: 𝓝 γ = pure γ
-- WithZeroTopology.nhds_coe_units
theorem nhds_coe_units (γ : Γ₀ˣ) : 𝓝 (γ : Γ₀) = pure (γ : Γ₀) 
Arguments: {Γ₀ : Type u_2} [LinearOrderedCommGroupWithZero Γ₀] (γ : Γ₀ˣ)
Goal: 𝓝 ↑γ = pure ↑γ
-- WithZeroTopology.singleton_mem_nhds_of_units
theorem singleton_mem_nhds_of_units (γ : Γ₀ˣ) : ({↑γ} : Set Γ₀) ∈ 𝓝 (γ : Γ₀) 
Arguments: {Γ₀ : Type u_2} [LinearOrderedCommGroupWithZero Γ₀] (γ : Γ₀ˣ)
Goal: {↑γ} ∈ 𝓝 ↑γ
-- WithZeroTopology.singleton_mem_nhds_of_ne_zero
theorem singleton_mem_nhds_of_ne_zero (h : γ ≠ 0) : ({γ} : Set Γ₀) ∈ 𝓝 (γ : Γ₀) 
Arguments: {Γ₀ : Type u_2} [LinearOrderedCommGroupWithZero Γ₀] {γ : Γ₀} (h : γ ≠ 0)
Goal: {γ} ∈ 𝓝 γ
-- WithZeroTopology.hasBasis_nhds_of_ne_zero
theorem hasBasis_nhds_of_ne_zero {x : Γ₀} (h : x ≠ 0) :
    HasBasis (𝓝 x) (fun _ : Unit => True) fun _ => {x} 
Arguments: {Γ₀ : Type u_2} [LinearOrderedCommGroupWithZero Γ₀] {x : Γ₀} (h : x ≠ 0)
Goal: (𝓝 x).HasBasis (fun x => True) fun x_1 => {x}
-- WithZeroTopology.hasBasis_nhds_units
theorem hasBasis_nhds_units (γ : Γ₀ˣ) :
    HasBasis (𝓝 (γ : Γ₀)) (fun _ : Unit => True) fun _ => {↑γ} 
Arguments: {Γ₀ : Type u_2} [LinearOrderedCommGroupWithZero Γ₀] (γ : Γ₀ˣ)
Goal: (𝓝 ↑γ).HasBasis (fun x => True) fun x => {↑γ}
-- WithZeroTopology.tendsto_of_ne_zero
theorem tendsto_of_ne_zero {γ : Γ₀} (h : γ ≠ 0) : Tendsto f l (𝓝 γ) ↔ ∀ᶠ x in l, f x = γ 
Arguments: {α : Type u_1} {Γ₀ : Type u_2} [LinearOrderedCommGroupWithZero Γ₀] {l : Filter α} {f : α → Γ₀} {γ : Γ₀} (h : γ ≠ 0)
Goal: Filter.Tendsto f l (𝓝 γ) ↔ ∀ᶠ (x : α) in l, f x = γ
-- WithZeroTopology.tendsto_units
theorem tendsto_units {γ₀ : Γ₀ˣ} : Tendsto f l (𝓝 (γ₀ : Γ₀)) ↔ ∀ᶠ x in l, f x = γ₀ 
Arguments: {α : Type u_1} {Γ₀ : Type u_2} [LinearOrderedCommGroupWithZero Γ₀] {l : Filter α} {f : α → Γ₀} {γ₀ : Γ₀ˣ}
Goal: Filter.Tendsto f l (𝓝 ↑γ₀) ↔ ∀ᶠ (x : α) in l, f x = ↑γ₀
-- WithZeroTopology.Iio_mem_nhds
theorem Iio_mem_nhds (h : γ₁ < γ₂) : Iio γ₂ ∈ 𝓝 γ₁ 
Arguments: {Γ₀ : Type u_2} [LinearOrderedCommGroupWithZero Γ₀] {γ₁ γ₂ : Γ₀} (h : γ₁ < γ₂)
Goal: Set.Iio γ₂ ∈ 𝓝 γ₁
-- WithZeroTopology.isOpen_iff
theorem isOpen_iff {s : Set Γ₀} : IsOpen s ↔ (0 : Γ₀) ∉ s ∨ ∃ γ, γ ≠ 0 ∧ Iio γ ⊆ s 
Arguments: {Γ₀ : Type u_2} [LinearOrderedCommGroupWithZero Γ₀] {s : Set Γ₀}
Goal: IsOpen s ↔ 0 ∉ s ∨ ∃ γ, γ ≠ 0 ∧ Set.Iio γ ⊆ s
-- WithZeroTopology.isClosed_iff
theorem isClosed_iff {s : Set Γ₀} : IsClosed s ↔ (0 : Γ₀) ∈ s ∨ ∃ γ, γ ≠ 0 ∧ s ⊆ Ici γ 
Arguments: {Γ₀ : Type u_2} [LinearOrderedCommGroupWithZero Γ₀] {s : Set Γ₀}
Goal: IsClosed s ↔ 0 ∈ s ∨ ∃ γ, γ ≠ 0 ∧ s ⊆ Set.Ici γ