ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- AlgebraicGeometry.Scheme.forgetToLocallyRingedSpace_map
@[simps!]
def forgetToLocallyRingedSpace : Scheme ⥤ LocallyRingedSpace 
Goal: ∀
  {X Y :
    CategoryTheory.InducedCategory AlgebraicGeometry.LocallyRingedSpace AlgebraicGeometry.Scheme.toLocallyRingedSpace}
  (f : X ⟶ Y), AlgebraicGeometry.Scheme.forgetToLocallyRingedSpace.map f = f
-- AlgebraicGeometry.Scheme.forgetToLocallyRingedSpace_obj
@[simps!]
def forgetToLocallyRingedSpace : Scheme ⥤ LocallyRingedSpace 
Arguments: (self : AlgebraicGeometry.Scheme)
Goal: AlgebraicGeometry.Scheme.forgetToLocallyRingedSpace.obj self = self.toLocallyRingedSpace
-- AlgebraicGeometry.Scheme.fullyFaithfulForgetToLocallyRingedSpace_preimage
@[simps!]
def fullyFaithfulForgetToLocallyRingedSpace :
    forgetToLocallyRingedSpace.FullyFaithful 
Goal: ∀
  {X Y :
    CategoryTheory.InducedCategory AlgebraicGeometry.LocallyRingedSpace AlgebraicGeometry.Scheme.toLocallyRingedSpace}
  (f :
    (CategoryTheory.inducedFunctor AlgebraicGeometry.Scheme.toLocallyRingedSpace).obj X ⟶
      (CategoryTheory.inducedFunctor AlgebraicGeometry.Scheme.toLocallyRingedSpace).obj Y),
  AlgebraicGeometry.Scheme.fullyFaithfulForgetToLocallyRingedSpace.preimage f = f
-- AlgebraicGeometry.Scheme.forgetToTop_map
@[simps!]
def forgetToTop : Scheme ⥤ TopCat 
Goal: ∀ {X Y : AlgebraicGeometry.Scheme} (f : X ⟶ Y),
  AlgebraicGeometry.Scheme.forgetToTop.map f = (AlgebraicGeometry.SheafedSpace.forget CommRingCat).map f.val
-- AlgebraicGeometry.Scheme.forgetToTop_obj
@[simps!]
def forgetToTop : Scheme ⥤ TopCat 
Arguments: (X : AlgebraicGeometry.Scheme)
Goal: AlgebraicGeometry.Scheme.forgetToTop.obj X = (AlgebraicGeometry.SheafedSpace.forget CommRingCat).obj X.toSheafedSpace
-- AlgebraicGeometry.Scheme.id_val_base
@[simp]
theorem id_val_base (X : Scheme) : (𝟙 X : _).1.base = 𝟙 _ 
Arguments: (X : AlgebraicGeometry.Scheme)
Goal: (𝟙 X).val.base = 𝟙 ↑X.toPresheafedSpace
-- AlgebraicGeometry.Scheme.id_app
@[simp]
theorem id_app {X : Scheme} (U : X.Opens) :
    (𝟙 X : _).app U = 𝟙 _ 
Arguments: {X : AlgebraicGeometry.Scheme} (U : X.Opens)
Goal: AlgebraicGeometry.Scheme.Hom.app (𝟙 X) U = 𝟙 (X.presheaf.obj (Opposite.op U))
-- AlgebraicGeometry.Scheme.comp_val
@[reassoc]
theorem comp_val {X Y Z : Scheme} (f : X ⟶ Y) (g : Y ⟶ Z) : (f ≫ g).val = f.val ≫ g.val 
Arguments: {X Y Z : AlgebraicGeometry.Scheme} (f : X ⟶ Y) (g : Y ⟶ Z)
Goal: (f ≫ g).val = f.val ≫ g.val
-- AlgebraicGeometry.Scheme.comp_coeBase
@[simp, reassoc] -- reassoc lemma does not need `simp`
theorem comp_coeBase {X Y Z : Scheme} (f : X ⟶ Y) (g : Y ⟶ Z) :
    (f ≫ g).val.base = f.val.base ≫ g.val.base 
Arguments: {X Y Z : AlgebraicGeometry.Scheme} (f : X ⟶ Y) (g : Y ⟶ Z)
Goal: (f ≫ g).val.base = f.val.base ≫ g.val.base
-- AlgebraicGeometry.Scheme.comp_val_base
@[reassoc]
theorem comp_val_base {X Y Z : Scheme} (f : X ⟶ Y) (g : Y ⟶ Z) :
    (f ≫ g).val.base = f.val.base ≫ g.val.base 
Arguments: {X Y Z : AlgebraicGeometry.Scheme} (f : X ⟶ Y) (g : Y ⟶ Z)
Goal: (f ≫ g).val.base = f.val.base ≫ g.val.base
-- AlgebraicGeometry.Scheme.comp_val_base_apply
theorem comp_val_base_apply {X Y Z : Scheme} (f : X ⟶ Y) (g : Y ⟶ Z) (x : X) :
    (f ≫ g).val.base x = g.val.base (f.val.base x) 
Arguments: {X Y Z : AlgebraicGeometry.Scheme} (f : X ⟶ Y) (g : Y ⟶ Z) (x : ↑↑X.toPresheafedSpace)
Goal: (f ≫ g).val.base x = g.val.base (f.val.base x)
-- AlgebraicGeometry.Scheme.comp_app
@[simp, reassoc] -- reassoc lemma does not need `simp`
theorem comp_app {X Y Z : Scheme} (f : X ⟶ Y) (g : Y ⟶ Z) (U) :
    (f ≫ g).app U = g.app U ≫ f.app _ 
Arguments: {X Y Z : AlgebraicGeometry.Scheme} (f : X ⟶ Y) (g : Y ⟶ Z) (U : Z.Opens)
Goal: AlgebraicGeometry.Scheme.Hom.app (f ≫ g) U =
  AlgebraicGeometry.Scheme.Hom.app g U ≫
    AlgebraicGeometry.Scheme.Hom.app f ((TopologicalSpace.Opens.map g.val.base).obj U)
-- AlgebraicGeometry.Scheme.appLE_comp_appLE
theorem appLE_comp_appLE {X Y Z : Scheme} (f : X ⟶ Y) (g : Y ⟶ Z) (U V W e₁ e₂) :
    g.appLE U V e₁ ≫ f.appLE V W e₂ =
      (f ≫ g).appLE U W (e₂.trans ((Opens.map f.1.base).map (homOfLE e₁)).le) 
Arguments: {X Y Z : AlgebraicGeometry.Scheme} (f : X ⟶ Y) (g : Y ⟶ Z) (U : Z.Opens) (V : Y.Opens) (W : X.Opens) (e₁ : V ≤ (TopologicalSpace.Opens.map g.val.base).obj U) (e₂ : W ≤ (TopologicalSpace.Opens.map f.val.base).obj V)
Goal: AlgebraicGeometry.Scheme.Hom.appLE g U V e₁ ≫ AlgebraicGeometry.Scheme.Hom.appLE f V W e₂ =
  AlgebraicGeometry.Scheme.Hom.appLE (f ≫ g) U W ⋯
-- AlgebraicGeometry.Scheme.comp_appLE
@[simp, reassoc] -- reassoc lemma does not need `simp`
theorem comp_appLE {X Y Z : Scheme} (f : X ⟶ Y) (g : Y ⟶ Z) (U V e) :
    (f ≫ g).appLE U V e = g.app U ≫ f.appLE _ V e 
Arguments: {X Y Z : AlgebraicGeometry.Scheme} (f : X ⟶ Y) (g : Y ⟶ Z) (U : Z.Opens) (V : X.Opens) (e : V ≤ (TopologicalSpace.Opens.map (f ≫ g).val.base).obj U)
Goal: AlgebraicGeometry.Scheme.Hom.appLE (f ≫ g) U V e =
  AlgebraicGeometry.Scheme.Hom.app g U ≫
    AlgebraicGeometry.Scheme.Hom.appLE f ((TopologicalSpace.Opens.map g.val.base).obj U) V e
-- AlgebraicGeometry.Scheme.congr_app
theorem congr_app {X Y : Scheme} {f g : X ⟶ Y} (e : f = g) (U) :
    f.app U = g.app U ≫ X.presheaf.map (eqToHom (by subst e; rfl)).op 
Arguments: {X Y : AlgebraicGeometry.Scheme} {f g : X ⟶ Y} (e : f = g) (U : Y.Opens)
Goal: AlgebraicGeometry.Scheme.Hom.app f U =
  AlgebraicGeometry.Scheme.Hom.app g U ≫ X.presheaf.map (CategoryTheory.eqToHom ⋯).op
-- AlgebraicGeometry.Scheme.app_eq
theorem app_eq {X Y : Scheme} (f : X ⟶ Y) {U V : Y.Opens} (e : U = V) :
    f.app U =
      Y.presheaf.map (eqToHom e.symm).op ≫
        f.app V ≫
          X.presheaf.map (eqToHom (congr_arg (Opens.map f.val.base).obj e)).op 
Arguments: {X Y : AlgebraicGeometry.Scheme} (f : X ⟶ Y) {U V : Y.Opens} (e : U = V)
Goal: AlgebraicGeometry.Scheme.Hom.app f U =
  Y.presheaf.map (CategoryTheory.eqToHom ⋯).op ≫
    AlgebraicGeometry.Scheme.Hom.app f V ≫ X.presheaf.map (CategoryTheory.eqToHom ⋯).op
-- AlgebraicGeometry.Scheme.eqToHom_c_app
theorem eqToHom_c_app {X Y : Scheme} (e : X = Y) (U) :
    (eqToHom e).app U = eqToHom (by subst e; rfl) 
Arguments: {X Y : AlgebraicGeometry.Scheme} (e : X = Y) (U : Y.Opens)
Goal: AlgebraicGeometry.Scheme.Hom.app (CategoryTheory.eqToHom e) U = CategoryTheory.eqToHom ⋯
-- AlgebraicGeometry.Scheme.presheaf_map_eqToHom_op
lemma presheaf_map_eqToHom_op (X : Scheme) (U V : X.Opens) (i : U = V) :
    X.presheaf.map (eqToHom i).op = eqToHom (i ▸ rfl) 
Arguments: (X : AlgebraicGeometry.Scheme) (U V : X.Opens) (i : U = V)
Goal: X.presheaf.map (CategoryTheory.eqToHom i).op = CategoryTheory.eqToHom ⋯
-- AlgebraicGeometry.Scheme.inv_app
@[simp]
theorem inv_app {X Y : Scheme} (f : X ⟶ Y) [IsIso f] (U : X.Opens) :
    (inv f).app U =
      X.presheaf.map (eqToHom (show (f ≫ inv f) ⁻¹ᵁ U = U by rw [IsIso.hom_inv_id]; rfl)).op ≫
        inv (f.app ((inv f) ⁻¹ᵁ U)) 
Arguments: {X Y : AlgebraicGeometry.Scheme} (f : X ⟶ Y) [CategoryTheory.IsIso f] (U : X.Opens)
Goal: AlgebraicGeometry.Scheme.Hom.app (CategoryTheory.inv f) U =
  X.presheaf.map (CategoryTheory.eqToHom ⋯).op ≫
    CategoryTheory.inv
      (AlgebraicGeometry.Scheme.Hom.app f ((TopologicalSpace.Opens.map (CategoryTheory.inv f).val.base).obj U))
-- AlgebraicGeometry.Scheme.inv_app_top
theorem inv_app_top {X Y : Scheme} (f : X ⟶ Y) [IsIso f] :
    (inv f).app ⊤ = inv (f.app ⊤) 
Arguments: {X Y : AlgebraicGeometry.Scheme} (f : X ⟶ Y) [CategoryTheory.IsIso f]
Goal: AlgebraicGeometry.Scheme.Hom.app (CategoryTheory.inv f) ⊤ = CategoryTheory.inv (AlgebraicGeometry.Scheme.Hom.app f ⊤)
-- AlgebraicGeometry.Spec_toLocallyRingedSpace
theorem Spec_toLocallyRingedSpace (R : CommRingCat) :
    (Spec R).toLocallyRingedSpace = Spec.locallyRingedSpaceObj R 
Arguments: (R : CommRingCat)
Goal: (AlgebraicGeometry.Spec R).toLocallyRingedSpace = AlgebraicGeometry.Spec.locallyRingedSpaceObj R
-- AlgebraicGeometry.Spec.map_id
@[simp]
theorem Spec.map_id (R : CommRingCat) : Spec.map (𝟙 R) = 𝟙 (Spec R) 
Arguments: (R : CommRingCat)
Goal: AlgebraicGeometry.Spec.map (𝟙 R) = 𝟙 (AlgebraicGeometry.Spec R)
-- AlgebraicGeometry.Spec.map_comp
@[reassoc, simp]
theorem Spec.map_comp {R S T : CommRingCat} (f : R ⟶ S) (g : S ⟶ T) :
    Spec.map (f ≫ g) = Spec.map g ≫ Spec.map f 
Arguments: {R S T : CommRingCat} (f : R ⟶ S) (g : S ⟶ T)
Goal: AlgebraicGeometry.Spec.map (f ≫ g) = AlgebraicGeometry.Spec.map g ≫ AlgebraicGeometry.Spec.map f
-- AlgebraicGeometry.Scheme.Spec_obj
@[simps]
protected def Scheme.Spec : CommRingCatᵒᵖ ⥤ Scheme 
Arguments: (R : CommRingCatᵒᵖ)
Goal: AlgebraicGeometry.Scheme.Spec.obj R = AlgebraicGeometry.Spec (Opposite.unop R)
-- AlgebraicGeometry.Scheme.Spec_map
@[simps]
protected def Scheme.Spec : CommRingCatᵒᵖ ⥤ Scheme 
Goal: ∀ {X Y : CommRingCatᵒᵖ} (f : X ⟶ Y), AlgebraicGeometry.Scheme.Spec.map f = AlgebraicGeometry.Spec.map f.unop
-- AlgebraicGeometry.Spec.map_eqToHom
lemma Spec.map_eqToHom {R S : CommRingCat} (e : R = S) :
    Spec.map (eqToHom e) = eqToHom (e ▸ rfl) 
Arguments: {R S : CommRingCat} (e : R = S)
Goal: AlgebraicGeometry.Spec.map (CategoryTheory.eqToHom e) = CategoryTheory.eqToHom ⋯
-- AlgebraicGeometry.Spec.map_inv
@[simp]
lemma Spec.map_inv {R S : CommRingCat} (f : R ⟶ S) [IsIso f] :
    Spec.map (inv f) = inv (Spec.map f) 
Arguments: {R S : CommRingCat} (f : R ⟶ S) [CategoryTheory.IsIso f]
Goal: AlgebraicGeometry.Spec.map (CategoryTheory.inv f) = CategoryTheory.inv (AlgebraicGeometry.Spec.map f)
-- AlgebraicGeometry.Spec_carrier
lemma Spec_carrier (R : CommRingCat.{u}) : (Spec R).carrier = PrimeSpectrum R 
Arguments: (R : CommRingCat)
Goal: ↑↑(AlgebraicGeometry.Spec R).toPresheafedSpace = PrimeSpectrum ↑R
-- AlgebraicGeometry.Spec_sheaf
lemma Spec_sheaf (R : CommRingCat.{u}) : (Spec R).sheaf = Spec.structureSheaf R 
Arguments: (R : CommRingCat)
Goal: (AlgebraicGeometry.Spec R).sheaf = AlgebraicGeometry.Spec.structureSheaf ↑R
-- AlgebraicGeometry.Spec_presheaf
lemma Spec_presheaf (R : CommRingCat.{u}) : (Spec R).presheaf = (Spec.structureSheaf R).1 
Arguments: (R : CommRingCat)
Goal: (AlgebraicGeometry.Spec R).presheaf = (AlgebraicGeometry.Spec.structureSheaf ↑R).val
-- AlgebraicGeometry.Spec.map_base
lemma Spec.map_base : (Spec.map f).1.base = PrimeSpectrum.comap f 
Arguments: {R S : CommRingCat} (f : R ⟶ S)
Goal: (AlgebraicGeometry.Spec.map f).val.base = PrimeSpectrum.comap f
-- AlgebraicGeometry.Spec.map_app
lemma Spec.map_app (U) :
    (Spec.map f).app U = StructureSheaf.comap f U (Spec.map f ⁻¹ᵁ U) le_rfl 
Arguments: {R S : CommRingCat} (f : R ⟶ S) (U : (AlgebraicGeometry.Spec R).Opens)
Goal: AlgebraicGeometry.Scheme.Hom.app (AlgebraicGeometry.Spec.map f) U =
  AlgebraicGeometry.StructureSheaf.comap f U
    ((TopologicalSpace.Opens.map (AlgebraicGeometry.Spec.map f).val.base).obj U) ⋯
-- AlgebraicGeometry.Spec.map_appLE
lemma Spec.map_appLE {U V} (e : U ≤ Spec.map f ⁻¹ᵁ V) :
    (Spec.map f).appLE V U e = StructureSheaf.comap f V U e 
Arguments: {R S : CommRingCat} (f : R ⟶ S) {U : (AlgebraicGeometry.Spec S).Opens} {V : (AlgebraicGeometry.Spec R).Opens} (e : U ≤ (TopologicalSpace.Opens.map (AlgebraicGeometry.Spec.map f).val.base).obj V)
Goal: AlgebraicGeometry.Scheme.Hom.appLE (AlgebraicGeometry.Spec.map f) V U e = AlgebraicGeometry.StructureSheaf.comap f V U e
-- AlgebraicGeometry.Scheme.empty_presheaf
@[simps]
def empty : Scheme 
Goal: AlgebraicGeometry.Scheme.empty.presheaf =
  (CategoryTheory.Functor.const (TopologicalSpace.Opens ↑(TopCat.of PEmpty.{u_1 + 1}))ᵒᵖ).obj
    (CommRingCat.of PUnit.{u_1 + 1})
-- AlgebraicGeometry.Scheme.empty_carrier
@[simps]
def empty : Scheme 
Goal: ↑AlgebraicGeometry.Scheme.empty.toPresheafedSpace = TopCat.of PEmpty.{u_1 + 1}
-- AlgebraicGeometry.Scheme.Γ_def
theorem Γ_def : Γ = (inducedFunctor Scheme.toLocallyRingedSpace).op ⋙ LocallyRingedSpace.Γ 
Goal: AlgebraicGeometry.Scheme.Γ =
  (CategoryTheory.inducedFunctor AlgebraicGeometry.Scheme.toLocallyRingedSpace).op ⋙
    AlgebraicGeometry.LocallyRingedSpace.Γ
-- AlgebraicGeometry.Scheme.Γ_obj
@[simp]
theorem Γ_obj (X : Schemeᵒᵖ) : Γ.obj X = Γ(unop X, ⊤) 
Arguments: (X : AlgebraicGeometry.Schemeᵒᵖ)
Goal: AlgebraicGeometry.Scheme.Γ.obj X = (Opposite.unop X).presheaf.obj (Opposite.op ⊤)
-- AlgebraicGeometry.Scheme.Γ_obj_op
theorem Γ_obj_op (X : Scheme) : Γ.obj (op X) = Γ(X, ⊤) 
Arguments: (X : AlgebraicGeometry.Scheme)
Goal: AlgebraicGeometry.Scheme.Γ.obj (Opposite.op X) = X.presheaf.obj (Opposite.op ⊤)
-- AlgebraicGeometry.Scheme.Γ_map
@[simp]
theorem Γ_map {X Y : Schemeᵒᵖ} (f : X ⟶ Y) : Γ.map f = f.unop.app ⊤ 
Arguments: {X Y : AlgebraicGeometry.Schemeᵒᵖ} (f : X ⟶ Y)
Goal: AlgebraicGeometry.Scheme.Γ.map f = AlgebraicGeometry.Scheme.Hom.app f.unop ⊤
-- AlgebraicGeometry.Scheme.Γ_map_op
theorem Γ_map_op {X Y : Scheme} (f : X ⟶ Y) : Γ.map f.op = f.app ⊤ 
Arguments: {X Y : AlgebraicGeometry.Scheme} (f : X ⟶ Y)
Goal: AlgebraicGeometry.Scheme.Γ.map f.op = AlgebraicGeometry.Scheme.Hom.app f ⊤
-- AlgebraicGeometry.Scheme.SpecΓIdentity_app
@[simp] lemma SpecΓIdentity_app : SpecΓIdentity.app R = ΓSpecIso R 
Arguments: (R : CommRingCat)
Goal: AlgebraicGeometry.Scheme.SpecΓIdentity.app R = AlgebraicGeometry.Scheme.ΓSpecIso R
-- AlgebraicGeometry.Scheme.SpecΓIdentity_hom_app
@[simp] lemma SpecΓIdentity_hom_app : SpecΓIdentity.hom.app R = (ΓSpecIso R).hom 
Arguments: (R : CommRingCat)
Goal: AlgebraicGeometry.Scheme.SpecΓIdentity.hom.app R = (AlgebraicGeometry.Scheme.ΓSpecIso R).hom
-- AlgebraicGeometry.Scheme.SpecΓIdentity_inv_app
@[simp] lemma SpecΓIdentity_inv_app : SpecΓIdentity.inv.app R = (ΓSpecIso R).inv 
Arguments: (R : CommRingCat)
Goal: AlgebraicGeometry.Scheme.SpecΓIdentity.inv.app R = (AlgebraicGeometry.Scheme.ΓSpecIso R).inv
-- AlgebraicGeometry.Scheme.ΓSpecIso_naturality
@[reassoc (attr := simp)]
lemma ΓSpecIso_naturality {R S : CommRingCat.{u}} (f : R ⟶ S) :
    (Spec.map f).app ⊤ ≫ (ΓSpecIso S).hom = (ΓSpecIso R).hom ≫ f 
Arguments: {R S : CommRingCat} (f : R ⟶ S)
Goal: AlgebraicGeometry.Scheme.Hom.app (AlgebraicGeometry.Spec.map f) ⊤ ≫ (AlgebraicGeometry.Scheme.ΓSpecIso S).hom =
  (AlgebraicGeometry.Scheme.ΓSpecIso R).hom ≫ f
-- AlgebraicGeometry.Scheme.ΓSpecIso_inv_naturality
@[reassoc (attr := simp)]
lemma ΓSpecIso_inv_naturality {R S : CommRingCat.{u}} (f : R ⟶ S) :
    f ≫ (ΓSpecIso S).inv = (ΓSpecIso R).inv ≫ (Spec.map f).app ⊤ 
Arguments: {R S : CommRingCat} (f : R ⟶ S)
Goal: f ≫ (AlgebraicGeometry.Scheme.ΓSpecIso S).inv =
  (AlgebraicGeometry.Scheme.ΓSpecIso R).inv ≫ AlgebraicGeometry.Scheme.Hom.app (AlgebraicGeometry.Spec.map f) ⊤
-- AlgebraicGeometry.Scheme.ΓSpecIso_inv
lemma ΓSpecIso_inv : (ΓSpecIso R).inv = StructureSheaf.toOpen R ⊤ 
Arguments: (R : CommRingCat)
Goal: (AlgebraicGeometry.Scheme.ΓSpecIso R).inv = AlgebraicGeometry.StructureSheaf.toOpen ↑R ⊤
-- AlgebraicGeometry.Scheme.toOpen_eq
lemma toOpen_eq (U) :
    (by exact StructureSheaf.toOpen R U) =
    (ΓSpecIso R).inv ≫ (Spec R).presheaf.map (homOfLE le_top).op 
Arguments: (R : CommRingCat) (U : TopologicalSpace.Opens ↑(AlgebraicGeometry.PrimeSpectrum.Top ↑R))
Goal: AlgebraicGeometry.StructureSheaf.toOpen (↑R) U =
  (AlgebraicGeometry.Scheme.ΓSpecIso R).inv ≫ (AlgebraicGeometry.Spec R).presheaf.map (CategoryTheory.homOfLE ⋯).op
-- AlgebraicGeometry.Scheme.mem_basicOpen
@[simp]
theorem mem_basicOpen (x : U) : ↑x ∈ X.basicOpen f ↔ IsUnit (X.presheaf.germ x f) 
Arguments: (X : AlgebraicGeometry.Scheme) {U : X.Opens} (f : ↑(X.presheaf.obj (Opposite.op U))) (x : ↥U)
Goal: ↑x ∈ X.basicOpen f ↔ IsUnit ((X.presheaf.germ x) f)
-- AlgebraicGeometry.Scheme.mem_basicOpen_top'
theorem mem_basicOpen_top' {U : X.Opens} (f : Γ(X, U)) (x : X) :
    x ∈ X.basicOpen f ↔ ∃ (m : x ∈ U), IsUnit (X.presheaf.germ (⟨x, m⟩ : U) f) 
Arguments: (X : AlgebraicGeometry.Scheme) {U : X.Opens} (f : ↑(X.presheaf.obj (Opposite.op U))) (x : ↑↑X.toPresheafedSpace)
Goal: x ∈ X.basicOpen f ↔ ∃ (m : x ∈ U), IsUnit ((X.presheaf.germ ⟨x, m⟩) f)
-- AlgebraicGeometry.Scheme.mem_basicOpen_top
@[simp]
theorem mem_basicOpen_top (f : Γ(X, ⊤)) (x : X) :
    x ∈ X.basicOpen f ↔ IsUnit (X.presheaf.germ (⟨x, trivial⟩ : (⊤ : Opens _)) f) 
Arguments: (X : AlgebraicGeometry.Scheme) (f : ↑(X.presheaf.obj (Opposite.op ⊤))) (x : ↑↑X.toPresheafedSpace)
Goal: x ∈ X.basicOpen f ↔ IsUnit ((X.presheaf.germ ⟨x, trivial⟩) f)
-- AlgebraicGeometry.Scheme.basicOpen_res
@[simp]
theorem basicOpen_res (i : op U ⟶ op V) : X.basicOpen (X.presheaf.map i f) = V ⊓ X.basicOpen f 
Arguments: (X : AlgebraicGeometry.Scheme) {V U : X.Opens} (f : ↑(X.presheaf.obj (Opposite.op U))) (i : Opposite.op U ⟶ Opposite.op V)
Goal: X.basicOpen ((X.presheaf.map i) f) = V ⊓ X.basicOpen f
-- AlgebraicGeometry.Scheme.basicOpen_res_eq
@[simp 1100]
theorem basicOpen_res_eq (i : op U ⟶ op V) [IsIso i] :
    X.basicOpen (X.presheaf.map i f) = X.basicOpen f 
Arguments: (X : AlgebraicGeometry.Scheme) {V U : X.Opens} (f : ↑(X.presheaf.obj (Opposite.op U))) (i : Opposite.op U ⟶ Opposite.op V) [CategoryTheory.IsIso i]
Goal: X.basicOpen ((X.presheaf.map i) f) = X.basicOpen f
-- AlgebraicGeometry.Scheme.basicOpen_le
@[sheaf_restrict]
theorem basicOpen_le : X.basicOpen f ≤ U 
Arguments: (X : AlgebraicGeometry.Scheme) {U : X.Opens} (f : ↑(X.presheaf.obj (Opposite.op U)))
Goal: X.basicOpen f ≤ U
-- AlgebraicGeometry.Scheme.basicOpen_restrict
@[sheaf_restrict]
lemma basicOpen_restrict (i : V ⟶ U) (f : Γ(X, U)) :
    X.basicOpen (f |_ₕ i) ≤ X.basicOpen f 
Arguments: (X : AlgebraicGeometry.Scheme) {V U : X.Opens} (i : V ⟶ U) (f : ↑(X.presheaf.obj (Opposite.op U)))
Goal: X.basicOpen (TopCat.Presheaf.restrict f i) ≤ X.basicOpen f
-- AlgebraicGeometry.Scheme.preimage_basicOpen
@[simp]
theorem preimage_basicOpen {X Y : Scheme.{u}} (f : X ⟶ Y) {U : Y.Opens} (r : Γ(Y, U)) :
    f ⁻¹ᵁ (Y.basicOpen r) = X.basicOpen (f.app U r) 
Arguments: {X Y : AlgebraicGeometry.Scheme} (f : X ⟶ Y) {U : Y.Opens} (r : ↑(Y.presheaf.obj (Opposite.op U)))
Goal: (TopologicalSpace.Opens.map f.val.base).obj (Y.basicOpen r) = X.basicOpen ((AlgebraicGeometry.Scheme.Hom.app f U) r)
-- AlgebraicGeometry.Scheme.basicOpen_appLE
lemma basicOpen_appLE {X Y : Scheme.{u}} (f : X ⟶ Y) (U : X.Opens) (V : Y.Opens) (e : U ≤ f ⁻¹ᵁ V)
    (s : Γ(Y, V)) : X.basicOpen (f.appLE V U e s) = U ⊓ f ⁻¹ᵁ (Y.basicOpen s) 
Arguments: {X Y : AlgebraicGeometry.Scheme} (f : X ⟶ Y) (U : X.Opens) (V : Y.Opens) (e : U ≤ (TopologicalSpace.Opens.map f.val.base).obj V) (s : ↑(Y.presheaf.obj (Opposite.op V)))
Goal: X.basicOpen ((AlgebraicGeometry.Scheme.Hom.appLE f V U e) s) =
  U ⊓ (TopologicalSpace.Opens.map f.val.base).obj (Y.basicOpen s)
-- AlgebraicGeometry.Scheme.basicOpen_zero
@[simp]
theorem basicOpen_zero (U : X.Opens) : X.basicOpen (0 : Γ(X, U)) = ⊥ 
Arguments: (X : AlgebraicGeometry.Scheme) (U : X.Opens)
Goal: X.basicOpen 0 = ⊥
-- AlgebraicGeometry.Scheme.basicOpen_mul
@[simp]
theorem basicOpen_mul : X.basicOpen (f * g) = X.basicOpen f ⊓ X.basicOpen g 
Arguments: (X : AlgebraicGeometry.Scheme) {U : X.Opens} (f g : ↑(X.presheaf.obj (Opposite.op U)))
Goal: X.basicOpen (f * g) = X.basicOpen f ⊓ X.basicOpen g
-- AlgebraicGeometry.Scheme.basicOpen_pow
lemma basicOpen_pow {n : ℕ} (h : 0 < n) : X.basicOpen (f ^ n) = X.basicOpen f 
Arguments: (X : AlgebraicGeometry.Scheme) {U : X.Opens} (f : ↑(X.presheaf.obj (Opposite.op U))) {n : ℕ} (h : 0 < n)
Goal: X.basicOpen (f ^ n) = X.basicOpen f
-- AlgebraicGeometry.Scheme.basicOpen_of_isUnit
theorem basicOpen_of_isUnit {f : Γ(X, U)} (hf : IsUnit f) : X.basicOpen f = U 
Arguments: (X : AlgebraicGeometry.Scheme) {U : X.Opens} {f : ↑(X.presheaf.obj (Opposite.op U))} (hf : IsUnit f)
Goal: X.basicOpen f = U
-- AlgebraicGeometry.Scheme.zeroLocus_def
lemma zeroLocus_def {U : X.Opens} (s : Set Γ(X, U)) :
    X.zeroLocus s = ⋂ f ∈ s, (X.basicOpen f).carrierᶜ 
Arguments: (X : AlgebraicGeometry.Scheme) {U : X.Opens} (s : Set ↑(X.presheaf.obj (Opposite.op U)))
Goal: X.zeroLocus s = ⋂ f ∈ s, (X.basicOpen f).carrierᶜ
-- AlgebraicGeometry.Scheme.zeroLocus_isClosed
lemma zeroLocus_isClosed {U : X.Opens} (s : Set Γ(X, U)) :
    IsClosed (X.zeroLocus s) 
Arguments: (X : AlgebraicGeometry.Scheme) {U : X.Opens} (s : Set ↑(X.presheaf.obj (Opposite.op U)))
Goal: IsClosed (X.zeroLocus s)
-- AlgebraicGeometry.Scheme.zeroLocus_singleton
lemma zeroLocus_singleton {U : X.Opens} (f : Γ(X, U)) :
    X.zeroLocus {f} = (X.basicOpen f).carrierᶜ 
Arguments: (X : AlgebraicGeometry.Scheme) {U : X.Opens} (f : ↑(X.presheaf.obj (Opposite.op U)))
Goal: X.zeroLocus {f} = (X.basicOpen f).carrierᶜ
-- AlgebraicGeometry.Scheme.zeroLocus_empty_eq_univ
@[simp]
lemma zeroLocus_empty_eq_univ {U : X.Opens} :
    X.zeroLocus (∅ : Set Γ(X, U)) = Set.univ 
Arguments: (X : AlgebraicGeometry.Scheme) {U : X.Opens}
Goal: X.zeroLocus ∅ = Set.univ
-- AlgebraicGeometry.Scheme.mem_zeroLocus_iff
@[simp]
lemma mem_zeroLocus_iff {U : X.Opens} (s : Set Γ(X, U)) (x : X) :
    x ∈ X.zeroLocus s ↔ ∀ f ∈ s, x ∉ X.basicOpen f 
Arguments: (X : AlgebraicGeometry.Scheme) {U : X.Opens} (s : Set ↑(X.presheaf.obj (Opposite.op U))) (x : ↑↑X.toPresheafedSpace)
Goal: x ∈ X.zeroLocus s ↔ ∀ f ∈ s, x ∉ X.basicOpen f
-- AlgebraicGeometry.basicOpen_eq_of_affine
theorem basicOpen_eq_of_affine {R : CommRingCat} (f : R) :
    (Spec R).basicOpen ((Scheme.ΓSpecIso R).inv f) = PrimeSpectrum.basicOpen f 
Arguments: {R : CommRingCat} (f : ↑R)
Goal: (AlgebraicGeometry.Spec R).basicOpen ((AlgebraicGeometry.Scheme.ΓSpecIso R).inv f) = PrimeSpectrum.basicOpen f
-- AlgebraicGeometry.basicOpen_eq_of_affine'
@[simp]
theorem basicOpen_eq_of_affine' {R : CommRingCat} (f : Γ(Spec R, ⊤)) :
    (Spec R).basicOpen f = PrimeSpectrum.basicOpen ((Scheme.ΓSpecIso R).hom f) 
Arguments: {R : CommRingCat} (f : ↑((AlgebraicGeometry.Spec R).presheaf.obj (Opposite.op ⊤)))
Goal: (AlgebraicGeometry.Spec R).basicOpen f = PrimeSpectrum.basicOpen ((AlgebraicGeometry.Scheme.ΓSpecIso R).hom f)
-- AlgebraicGeometry.Scheme.Spec_map_presheaf_map_eqToHom
theorem Scheme.Spec_map_presheaf_map_eqToHom {X : Scheme} {U V : X.Opens} (h : U = V) (W) :
    (Spec.map (X.presheaf.map (eqToHom h).op)).app W = eqToHom (by cases h; dsimp; simp) 
Arguments: {X : AlgebraicGeometry.Scheme} {U V : X.Opens} (h : U = V) (W : (AlgebraicGeometry.Spec (X.presheaf.obj (Opposite.op V))).Opens)
Goal: AlgebraicGeometry.Scheme.Hom.app (AlgebraicGeometry.Spec.map (X.presheaf.map (CategoryTheory.eqToHom h).op)) W =
  CategoryTheory.eqToHom ⋯
-- AlgebraicGeometry.Scheme.iso_hom_val_base_inv_val_base
@[reassoc (attr := simp)]
lemma Scheme.iso_hom_val_base_inv_val_base {X Y : Scheme.{u}} (e : X ≅ Y) :
    e.hom.val.base ≫ e.inv.val.base = 𝟙 _ 
Arguments: {X Y : AlgebraicGeometry.Scheme} (e : X ≅ Y)
Goal: e.hom.val.base ≫ e.inv.val.base = 𝟙 ↑X.toPresheafedSpace
-- AlgebraicGeometry.Scheme.iso_hom_val_base_inv_val_base_apply
@[simp]
lemma Scheme.iso_hom_val_base_inv_val_base_apply {X Y : Scheme.{u}} (e : X ≅ Y) (x : X) :
    (e.inv.val.base (e.hom.val.base x)) = x 
Arguments: {X Y : AlgebraicGeometry.Scheme} (e : X ≅ Y) (x : ↑↑X.toPresheafedSpace)
Goal: e.inv.val.base (e.hom.val.base x) = x
-- AlgebraicGeometry.Scheme.iso_inv_val_base_hom_val_base
@[reassoc (attr := simp)]
lemma Scheme.iso_inv_val_base_hom_val_base {X Y : Scheme.{u}} (e : X ≅ Y) :
    e.inv.val.base ≫ e.hom.val.base = 𝟙 _ 
Arguments: {X Y : AlgebraicGeometry.Scheme} (e : X ≅ Y)
Goal: e.inv.val.base ≫ e.hom.val.base = 𝟙 ↑Y.toPresheafedSpace
-- AlgebraicGeometry.Scheme.iso_inv_val_base_hom_val_base_apply
@[simp]
lemma Scheme.iso_inv_val_base_hom_val_base_apply {X Y : Scheme.{u}} (e : X ≅ Y) (y : Y) :
    (e.hom.val.base (e.inv.val.base y)) = y 
Arguments: {X Y : AlgebraicGeometry.Scheme} (e : X ≅ Y) (y : ↑↑Y.toPresheafedSpace)
Goal: e.hom.val.base (e.inv.val.base y) = y
-- AlgebraicGeometry.Scheme.stalkMap_id
@[simp]
lemma stalkMap_id (X : Scheme.{u}) (x : X) :
    (𝟙 X : X ⟶ X).stalkMap x = 𝟙 (X.presheaf.stalk x) 
Arguments: (X : AlgebraicGeometry.Scheme) (x : ↑↑X.toPresheafedSpace)
Goal: AlgebraicGeometry.Scheme.Hom.stalkMap (𝟙 X) x = 𝟙 (X.presheaf.stalk x)
-- AlgebraicGeometry.Scheme.stalkMap_comp
lemma stalkMap_comp {X Y Z : Scheme.{u}} (f : X ⟶ Y) (g : Y ⟶ Z) (x : X) :
    (f ≫ g : X ⟶ Z).stalkMap x = g.stalkMap (f.val.base x) ≫ f.stalkMap x 
Arguments: {X Y Z : AlgebraicGeometry.Scheme} (f : X ⟶ Y) (g : Y ⟶ Z) (x : ↑↑X.toPresheafedSpace)
Goal: AlgebraicGeometry.Scheme.Hom.stalkMap (f ≫ g) x =
  AlgebraicGeometry.Scheme.Hom.stalkMap g (f.val.base x) ≫ AlgebraicGeometry.Scheme.Hom.stalkMap f x