algebraic_geometry.projective_spectrum.topology
β·
Mathlib.AlgebraicGeometry.ProjectiveSpectrum.Topology
The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(last sync)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Jujian Zhang, Johan Commelin
-/
import RingTheory.GradedAlgebra.HomogeneousIdeal
-import Topology.Category.Top.Basic
+import Topology.Category.TopCat.Basic
import Topology.Sets.Opens
#align_import algebraic_geometry.projective_spectrum.topology from "leanprover-community/mathlib"@"4280f5f32e16755ec7985ce11e189b6cd6ff6735"
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -402,7 +402,7 @@ theorem sup_vanishingIdeal_le (t t' : Set (ProjectiveSpectrum π)) :
rw [β HomogeneousIdeal.mem_iff, HomogeneousIdeal.toIdeal_sup, mem_vanishing_ideal,
Submodule.mem_sup]
rintro β¨f, hf, g, hg, rflβ© x β¨hxt, hxt'β©
- erw [mem_vanishing_ideal] at hf hg
+ erw [mem_vanishing_ideal] at hf hg
apply Submodule.add_mem <;> solve_by_elim
#align projective_spectrum.sup_vanishing_ideal_le ProjectiveSpectrum.sup_vanishingIdeal_le
-/
@@ -461,8 +461,8 @@ theorem zeroLocus_vanishingIdeal_eq_closure (t : Set (ProjectiveSpectrum π))
by
apply Set.Subset.antisymm
Β· rintro x hx t' β¨ht', htβ©
- obtain β¨fs, rflβ© : β s, t' = zero_locus π s := by rwa [is_closed_iff_zero_locus] at ht'
- rw [subset_zero_locus_iff_subset_vanishing_ideal] at ht
+ obtain β¨fs, rflβ© : β s, t' = zero_locus π s := by rwa [is_closed_iff_zero_locus] at ht'
+ rw [subset_zero_locus_iff_subset_vanishing_ideal] at ht
exact Set.Subset.trans ht hx
Β· rw [(is_closed_zero_locus _ _).closure_subset_iff]
exact subset_zero_locus_vanishing_ideal π t
@@ -474,9 +474,9 @@ theorem vanishingIdeal_closure (t : Set (ProjectiveSpectrum π)) :
vanishingIdeal (closure t) = vanishingIdeal t :=
by
have := (gc_ideal π).u_l_u_eq_u t
- dsimp only at this
+ dsimp only at this
ext1
- erw [zero_locus_vanishing_ideal_eq_closure π t] at this
+ erw [zero_locus_vanishing_ideal_eq_closure π t] at this
exact this
#align projective_spectrum.vanishing_ideal_closure ProjectiveSpectrum.vanishingIdeal_closure
-/
@@ -589,7 +589,7 @@ theorem isTopologicalBasis_basic_opens :
Β· rintro _ β¨r, rflβ©
exact is_open_basic_open π
Β· rintro p U hp β¨s, hsβ©
- rw [β compl_compl U, Set.mem_compl_iff, β hs, mem_zero_locus, Set.not_subset] at hp
+ rw [β compl_compl U, Set.mem_compl_iff, β hs, mem_zero_locus, Set.not_subset] at hp
obtain β¨f, hfs, hfpβ© := hp
refine' β¨basic_open π f, β¨f, rflβ©, hfp, _β©
rw [β Set.compl_subset_compl, β hs, basic_open_eq_zero_locus_compl, compl_compl]
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -570,7 +570,10 @@ theorem basicOpen_eq_union_of_projection (f : A) :
Β· rcases show β i, GradedAlgebra.proj π i f β z.as_homogeneous_ideal
by
contrapose! hz with H
- classical with β¨i, hiβ©
+ classical
+ rw [β DirectSum.sum_support_decompose π f]
+ apply Ideal.sum_mem _ fun i hi => H i with
+ β¨i, hiβ©
exact β¨basic_open π (GradedAlgebra.proj π i f), β¨i, rflβ©, by rwa [mem_basic_open]β©
Β· obtain β¨_, β¨i, rflβ©, hzβ© := hz
exact fun rid => hz (z.1.2 i rid)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -570,10 +570,7 @@ theorem basicOpen_eq_union_of_projection (f : A) :
Β· rcases show β i, GradedAlgebra.proj π i f β z.as_homogeneous_ideal
by
contrapose! hz with H
- classical
- rw [β DirectSum.sum_support_decompose π f]
- apply Ideal.sum_mem _ fun i hi => H i with
- β¨i, hiβ©
+ classical with β¨i, hiβ©
exact β¨basic_open π (GradedAlgebra.proj π i f), β¨i, rflβ©, by rwa [mem_basic_open]β©
Β· obtain β¨_, β¨i, rflβ©, hzβ© := hz
exact fun rid => hz (z.1.2 i rid)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -585,7 +585,7 @@ theorem isTopologicalBasis_basic_opens :
TopologicalSpace.IsTopologicalBasis
(Set.range fun r : A => (basicOpen π r : Set (ProjectiveSpectrum π))) :=
by
- apply TopologicalSpace.isTopologicalBasis_of_open_of_nhds
+ apply TopologicalSpace.isTopologicalBasis_of_isOpen_of_nhds
Β· rintro _ β¨r, rflβ©
exact is_open_basic_open π
Β· rintro p U hp β¨s, hsβ©
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,9 +3,9 @@ Copyright (c) 2020 Jujian Zhang. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Jujian Zhang, Johan Commelin
-/
-import Mathbin.RingTheory.GradedAlgebra.HomogeneousIdeal
-import Mathbin.Topology.Category.Top.Basic
-import Mathbin.Topology.Sets.Opens
+import RingTheory.GradedAlgebra.HomogeneousIdeal
+import Topology.Category.Top.Basic
+import Topology.Sets.Opens
#align_import algebraic_geometry.projective_spectrum.topology from "leanprover-community/mathlib"@"4280f5f32e16755ec7985ce11e189b6cd6ff6735"
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,16 +2,13 @@
Copyright (c) 2020 Jujian Zhang. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Jujian Zhang, Johan Commelin
-
-! This file was ported from Lean 3 source module algebraic_geometry.projective_spectrum.topology
-! leanprover-community/mathlib commit 4280f5f32e16755ec7985ce11e189b6cd6ff6735
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.RingTheory.GradedAlgebra.HomogeneousIdeal
import Mathbin.Topology.Category.Top.Basic
import Mathbin.Topology.Sets.Opens
+#align_import algebraic_geometry.projective_spectrum.topology from "leanprover-community/mathlib"@"4280f5f32e16755ec7985ce11e189b6cd6ff6735"
+
/-!
# Projective spectrum of a graded ring
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -55,6 +55,7 @@ variable [CommSemiring R] [CommRing A] [Algebra R A]
variable (π : β β Submodule R A) [GradedAlgebra π]
+#print ProjectiveSpectrum /-
/-- The projective spectrum of a graded commutative ring is the subtype of all homogenous ideals
that are prime and do not contain the irrelevant ideal. -/
@[ext, nolint has_nonempty_instance]
@@ -63,11 +64,13 @@ structure ProjectiveSpectrum where
IsPrime : as_homogeneous_ideal.toIdeal.IsPrime
not_irrelevant_le : Β¬HomogeneousIdeal.irrelevant π β€ as_homogeneous_ideal
#align projective_spectrum ProjectiveSpectrum
+-/
attribute [instance] ProjectiveSpectrum.isPrime
namespace ProjectiveSpectrum
+#print ProjectiveSpectrum.zeroLocus /-
/-- The zero locus of a set `s` of elements of a commutative ring `A` is the set of all relevant
homogeneous prime ideals of the ring that contain the set `s`.
@@ -78,20 +81,26 @@ of `projective_spectrum π` where all "functions" in `s` vanish simultaneously
def zeroLocus (s : Set A) : Set (ProjectiveSpectrum π) :=
{x | s β x.asHomogeneousIdeal}
#align projective_spectrum.zero_locus ProjectiveSpectrum.zeroLocus
+-/
+#print ProjectiveSpectrum.mem_zeroLocus /-
@[simp]
theorem mem_zeroLocus (x : ProjectiveSpectrum π) (s : Set A) :
x β zeroLocus π s β s β x.asHomogeneousIdeal :=
Iff.rfl
#align projective_spectrum.mem_zero_locus ProjectiveSpectrum.mem_zeroLocus
+-/
+#print ProjectiveSpectrum.zeroLocus_span /-
@[simp]
theorem zeroLocus_span (s : Set A) : zeroLocus π (Ideal.span s) = zeroLocus π s := by ext x;
exact (Submodule.gi _ _).gc s x.as_homogeneous_ideal.to_ideal
#align projective_spectrum.zero_locus_span ProjectiveSpectrum.zeroLocus_span
+-/
variable {π}
+#print ProjectiveSpectrum.vanishingIdeal /-
/-- The vanishing ideal of a set `t` of points of the projective spectrum of a commutative ring `R`
is the intersection of all the relevant homogeneous prime ideals in the set `t`.
@@ -102,7 +111,9 @@ ideal of `A` consisting of all "functions" that vanish on all of `t`. -/
def vanishingIdeal (t : Set (ProjectiveSpectrum π)) : HomogeneousIdeal π :=
β¨
(x : ProjectiveSpectrum π) (h : x β t), x.asHomogeneousIdeal
#align projective_spectrum.vanishing_ideal ProjectiveSpectrum.vanishingIdeal
+-/
+#print ProjectiveSpectrum.coe_vanishingIdeal /-
theorem coe_vanishingIdeal (t : Set (ProjectiveSpectrum π)) :
(vanishingIdeal t : Set A) =
{f | β x : ProjectiveSpectrum π, x β t β f β x.asHomogeneousIdeal} :=
@@ -113,34 +124,44 @@ theorem coe_vanishingIdeal (t : Set (ProjectiveSpectrum π)) :
apply forall_congr' fun x => _
rw [HomogeneousIdeal.toIdeal_iInf, Submodule.mem_iInf, HomogeneousIdeal.mem_iff]
#align projective_spectrum.coe_vanishing_ideal ProjectiveSpectrum.coe_vanishingIdeal
+-/
+#print ProjectiveSpectrum.mem_vanishingIdeal /-
theorem mem_vanishingIdeal (t : Set (ProjectiveSpectrum π)) (f : A) :
f β vanishingIdeal t β β x : ProjectiveSpectrum π, x β t β f β x.asHomogeneousIdeal := by
rw [β SetLike.mem_coe, coe_vanishing_ideal, Set.mem_setOf_eq]
#align projective_spectrum.mem_vanishing_ideal ProjectiveSpectrum.mem_vanishingIdeal
+-/
+#print ProjectiveSpectrum.vanishingIdeal_singleton /-
@[simp]
theorem vanishingIdeal_singleton (x : ProjectiveSpectrum π) :
vanishingIdeal ({x} : Set (ProjectiveSpectrum π)) = x.asHomogeneousIdeal := by
simp [vanishing_ideal]
#align projective_spectrum.vanishing_ideal_singleton ProjectiveSpectrum.vanishingIdeal_singleton
+-/
+#print ProjectiveSpectrum.subset_zeroLocus_iff_le_vanishingIdeal /-
theorem subset_zeroLocus_iff_le_vanishingIdeal (t : Set (ProjectiveSpectrum π)) (I : Ideal A) :
t β zeroLocus π I β I β€ (vanishingIdeal t).toIdeal :=
β¨fun h f k => (mem_vanishingIdeal _ _).mpr fun x j => (mem_zeroLocus _ _ _).mpr (h j) k, fun h =>
fun x j =>
(mem_zeroLocus _ _ _).mpr (le_trans h fun f h => ((mem_vanishingIdeal _ _).mp h) x j)β©
#align projective_spectrum.subset_zero_locus_iff_le_vanishing_ideal ProjectiveSpectrum.subset_zeroLocus_iff_le_vanishingIdeal
+-/
variable (π)
+#print ProjectiveSpectrum.gc_ideal /-
/-- `zero_locus` and `vanishing_ideal` form a galois connection. -/
theorem gc_ideal :
@GaloisConnection (Ideal A) (Set (ProjectiveSpectrum π))α΅α΅ _ _ (fun I => zeroLocus π I) fun t =>
(vanishingIdeal t).toIdeal :=
fun I t => subset_zeroLocus_iff_le_vanishingIdeal t I
#align projective_spectrum.gc_ideal ProjectiveSpectrum.gc_ideal
+-/
+#print ProjectiveSpectrum.gc_set /-
/-- `zero_locus` and `vanishing_ideal` form a galois connection. -/
theorem gc_set :
@GaloisConnection (Set A) (Set (ProjectiveSpectrum π))α΅α΅ _ _ (fun s => zeroLocus π s) fun t =>
@@ -149,7 +170,9 @@ theorem gc_set :
have ideal_gc : GaloisConnection Ideal.span coe := (Submodule.gi A _).gc
simpa [zero_locus_span, Function.comp] using GaloisConnection.compose ideal_gc (gc_ideal π)
#align projective_spectrum.gc_set ProjectiveSpectrum.gc_set
+-/
+#print ProjectiveSpectrum.gc_homogeneousIdeal /-
theorem gc_homogeneousIdeal :
@GaloisConnection (HomogeneousIdeal π) (Set (ProjectiveSpectrum π))α΅α΅ _ _
(fun I => zeroLocus π I) fun t => vanishingIdeal t :=
@@ -157,160 +180,224 @@ theorem gc_homogeneousIdeal :
simpa [show I.to_ideal β€ (vanishing_ideal t).toIdeal β I β€ vanishing_ideal t from Iff.rfl] using
subset_zero_locus_iff_le_vanishing_ideal t I.to_ideal
#align projective_spectrum.gc_homogeneous_ideal ProjectiveSpectrum.gc_homogeneousIdeal
+-/
+#print ProjectiveSpectrum.subset_zeroLocus_iff_subset_vanishingIdeal /-
theorem subset_zeroLocus_iff_subset_vanishingIdeal (t : Set (ProjectiveSpectrum π)) (s : Set A) :
t β zeroLocus π s β s β vanishingIdeal t :=
(gc_set _) s t
#align projective_spectrum.subset_zero_locus_iff_subset_vanishing_ideal ProjectiveSpectrum.subset_zeroLocus_iff_subset_vanishingIdeal
+-/
+#print ProjectiveSpectrum.subset_vanishingIdeal_zeroLocus /-
theorem subset_vanishingIdeal_zeroLocus (s : Set A) : s β vanishingIdeal (zeroLocus π s) :=
(gc_set _).le_u_l s
#align projective_spectrum.subset_vanishing_ideal_zero_locus ProjectiveSpectrum.subset_vanishingIdeal_zeroLocus
+-/
+#print ProjectiveSpectrum.ideal_le_vanishingIdeal_zeroLocus /-
theorem ideal_le_vanishingIdeal_zeroLocus (I : Ideal A) :
I β€ (vanishingIdeal (zeroLocus π I)).toIdeal :=
(gc_ideal _).le_u_l I
#align projective_spectrum.ideal_le_vanishing_ideal_zero_locus ProjectiveSpectrum.ideal_le_vanishingIdeal_zeroLocus
+-/
+#print ProjectiveSpectrum.homogeneousIdeal_le_vanishingIdeal_zeroLocus /-
theorem homogeneousIdeal_le_vanishingIdeal_zeroLocus (I : HomogeneousIdeal π) :
I β€ vanishingIdeal (zeroLocus π I) :=
(gc_homogeneousIdeal _).le_u_l I
#align projective_spectrum.homogeneous_ideal_le_vanishing_ideal_zero_locus ProjectiveSpectrum.homogeneousIdeal_le_vanishingIdeal_zeroLocus
+-/
+#print ProjectiveSpectrum.subset_zeroLocus_vanishingIdeal /-
theorem subset_zeroLocus_vanishingIdeal (t : Set (ProjectiveSpectrum π)) :
t β zeroLocus π (vanishingIdeal t) :=
(gc_ideal _).l_u_le t
#align projective_spectrum.subset_zero_locus_vanishing_ideal ProjectiveSpectrum.subset_zeroLocus_vanishingIdeal
+-/
+#print ProjectiveSpectrum.zeroLocus_anti_mono /-
theorem zeroLocus_anti_mono {s t : Set A} (h : s β t) : zeroLocus π t β zeroLocus π s :=
(gc_set _).monotone_l h
#align projective_spectrum.zero_locus_anti_mono ProjectiveSpectrum.zeroLocus_anti_mono
+-/
+#print ProjectiveSpectrum.zeroLocus_anti_mono_ideal /-
theorem zeroLocus_anti_mono_ideal {s t : Ideal A} (h : s β€ t) :
zeroLocus π (t : Set A) β zeroLocus π (s : Set A) :=
(gc_ideal _).monotone_l h
#align projective_spectrum.zero_locus_anti_mono_ideal ProjectiveSpectrum.zeroLocus_anti_mono_ideal
+-/
+#print ProjectiveSpectrum.zeroLocus_anti_mono_homogeneousIdeal /-
theorem zeroLocus_anti_mono_homogeneousIdeal {s t : HomogeneousIdeal π} (h : s β€ t) :
zeroLocus π (t : Set A) β zeroLocus π (s : Set A) :=
(gc_homogeneousIdeal _).monotone_l h
#align projective_spectrum.zero_locus_anti_mono_homogeneous_ideal ProjectiveSpectrum.zeroLocus_anti_mono_homogeneousIdeal
+-/
+#print ProjectiveSpectrum.vanishingIdeal_anti_mono /-
theorem vanishingIdeal_anti_mono {s t : Set (ProjectiveSpectrum π)} (h : s β t) :
vanishingIdeal t β€ vanishingIdeal s :=
(gc_ideal _).monotone_u h
#align projective_spectrum.vanishing_ideal_anti_mono ProjectiveSpectrum.vanishingIdeal_anti_mono
+-/
+#print ProjectiveSpectrum.zeroLocus_bot /-
theorem zeroLocus_bot : zeroLocus π ((β₯ : Ideal A) : Set A) = Set.univ :=
(gc_ideal π).l_bot
#align projective_spectrum.zero_locus_bot ProjectiveSpectrum.zeroLocus_bot
+-/
+#print ProjectiveSpectrum.zeroLocus_singleton_zero /-
@[simp]
theorem zeroLocus_singleton_zero : zeroLocus π ({0} : Set A) = Set.univ :=
zeroLocus_bot _
#align projective_spectrum.zero_locus_singleton_zero ProjectiveSpectrum.zeroLocus_singleton_zero
+-/
+#print ProjectiveSpectrum.zeroLocus_empty /-
@[simp]
theorem zeroLocus_empty : zeroLocus π (β
: Set A) = Set.univ :=
(gc_set π).l_bot
#align projective_spectrum.zero_locus_empty ProjectiveSpectrum.zeroLocus_empty
+-/
+#print ProjectiveSpectrum.vanishingIdeal_univ /-
@[simp]
theorem vanishingIdeal_univ : vanishingIdeal (β
: Set (ProjectiveSpectrum π)) = β€ := by
simpa using (gc_ideal _).u_top
#align projective_spectrum.vanishing_ideal_univ ProjectiveSpectrum.vanishingIdeal_univ
+-/
+#print ProjectiveSpectrum.zeroLocus_empty_of_one_mem /-
theorem zeroLocus_empty_of_one_mem {s : Set A} (h : (1 : A) β s) : zeroLocus π s = β
:=
Set.eq_empty_iff_forall_not_mem.mpr fun x hx =>
(inferInstance : x.asHomogeneousIdeal.toIdeal.IsPrime).ne_top <|
x.asHomogeneousIdeal.toIdeal.eq_top_iff_one.mpr <| hx h
#align projective_spectrum.zero_locus_empty_of_one_mem ProjectiveSpectrum.zeroLocus_empty_of_one_mem
+-/
+#print ProjectiveSpectrum.zeroLocus_singleton_one /-
@[simp]
theorem zeroLocus_singleton_one : zeroLocus π ({1} : Set A) = β
:=
zeroLocus_empty_of_one_mem π (Set.mem_singleton (1 : A))
#align projective_spectrum.zero_locus_singleton_one ProjectiveSpectrum.zeroLocus_singleton_one
+-/
+#print ProjectiveSpectrum.zeroLocus_univ /-
@[simp]
theorem zeroLocus_univ : zeroLocus π (Set.univ : Set A) = β
:=
zeroLocus_empty_of_one_mem _ (Set.mem_univ 1)
#align projective_spectrum.zero_locus_univ ProjectiveSpectrum.zeroLocus_univ
+-/
+#print ProjectiveSpectrum.zeroLocus_sup_ideal /-
theorem zeroLocus_sup_ideal (I J : Ideal A) :
zeroLocus π ((I β J : Ideal A) : Set A) = zeroLocus _ I β© zeroLocus _ J :=
(gc_ideal π).l_sup
#align projective_spectrum.zero_locus_sup_ideal ProjectiveSpectrum.zeroLocus_sup_ideal
+-/
+#print ProjectiveSpectrum.zeroLocus_sup_homogeneousIdeal /-
theorem zeroLocus_sup_homogeneousIdeal (I J : HomogeneousIdeal π) :
zeroLocus π ((I β J : HomogeneousIdeal π) : Set A) = zeroLocus _ I β© zeroLocus _ J :=
(gc_homogeneousIdeal π).l_sup
#align projective_spectrum.zero_locus_sup_homogeneous_ideal ProjectiveSpectrum.zeroLocus_sup_homogeneousIdeal
+-/
+#print ProjectiveSpectrum.zeroLocus_union /-
theorem zeroLocus_union (s s' : Set A) : zeroLocus π (s βͺ s') = zeroLocus _ s β© zeroLocus _ s' :=
(gc_set π).l_sup
#align projective_spectrum.zero_locus_union ProjectiveSpectrum.zeroLocus_union
+-/
+#print ProjectiveSpectrum.vanishingIdeal_union /-
theorem vanishingIdeal_union (t t' : Set (ProjectiveSpectrum π)) :
vanishingIdeal (t βͺ t') = vanishingIdeal t β vanishingIdeal t' := by
ext1 <;> convert (gc_ideal π).u_inf
#align projective_spectrum.vanishing_ideal_union ProjectiveSpectrum.vanishingIdeal_union
+-/
+#print ProjectiveSpectrum.zeroLocus_iSup_ideal /-
theorem zeroLocus_iSup_ideal {Ξ³ : Sort _} (I : Ξ³ β Ideal A) :
zeroLocus _ ((β¨ i, I i : Ideal A) : Set A) = β i, zeroLocus π (I i) :=
(gc_ideal π).l_iSup
#align projective_spectrum.zero_locus_supr_ideal ProjectiveSpectrum.zeroLocus_iSup_ideal
+-/
+#print ProjectiveSpectrum.zeroLocus_iSup_homogeneousIdeal /-
theorem zeroLocus_iSup_homogeneousIdeal {Ξ³ : Sort _} (I : Ξ³ β HomogeneousIdeal π) :
zeroLocus _ ((β¨ i, I i : HomogeneousIdeal π) : Set A) = β i, zeroLocus π (I i) :=
(gc_homogeneousIdeal π).l_iSup
#align projective_spectrum.zero_locus_supr_homogeneous_ideal ProjectiveSpectrum.zeroLocus_iSup_homogeneousIdeal
+-/
+#print ProjectiveSpectrum.zeroLocus_iUnion /-
theorem zeroLocus_iUnion {Ξ³ : Sort _} (s : Ξ³ β Set A) :
zeroLocus π (β i, s i) = β i, zeroLocus π (s i) :=
(gc_set π).l_iSup
#align projective_spectrum.zero_locus_Union ProjectiveSpectrum.zeroLocus_iUnion
+-/
+#print ProjectiveSpectrum.zeroLocus_bUnion /-
theorem zeroLocus_bUnion (s : Set (Set A)) :
zeroLocus π (β s' β s, s' : Set A) = β s' β s, zeroLocus π s' := by simp only [zero_locus_Union]
#align projective_spectrum.zero_locus_bUnion ProjectiveSpectrum.zeroLocus_bUnion
+-/
+#print ProjectiveSpectrum.vanishingIdeal_iUnion /-
theorem vanishingIdeal_iUnion {Ξ³ : Sort _} (t : Ξ³ β Set (ProjectiveSpectrum π)) :
vanishingIdeal (β i, t i) = β¨
i, vanishingIdeal (t i) :=
HomogeneousIdeal.toIdeal_injective <| by
convert (gc_ideal π).u_iInf <;> exact HomogeneousIdeal.toIdeal_iInf _
#align projective_spectrum.vanishing_ideal_Union ProjectiveSpectrum.vanishingIdeal_iUnion
+-/
+#print ProjectiveSpectrum.zeroLocus_inf /-
theorem zeroLocus_inf (I J : Ideal A) :
zeroLocus π ((I β J : Ideal A) : Set A) = zeroLocus π I βͺ zeroLocus π J :=
Set.ext fun x => x.IsPrime.inf_le
#align projective_spectrum.zero_locus_inf ProjectiveSpectrum.zeroLocus_inf
+-/
+#print ProjectiveSpectrum.union_zeroLocus /-
theorem union_zeroLocus (s s' : Set A) :
zeroLocus π s βͺ zeroLocus π s' = zeroLocus π (Ideal.span s β Ideal.span s' : Ideal A) := by
rw [zero_locus_inf]; simp
#align projective_spectrum.union_zero_locus ProjectiveSpectrum.union_zeroLocus
+-/
+#print ProjectiveSpectrum.zeroLocus_mul_ideal /-
theorem zeroLocus_mul_ideal (I J : Ideal A) :
zeroLocus π ((I * J : Ideal A) : Set A) = zeroLocus π I βͺ zeroLocus π J :=
Set.ext fun x => x.IsPrime.mul_le
#align projective_spectrum.zero_locus_mul_ideal ProjectiveSpectrum.zeroLocus_mul_ideal
+-/
+#print ProjectiveSpectrum.zeroLocus_mul_homogeneousIdeal /-
theorem zeroLocus_mul_homogeneousIdeal (I J : HomogeneousIdeal π) :
zeroLocus π ((I * J : HomogeneousIdeal π) : Set A) = zeroLocus π I βͺ zeroLocus π J :=
Set.ext fun x => x.IsPrime.mul_le
#align projective_spectrum.zero_locus_mul_homogeneous_ideal ProjectiveSpectrum.zeroLocus_mul_homogeneousIdeal
+-/
+#print ProjectiveSpectrum.zeroLocus_singleton_mul /-
theorem zeroLocus_singleton_mul (f g : A) :
zeroLocus π ({f * g} : Set A) = zeroLocus π {f} βͺ zeroLocus π {g} :=
Set.ext fun x => by simpa using x.is_prime.mul_mem_iff_mem_or_mem
#align projective_spectrum.zero_locus_singleton_mul ProjectiveSpectrum.zeroLocus_singleton_mul
+-/
+#print ProjectiveSpectrum.zeroLocus_singleton_pow /-
@[simp]
theorem zeroLocus_singleton_pow (f : A) (n : β) (hn : 0 < n) :
zeroLocus π ({f ^ n} : Set A) = zeroLocus π {f} :=
Set.ext fun x => by simpa using x.is_prime.pow_mem_iff_mem n hn
#align projective_spectrum.zero_locus_singleton_pow ProjectiveSpectrum.zeroLocus_singleton_pow
+-/
+#print ProjectiveSpectrum.sup_vanishingIdeal_le /-
theorem sup_vanishingIdeal_le (t t' : Set (ProjectiveSpectrum π)) :
vanishingIdeal t β vanishingIdeal t' β€ vanishingIdeal (t β© t') :=
by
@@ -321,12 +408,16 @@ theorem sup_vanishingIdeal_le (t t' : Set (ProjectiveSpectrum π)) :
erw [mem_vanishing_ideal] at hf hg
apply Submodule.add_mem <;> solve_by_elim
#align projective_spectrum.sup_vanishing_ideal_le ProjectiveSpectrum.sup_vanishingIdeal_le
+-/
+#print ProjectiveSpectrum.mem_compl_zeroLocus_iff_not_mem /-
theorem mem_compl_zeroLocus_iff_not_mem {f : A} {I : ProjectiveSpectrum π} :
I β (zeroLocus π {f} : Set (ProjectiveSpectrum π))αΆ β f β I.asHomogeneousIdeal := by
rw [Set.mem_compl_iff, mem_zero_locus, Set.singleton_subset_iff] <;> rfl
#align projective_spectrum.mem_compl_zero_locus_iff_not_mem ProjectiveSpectrum.mem_compl_zeroLocus_iff_not_mem
+-/
+#print ProjectiveSpectrum.zariskiTopology /-
/-- The Zariski topology on the prime spectrum of a commutative ring is defined via the closed sets
of the topology: they are exactly those sets that are the zero locus of a subset of the ring. -/
instance zariskiTopology : TopologicalSpace (ProjectiveSpectrum π) :=
@@ -340,24 +431,34 @@ instance zariskiTopology : TopologicalSpace (ProjectiveSpectrum π) :=
exact β¨_, zero_locus_Union π _β©)
(by rintro _ β¨s, rflβ© _ β¨t, rflβ©; exact β¨_, (union_zero_locus π s t).symmβ©)
#align projective_spectrum.zariski_topology ProjectiveSpectrum.zariskiTopology
+-/
+#print ProjectiveSpectrum.top /-
/-- The underlying topology of `Proj` is the projective spectrum of graded ring `A`. -/
def top : TopCat :=
TopCat.of (ProjectiveSpectrum π)
#align projective_spectrum.Top ProjectiveSpectrum.top
+-/
+#print ProjectiveSpectrum.isOpen_iff /-
theorem isOpen_iff (U : Set (ProjectiveSpectrum π)) : IsOpen U β β s, UαΆ = zeroLocus π s := by
simp only [@eq_comm _ (UαΆ)] <;> rfl
#align projective_spectrum.is_open_iff ProjectiveSpectrum.isOpen_iff
+-/
+#print ProjectiveSpectrum.isClosed_iff_zeroLocus /-
theorem isClosed_iff_zeroLocus (Z : Set (ProjectiveSpectrum π)) :
IsClosed Z β β s, Z = zeroLocus π s := by rw [β isOpen_compl_iff, is_open_iff, compl_compl]
#align projective_spectrum.is_closed_iff_zero_locus ProjectiveSpectrum.isClosed_iff_zeroLocus
+-/
+#print ProjectiveSpectrum.isClosed_zeroLocus /-
theorem isClosed_zeroLocus (s : Set A) : IsClosed (zeroLocus π s) := by
rw [is_closed_iff_zero_locus]; exact β¨s, rflβ©
#align projective_spectrum.is_closed_zero_locus ProjectiveSpectrum.isClosed_zeroLocus
+-/
+#print ProjectiveSpectrum.zeroLocus_vanishingIdeal_eq_closure /-
theorem zeroLocus_vanishingIdeal_eq_closure (t : Set (ProjectiveSpectrum π)) :
zeroLocus π (vanishingIdeal t : Set A) = closure t :=
by
@@ -369,7 +470,9 @@ theorem zeroLocus_vanishingIdeal_eq_closure (t : Set (ProjectiveSpectrum π))
Β· rw [(is_closed_zero_locus _ _).closure_subset_iff]
exact subset_zero_locus_vanishing_ideal π t
#align projective_spectrum.zero_locus_vanishing_ideal_eq_closure ProjectiveSpectrum.zeroLocus_vanishingIdeal_eq_closure
+-/
+#print ProjectiveSpectrum.vanishingIdeal_closure /-
theorem vanishingIdeal_closure (t : Set (ProjectiveSpectrum π)) :
vanishingIdeal (closure t) = vanishingIdeal t :=
by
@@ -379,64 +482,88 @@ theorem vanishingIdeal_closure (t : Set (ProjectiveSpectrum π)) :
erw [zero_locus_vanishing_ideal_eq_closure π t] at this
exact this
#align projective_spectrum.vanishing_ideal_closure ProjectiveSpectrum.vanishingIdeal_closure
+-/
section BasicOpen
+#print ProjectiveSpectrum.basicOpen /-
/-- `basic_open r` is the open subset containing all prime ideals not containing `r`. -/
def basicOpen (r : A) : TopologicalSpace.Opens (ProjectiveSpectrum π)
where
carrier := {x | r β x.asHomogeneousIdeal}
is_open' := β¨{r}, Set.ext fun x => Set.singleton_subset_iff.trans <| Classical.not_not.symmβ©
#align projective_spectrum.basic_open ProjectiveSpectrum.basicOpen
+-/
+#print ProjectiveSpectrum.mem_basicOpen /-
@[simp]
theorem mem_basicOpen (f : A) (x : ProjectiveSpectrum π) :
x β basicOpen π f β f β x.asHomogeneousIdeal :=
Iff.rfl
#align projective_spectrum.mem_basic_open ProjectiveSpectrum.mem_basicOpen
+-/
+#print ProjectiveSpectrum.mem_coe_basicOpen /-
theorem mem_coe_basicOpen (f : A) (x : ProjectiveSpectrum π) :
x β (β(basicOpen π f) : Set (ProjectiveSpectrum π)) β f β x.asHomogeneousIdeal :=
Iff.rfl
#align projective_spectrum.mem_coe_basic_open ProjectiveSpectrum.mem_coe_basicOpen
+-/
+#print ProjectiveSpectrum.isOpen_basicOpen /-
theorem isOpen_basicOpen {a : A} : IsOpen (basicOpen π a : Set (ProjectiveSpectrum π)) :=
(basicOpen π a).IsOpen
#align projective_spectrum.is_open_basic_open ProjectiveSpectrum.isOpen_basicOpen
+-/
+#print ProjectiveSpectrum.basicOpen_eq_zeroLocus_compl /-
@[simp]
theorem basicOpen_eq_zeroLocus_compl (r : A) :
(basicOpen π r : Set (ProjectiveSpectrum π)) = zeroLocus π {r}αΆ :=
Set.ext fun x => by simpa only [Set.mem_compl_iff, mem_zero_locus, Set.singleton_subset_iff]
#align projective_spectrum.basic_open_eq_zero_locus_compl ProjectiveSpectrum.basicOpen_eq_zeroLocus_compl
+-/
+#print ProjectiveSpectrum.basicOpen_one /-
@[simp]
theorem basicOpen_one : basicOpen π (1 : A) = β€ :=
TopologicalSpace.Opens.ext <| by simp
#align projective_spectrum.basic_open_one ProjectiveSpectrum.basicOpen_one
+-/
+#print ProjectiveSpectrum.basicOpen_zero /-
@[simp]
theorem basicOpen_zero : basicOpen π (0 : A) = β₯ :=
TopologicalSpace.Opens.ext <| by simp
#align projective_spectrum.basic_open_zero ProjectiveSpectrum.basicOpen_zero
+-/
+#print ProjectiveSpectrum.basicOpen_mul /-
theorem basicOpen_mul (f g : A) : basicOpen π (f * g) = basicOpen π f β basicOpen π g :=
TopologicalSpace.Opens.ext <| by simp [zero_locus_singleton_mul]
#align projective_spectrum.basic_open_mul ProjectiveSpectrum.basicOpen_mul
+-/
+#print ProjectiveSpectrum.basicOpen_mul_le_left /-
theorem basicOpen_mul_le_left (f g : A) : basicOpen π (f * g) β€ basicOpen π f := by
rw [basic_open_mul π f g]; exact inf_le_left
#align projective_spectrum.basic_open_mul_le_left ProjectiveSpectrum.basicOpen_mul_le_left
+-/
+#print ProjectiveSpectrum.basicOpen_mul_le_right /-
theorem basicOpen_mul_le_right (f g : A) : basicOpen π (f * g) β€ basicOpen π g := by
rw [basic_open_mul π f g]; exact inf_le_right
#align projective_spectrum.basic_open_mul_le_right ProjectiveSpectrum.basicOpen_mul_le_right
+-/
+#print ProjectiveSpectrum.basicOpen_pow /-
@[simp]
theorem basicOpen_pow (f : A) (n : β) (hn : 0 < n) : basicOpen π (f ^ n) = basicOpen π f :=
TopologicalSpace.Opens.ext <| by simpa using zero_locus_singleton_pow π f n hn
#align projective_spectrum.basic_open_pow ProjectiveSpectrum.basicOpen_pow
+-/
+#print ProjectiveSpectrum.basicOpen_eq_union_of_projection /-
theorem basicOpen_eq_union_of_projection (f : A) :
basicOpen π f = β¨ i : β, basicOpen π (GradedAlgebra.proj π i f) :=
TopologicalSpace.Opens.ext <|
@@ -454,7 +581,9 @@ theorem basicOpen_eq_union_of_projection (f : A) :
Β· obtain β¨_, β¨i, rflβ©, hzβ© := hz
exact fun rid => hz (z.1.2 i rid)
#align projective_spectrum.basic_open_eq_union_of_projection ProjectiveSpectrum.basicOpen_eq_union_of_projection
+-/
+#print ProjectiveSpectrum.isTopologicalBasis_basic_opens /-
theorem isTopologicalBasis_basic_opens :
TopologicalSpace.IsTopologicalBasis
(Set.range fun r : A => (basicOpen π r : Set (ProjectiveSpectrum π))) :=
@@ -469,6 +598,7 @@ theorem isTopologicalBasis_basic_opens :
rw [β Set.compl_subset_compl, β hs, basic_open_eq_zero_locus_compl, compl_compl]
exact zero_locus_anti_mono π (set.singleton_subset_iff.mpr hfs)
#align projective_spectrum.is_topological_basis_basic_opens ProjectiveSpectrum.isTopologicalBasis_basic_opens
+-/
end BasicOpen
@@ -485,18 +615,23 @@ where `x β€ y` if and only if `y β closure {x}`.
instance : PartialOrder (ProjectiveSpectrum π) :=
PartialOrder.lift asHomogeneousIdeal fun β¨_, _, _β© β¨_, _, _β© => mk.inj_eq.mpr
+#print ProjectiveSpectrum.as_ideal_le_as_ideal /-
@[simp]
theorem as_ideal_le_as_ideal (x y : ProjectiveSpectrum π) :
x.asHomogeneousIdeal β€ y.asHomogeneousIdeal β x β€ y :=
Iff.rfl
#align projective_spectrum.as_ideal_le_as_ideal ProjectiveSpectrum.as_ideal_le_as_ideal
+-/
+#print ProjectiveSpectrum.as_ideal_lt_as_ideal /-
@[simp]
theorem as_ideal_lt_as_ideal (x y : ProjectiveSpectrum π) :
x.asHomogeneousIdeal < y.asHomogeneousIdeal β x < y :=
Iff.rfl
#align projective_spectrum.as_ideal_lt_as_ideal ProjectiveSpectrum.as_ideal_lt_as_ideal
+-/
+#print ProjectiveSpectrum.le_iff_mem_closure /-
theorem le_iff_mem_closure (x y : ProjectiveSpectrum π) :
x β€ y β y β closure ({x} : Set (ProjectiveSpectrum π)) :=
by
@@ -504,6 +639,7 @@ theorem le_iff_mem_closure (x y : ProjectiveSpectrum π) :
vanishing_ideal_singleton]
simp only [coe_subset_coe, Subtype.coe_le_coe, coe_coe]
#align projective_spectrum.le_iff_mem_closure ProjectiveSpectrum.le_iff_mem_closure
+-/
end Order
mathlib commit https://github.com/leanprover-community/mathlib/commit/5f25c089cb34db4db112556f23c50d12da81b297
@@ -76,7 +76,7 @@ At a point `x` (a homogeneous prime ideal) the function (i.e., element) `f` take
quotient ring `A` modulo the prime ideal `x`. In this manner, `zero_locus s` is exactly the subset
of `projective_spectrum π` where all "functions" in `s` vanish simultaneously. -/
def zeroLocus (s : Set A) : Set (ProjectiveSpectrum π) :=
- { x | s β x.asHomogeneousIdeal }
+ {x | s β x.asHomogeneousIdeal}
#align projective_spectrum.zero_locus ProjectiveSpectrum.zeroLocus
@[simp]
@@ -105,7 +105,7 @@ def vanishingIdeal (t : Set (ProjectiveSpectrum π)) : HomogeneousIdeal π :
theorem coe_vanishingIdeal (t : Set (ProjectiveSpectrum π)) :
(vanishingIdeal t : Set A) =
- { f | β x : ProjectiveSpectrum π, x β t β f β x.asHomogeneousIdeal } :=
+ {f | β x : ProjectiveSpectrum π, x β t β f β x.asHomogeneousIdeal} :=
by
ext f
rw [vanishing_ideal, SetLike.mem_coe, β HomogeneousIdeal.mem_iff, HomogeneousIdeal.toIdeal_iInf,
@@ -252,7 +252,7 @@ theorem zeroLocus_union (s s' : Set A) : zeroLocus π (s βͺ s') = zeroLocus _
theorem vanishingIdeal_union (t t' : Set (ProjectiveSpectrum π)) :
vanishingIdeal (t βͺ t') = vanishingIdeal t β vanishingIdeal t' := by
- ext1 <;> convert(gc_ideal π).u_inf
+ ext1 <;> convert (gc_ideal π).u_inf
#align projective_spectrum.vanishing_ideal_union ProjectiveSpectrum.vanishingIdeal_union
theorem zeroLocus_iSup_ideal {Ξ³ : Sort _} (I : Ξ³ β Ideal A) :
@@ -277,7 +277,7 @@ theorem zeroLocus_bUnion (s : Set (Set A)) :
theorem vanishingIdeal_iUnion {Ξ³ : Sort _} (t : Ξ³ β Set (ProjectiveSpectrum π)) :
vanishingIdeal (β i, t i) = β¨
i, vanishingIdeal (t i) :=
HomogeneousIdeal.toIdeal_injective <| by
- convert(gc_ideal π).u_iInf <;> exact HomogeneousIdeal.toIdeal_iInf _
+ convert (gc_ideal π).u_iInf <;> exact HomogeneousIdeal.toIdeal_iInf _
#align projective_spectrum.vanishing_ideal_Union ProjectiveSpectrum.vanishingIdeal_iUnion
theorem zeroLocus_inf (I J : Ideal A) :
@@ -385,7 +385,7 @@ section BasicOpen
/-- `basic_open r` is the open subset containing all prime ideals not containing `r`. -/
def basicOpen (r : A) : TopologicalSpace.Opens (ProjectiveSpectrum π)
where
- carrier := { x | r β x.asHomogeneousIdeal }
+ carrier := {x | r β x.asHomogeneousIdeal}
is_open' := β¨{r}, Set.ext fun x => Set.singleton_subset_iff.trans <| Classical.not_not.symmβ©
#align projective_spectrum.basic_open ProjectiveSpectrum.basicOpen
@@ -447,8 +447,8 @@ theorem basicOpen_eq_union_of_projection (f : A) :
by
contrapose! hz with H
classical
- rw [β DirectSum.sum_support_decompose π f]
- apply Ideal.sum_mem _ fun i hi => H i with
+ rw [β DirectSum.sum_support_decompose π f]
+ apply Ideal.sum_mem _ fun i hi => H i with
β¨i, hiβ©
exact β¨basic_open π (GradedAlgebra.proj π i f), β¨i, rflβ©, by rwa [mem_basic_open]β©
Β· obtain β¨_, β¨i, rflβ©, hzβ© := hz
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -318,7 +318,7 @@ theorem sup_vanishingIdeal_le (t t' : Set (ProjectiveSpectrum π)) :
rw [β HomogeneousIdeal.mem_iff, HomogeneousIdeal.toIdeal_sup, mem_vanishing_ideal,
Submodule.mem_sup]
rintro β¨f, hf, g, hg, rflβ© x β¨hxt, hxt'β©
- erw [mem_vanishing_ideal] at hf hg
+ erw [mem_vanishing_ideal] at hf hg
apply Submodule.add_mem <;> solve_by_elim
#align projective_spectrum.sup_vanishing_ideal_le ProjectiveSpectrum.sup_vanishingIdeal_le
@@ -363,8 +363,8 @@ theorem zeroLocus_vanishingIdeal_eq_closure (t : Set (ProjectiveSpectrum π))
by
apply Set.Subset.antisymm
Β· rintro x hx t' β¨ht', htβ©
- obtain β¨fs, rflβ© : β s, t' = zero_locus π s := by rwa [is_closed_iff_zero_locus] at ht'
- rw [subset_zero_locus_iff_subset_vanishing_ideal] at ht
+ obtain β¨fs, rflβ© : β s, t' = zero_locus π s := by rwa [is_closed_iff_zero_locus] at ht'
+ rw [subset_zero_locus_iff_subset_vanishing_ideal] at ht
exact Set.Subset.trans ht hx
Β· rw [(is_closed_zero_locus _ _).closure_subset_iff]
exact subset_zero_locus_vanishing_ideal π t
@@ -374,9 +374,9 @@ theorem vanishingIdeal_closure (t : Set (ProjectiveSpectrum π)) :
vanishingIdeal (closure t) = vanishingIdeal t :=
by
have := (gc_ideal π).u_l_u_eq_u t
- dsimp only at this
+ dsimp only at this
ext1
- erw [zero_locus_vanishing_ideal_eq_closure π t] at this
+ erw [zero_locus_vanishing_ideal_eq_closure π t] at this
exact this
#align projective_spectrum.vanishing_ideal_closure ProjectiveSpectrum.vanishingIdeal_closure
@@ -463,7 +463,7 @@ theorem isTopologicalBasis_basic_opens :
Β· rintro _ β¨r, rflβ©
exact is_open_basic_open π
Β· rintro p U hp β¨s, hsβ©
- rw [β compl_compl U, Set.mem_compl_iff, β hs, mem_zero_locus, Set.not_subset] at hp
+ rw [β compl_compl U, Set.mem_compl_iff, β hs, mem_zero_locus, Set.not_subset] at hp
obtain β¨f, hfs, hfpβ© := hp
refine' β¨basic_open π f, β¨f, rflβ©, hfp, _β©
rw [β Set.compl_subset_compl, β hs, basic_open_eq_zero_locus_compl, compl_compl]
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -45,7 +45,7 @@ It is naturally endowed with a topology: the Zariski topology.
noncomputable section
-open DirectSum BigOperators Pointwise
+open scoped DirectSum BigOperators Pointwise
open DirectSum SetLike TopCat TopologicalSpace CategoryTheory Opposite
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -55,12 +55,6 @@ variable [CommSemiring R] [CommRing A] [Algebra R A]
variable (π : β β Submodule R A) [GradedAlgebra π]
-/- warning: projective_spectrum -> ProjectiveSpectrum is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π], Type.{u2}
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π], Type.{u2}
-Case conversion may be inaccurate. Consider using '#align projective_spectrum ProjectiveSpectrumβ'. -/
/-- The projective spectrum of a graded commutative ring is the subtype of all homogenous ideals
that are prime and do not contain the irrelevant ideal. -/
@[ext, nolint has_nonempty_instance]
@@ -74,12 +68,6 @@ attribute [instance] ProjectiveSpectrum.isPrime
namespace ProjectiveSpectrum
-/- warning: projective_spectrum.zero_locus -> ProjectiveSpectrum.zeroLocus is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π], (Set.{u2} A) -> (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π], (Set.{u2} A) -> (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus ProjectiveSpectrum.zeroLocusβ'. -/
/-- The zero locus of a set `s` of elements of a commutative ring `A` is the set of all relevant
homogeneous prime ideals of the ring that contain the set `s`.
@@ -91,21 +79,12 @@ def zeroLocus (s : Set A) : Set (ProjectiveSpectrum π) :=
{ x | s β x.asHomogeneousIdeal }
#align projective_spectrum.zero_locus ProjectiveSpectrum.zeroLocus
-/- warning: projective_spectrum.mem_zero_locus -> ProjectiveSpectrum.mem_zeroLocus is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.mem_zero_locus ProjectiveSpectrum.mem_zeroLocusβ'. -/
@[simp]
theorem mem_zeroLocus (x : ProjectiveSpectrum π) (s : Set A) :
x β zeroLocus π s β s β x.asHomogeneousIdeal :=
Iff.rfl
#align projective_spectrum.mem_zero_locus ProjectiveSpectrum.mem_zeroLocus
-/- warning: projective_spectrum.zero_locus_span -> ProjectiveSpectrum.zeroLocus_span is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (s : Set.{u2} A), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))))) (Ideal.span.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) s))) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s)
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (s : Set.{u2} A), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) (Ideal.span.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) s))) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s)
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_span ProjectiveSpectrum.zeroLocus_spanβ'. -/
@[simp]
theorem zeroLocus_span (s : Set A) : zeroLocus π (Ideal.span s) = zeroLocus π s := by ext x;
exact (Submodule.gi _ _).gc s x.as_homogeneous_ideal.to_ideal
@@ -113,12 +92,6 @@ theorem zeroLocus_span (s : Set A) : zeroLocus π (Ideal.span s) = zeroLocus
variable {π}
-/- warning: projective_spectrum.vanishing_ideal -> ProjectiveSpectrum.vanishingIdeal is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] {π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))} [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π], (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) -> (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4)
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] {π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))} [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π], (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) -> (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4)
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.vanishing_ideal ProjectiveSpectrum.vanishingIdealβ'. -/
/-- The vanishing ideal of a set `t` of points of the projective spectrum of a commutative ring `R`
is the intersection of all the relevant homogeneous prime ideals in the set `t`.
@@ -130,9 +103,6 @@ def vanishingIdeal (t : Set (ProjectiveSpectrum π)) : HomogeneousIdeal π :
β¨
(x : ProjectiveSpectrum π) (h : x β t), x.asHomogeneousIdeal
#align projective_spectrum.vanishing_ideal ProjectiveSpectrum.vanishingIdeal
-/- warning: projective_spectrum.coe_vanishing_ideal -> ProjectiveSpectrum.coe_vanishingIdeal is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.coe_vanishing_ideal ProjectiveSpectrum.coe_vanishingIdealβ'. -/
theorem coe_vanishingIdeal (t : Set (ProjectiveSpectrum π)) :
(vanishingIdeal t : Set A) =
{ f | β x : ProjectiveSpectrum π, x β t β f β x.asHomogeneousIdeal } :=
@@ -144,32 +114,17 @@ theorem coe_vanishingIdeal (t : Set (ProjectiveSpectrum π)) :
rw [HomogeneousIdeal.toIdeal_iInf, Submodule.mem_iInf, HomogeneousIdeal.mem_iff]
#align projective_spectrum.coe_vanishing_ideal ProjectiveSpectrum.coe_vanishingIdeal
-/- warning: projective_spectrum.mem_vanishing_ideal -> ProjectiveSpectrum.mem_vanishingIdeal is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.mem_vanishing_ideal ProjectiveSpectrum.mem_vanishingIdealβ'. -/
theorem mem_vanishingIdeal (t : Set (ProjectiveSpectrum π)) (f : A) :
f β vanishingIdeal t β β x : ProjectiveSpectrum π, x β t β f β x.asHomogeneousIdeal := by
rw [β SetLike.mem_coe, coe_vanishing_ideal, Set.mem_setOf_eq]
#align projective_spectrum.mem_vanishing_ideal ProjectiveSpectrum.mem_vanishingIdeal
-/- warning: projective_spectrum.vanishing_ideal_singleton -> ProjectiveSpectrum.vanishingIdeal_singleton is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] {π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))} [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (x : ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4), Eq.{succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Singleton.singleton.{u2, u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasSingleton.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) x)) (ProjectiveSpectrum.asHomogeneousIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 x)
-but is expected to have type
- forall {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_3 : Algebra.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] {π : Nat -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3))} [_inst_4 : GradedAlgebra.{0, u2, u1} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3 π] (x : ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4), Eq.{succ u1} (HomogeneousIdeal.{0, u1, u1} Nat (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (ProjectiveSpectrum.vanishingIdeal.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Singleton.singleton.{u1, u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Set.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instSingletonSet.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4)) x)) (ProjectiveSpectrum.asHomogeneousIdeal.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4 x)
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.vanishing_ideal_singleton ProjectiveSpectrum.vanishingIdeal_singletonβ'. -/
@[simp]
theorem vanishingIdeal_singleton (x : ProjectiveSpectrum π) :
vanishingIdeal ({x} : Set (ProjectiveSpectrum π)) = x.asHomogeneousIdeal := by
simp [vanishing_ideal]
#align projective_spectrum.vanishing_ideal_singleton ProjectiveSpectrum.vanishingIdeal_singleton
-/- warning: projective_spectrum.subset_zero_locus_iff_le_vanishing_ideal -> ProjectiveSpectrum.subset_zeroLocus_iff_le_vanishingIdeal is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] {π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))} [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (t : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (I : Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))), Iff (HasSubset.Subset.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasSubset.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) t (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))))) I))) (LE.le.{u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Preorder.toHasLe.{u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (SetLike.partialOrder.{u2, u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))))) I (HomogeneousIdeal.toIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4 (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t)))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] {π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))} [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (t : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (I : Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))), Iff (HasSubset.Subset.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instHasSubsetSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) t (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) I))) (LE.le.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (Preorder.toLE.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (Submodule.completeLattice.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))))))) I (HomogeneousIdeal.toIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4 (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t)))
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.subset_zero_locus_iff_le_vanishing_ideal ProjectiveSpectrum.subset_zeroLocus_iff_le_vanishingIdealβ'. -/
theorem subset_zeroLocus_iff_le_vanishingIdeal (t : Set (ProjectiveSpectrum π)) (I : Ideal A) :
t β zeroLocus π I β I β€ (vanishingIdeal t).toIdeal :=
β¨fun h f k => (mem_vanishingIdeal _ _).mpr fun x j => (mem_zeroLocus _ _ _).mpr (h j) k, fun h =>
@@ -179,12 +134,6 @@ theorem subset_zeroLocus_iff_le_vanishingIdeal (t : Set (ProjectiveSpectrum π
variable (π)
-/- warning: projective_spectrum.gc_ideal -> ProjectiveSpectrum.gc_ideal is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π], GaloisConnection.{u2, u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (OrderDual.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (SetLike.partialOrder.{u2, u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)))))) (OrderDual.preorder.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (PartialOrder.toPreorder.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.completeBooleanAlgebra.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))))))))) (fun (I : Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) => ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))))) I)) (fun (t : OrderDual.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))) => HomogeneousIdeal.toIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4 (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π], GaloisConnection.{u2, u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (OrderDual.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (Submodule.completeLattice.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))))) (OrderDual.preorder.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (PartialOrder.toPreorder.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instCompleteBooleanAlgebraSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))))))))) (fun (I : Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) => ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) I)) (fun (t : OrderDual.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))) => HomogeneousIdeal.toIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4 (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t))
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.gc_ideal ProjectiveSpectrum.gc_idealβ'. -/
/-- `zero_locus` and `vanishing_ideal` form a galois connection. -/
theorem gc_ideal :
@GaloisConnection (Ideal A) (Set (ProjectiveSpectrum π))α΅α΅ _ _ (fun I => zeroLocus π I) fun t =>
@@ -192,9 +141,6 @@ theorem gc_ideal :
fun I t => subset_zeroLocus_iff_le_vanishingIdeal t I
#align projective_spectrum.gc_ideal ProjectiveSpectrum.gc_ideal
-/- warning: projective_spectrum.gc_set -> ProjectiveSpectrum.gc_set is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.gc_set ProjectiveSpectrum.gc_setβ'. -/
/-- `zero_locus` and `vanishing_ideal` form a galois connection. -/
theorem gc_set :
@GaloisConnection (Set A) (Set (ProjectiveSpectrum π))α΅α΅ _ _ (fun s => zeroLocus π s) fun t =>
@@ -204,9 +150,6 @@ theorem gc_set :
simpa [zero_locus_span, Function.comp] using GaloisConnection.compose ideal_gc (gc_ideal π)
#align projective_spectrum.gc_set ProjectiveSpectrum.gc_set
-/- warning: projective_spectrum.gc_homogeneous_ideal -> ProjectiveSpectrum.gc_homogeneousIdeal is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.gc_homogeneous_ideal ProjectiveSpectrum.gc_homogeneousIdealβ'. -/
theorem gc_homogeneousIdeal :
@GaloisConnection (HomogeneousIdeal π) (Set (ProjectiveSpectrum π))α΅α΅ _ _
(fun I => zeroLocus π I) fun t => vanishingIdeal t :=
@@ -215,315 +158,159 @@ theorem gc_homogeneousIdeal :
subset_zero_locus_iff_le_vanishing_ideal t I.to_ideal
#align projective_spectrum.gc_homogeneous_ideal ProjectiveSpectrum.gc_homogeneousIdeal
-/- warning: projective_spectrum.subset_zero_locus_iff_subset_vanishing_ideal -> ProjectiveSpectrum.subset_zeroLocus_iff_subset_vanishingIdeal is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.subset_zero_locus_iff_subset_vanishing_ideal ProjectiveSpectrum.subset_zeroLocus_iff_subset_vanishingIdealβ'. -/
theorem subset_zeroLocus_iff_subset_vanishingIdeal (t : Set (ProjectiveSpectrum π)) (s : Set A) :
t β zeroLocus π s β s β vanishingIdeal t :=
(gc_set _) s t
#align projective_spectrum.subset_zero_locus_iff_subset_vanishing_ideal ProjectiveSpectrum.subset_zeroLocus_iff_subset_vanishingIdeal
-/- warning: projective_spectrum.subset_vanishing_ideal_zero_locus -> ProjectiveSpectrum.subset_vanishingIdeal_zeroLocus is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.subset_vanishing_ideal_zero_locus ProjectiveSpectrum.subset_vanishingIdeal_zeroLocusβ'. -/
theorem subset_vanishingIdeal_zeroLocus (s : Set A) : s β vanishingIdeal (zeroLocus π s) :=
(gc_set _).le_u_l s
#align projective_spectrum.subset_vanishing_ideal_zero_locus ProjectiveSpectrum.subset_vanishingIdeal_zeroLocus
-/- warning: projective_spectrum.ideal_le_vanishing_ideal_zero_locus -> ProjectiveSpectrum.ideal_le_vanishingIdeal_zeroLocus is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (I : Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))), LE.le.{u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Preorder.toHasLe.{u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (SetLike.partialOrder.{u2, u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))))) I (HomogeneousIdeal.toIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4 (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))))) I))))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (I : Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))), LE.le.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (Preorder.toLE.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (Submodule.completeLattice.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))))))) I (HomogeneousIdeal.toIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4 (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) I))))
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.ideal_le_vanishing_ideal_zero_locus ProjectiveSpectrum.ideal_le_vanishingIdeal_zeroLocusβ'. -/
theorem ideal_le_vanishingIdeal_zeroLocus (I : Ideal A) :
I β€ (vanishingIdeal (zeroLocus π I)).toIdeal :=
(gc_ideal _).le_u_l I
#align projective_spectrum.ideal_le_vanishing_ideal_zero_locus ProjectiveSpectrum.ideal_le_vanishingIdeal_zeroLocus
-/- warning: projective_spectrum.homogeneous_ideal_le_vanishing_ideal_zero_locus -> ProjectiveSpectrum.homogeneousIdeal_le_vanishingIdeal_zeroLocus is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.homogeneous_ideal_le_vanishing_ideal_zero_locus ProjectiveSpectrum.homogeneousIdeal_le_vanishingIdeal_zeroLocusβ'. -/
theorem homogeneousIdeal_le_vanishingIdeal_zeroLocus (I : HomogeneousIdeal π) :
I β€ vanishingIdeal (zeroLocus π I) :=
(gc_homogeneousIdeal _).le_u_l I
#align projective_spectrum.homogeneous_ideal_le_vanishing_ideal_zero_locus ProjectiveSpectrum.homogeneousIdeal_le_vanishingIdeal_zeroLocus
-/- warning: projective_spectrum.subset_zero_locus_vanishing_ideal -> ProjectiveSpectrum.subset_zeroLocus_vanishingIdeal is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.subset_zero_locus_vanishing_ideal ProjectiveSpectrum.subset_zeroLocus_vanishingIdealβ'. -/
theorem subset_zeroLocus_vanishingIdeal (t : Set (ProjectiveSpectrum π)) :
t β zeroLocus π (vanishingIdeal t) :=
(gc_ideal _).l_u_le t
#align projective_spectrum.subset_zero_locus_vanishing_ideal ProjectiveSpectrum.subset_zeroLocus_vanishingIdeal
-/- warning: projective_spectrum.zero_locus_anti_mono -> ProjectiveSpectrum.zeroLocus_anti_mono is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] {s : Set.{u2} A} {t : Set.{u2} A}, (HasSubset.Subset.{u2} (Set.{u2} A) (Set.hasSubset.{u2} A) s t) -> (HasSubset.Subset.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasSubset.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] {s : Set.{u2} A} {t : Set.{u2} A}, (HasSubset.Subset.{u2} (Set.{u2} A) (Set.instHasSubsetSet.{u2} A) s t) -> (HasSubset.Subset.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instHasSubsetSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s))
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_anti_mono ProjectiveSpectrum.zeroLocus_anti_monoβ'. -/
theorem zeroLocus_anti_mono {s t : Set A} (h : s β t) : zeroLocus π t β zeroLocus π s :=
(gc_set _).monotone_l h
#align projective_spectrum.zero_locus_anti_mono ProjectiveSpectrum.zeroLocus_anti_mono
-/- warning: projective_spectrum.zero_locus_anti_mono_ideal -> ProjectiveSpectrum.zeroLocus_anti_mono_ideal is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] {s : Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))} {t : Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))}, (LE.le.{u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Preorder.toHasLe.{u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (SetLike.partialOrder.{u2, u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))))) s t) -> (HasSubset.Subset.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasSubset.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))))) t)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))))) s)))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] {s : Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))} {t : Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))}, (LE.le.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (Preorder.toLE.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (Submodule.completeLattice.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))))))) s t) -> (HasSubset.Subset.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instHasSubsetSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) t)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) s)))
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_anti_mono_ideal ProjectiveSpectrum.zeroLocus_anti_mono_idealβ'. -/
theorem zeroLocus_anti_mono_ideal {s t : Ideal A} (h : s β€ t) :
zeroLocus π (t : Set A) β zeroLocus π (s : Set A) :=
(gc_ideal _).monotone_l h
#align projective_spectrum.zero_locus_anti_mono_ideal ProjectiveSpectrum.zeroLocus_anti_mono_ideal
-/- warning: projective_spectrum.zero_locus_anti_mono_homogeneous_ideal -> ProjectiveSpectrum.zeroLocus_anti_mono_homogeneousIdeal is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_anti_mono_homogeneous_ideal ProjectiveSpectrum.zeroLocus_anti_mono_homogeneousIdealβ'. -/
theorem zeroLocus_anti_mono_homogeneousIdeal {s t : HomogeneousIdeal π} (h : s β€ t) :
zeroLocus π (t : Set A) β zeroLocus π (s : Set A) :=
(gc_homogeneousIdeal _).monotone_l h
#align projective_spectrum.zero_locus_anti_mono_homogeneous_ideal ProjectiveSpectrum.zeroLocus_anti_mono_homogeneousIdeal
-/- warning: projective_spectrum.vanishing_ideal_anti_mono -> ProjectiveSpectrum.vanishingIdeal_anti_mono is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.vanishing_ideal_anti_mono ProjectiveSpectrum.vanishingIdeal_anti_monoβ'. -/
theorem vanishingIdeal_anti_mono {s t : Set (ProjectiveSpectrum π)} (h : s β t) :
vanishingIdeal t β€ vanishingIdeal s :=
(gc_ideal _).monotone_u h
#align projective_spectrum.vanishing_ideal_anti_mono ProjectiveSpectrum.vanishingIdeal_anti_mono
-/- warning: projective_spectrum.zero_locus_bot -> ProjectiveSpectrum.zeroLocus_bot is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π], Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))))) (Bot.bot.{u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Submodule.hasBot.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))))) (Set.univ.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π], Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) (Bot.bot.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (Submodule.instBotSubmodule.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))))) (Set.univ.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_bot ProjectiveSpectrum.zeroLocus_botβ'. -/
theorem zeroLocus_bot : zeroLocus π ((β₯ : Ideal A) : Set A) = Set.univ :=
(gc_ideal π).l_bot
#align projective_spectrum.zero_locus_bot ProjectiveSpectrum.zeroLocus_bot
-/- warning: projective_spectrum.zero_locus_singleton_zero -> ProjectiveSpectrum.zeroLocus_singleton_zero is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π], Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Singleton.singleton.{u2, u2} A (Set.{u2} A) (Set.hasSingleton.{u2} A) (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))))))))) (Set.univ.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π], Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Singleton.singleton.{u2, u2} A (Set.{u2} A) (Set.instSingletonSet.{u2} A) (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (CommMonoidWithZero.toZero.{u2} A (CommSemiring.toCommMonoidWithZero.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))))) (Set.univ.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_singleton_zero ProjectiveSpectrum.zeroLocus_singleton_zeroβ'. -/
@[simp]
theorem zeroLocus_singleton_zero : zeroLocus π ({0} : Set A) = Set.univ :=
zeroLocus_bot _
#align projective_spectrum.zero_locus_singleton_zero ProjectiveSpectrum.zeroLocus_singleton_zero
-/- warning: projective_spectrum.zero_locus_empty -> ProjectiveSpectrum.zeroLocus_empty is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π], Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (EmptyCollection.emptyCollection.{u2} (Set.{u2} A) (Set.hasEmptyc.{u2} A))) (Set.univ.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π], Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (EmptyCollection.emptyCollection.{u2} (Set.{u2} A) (Set.instEmptyCollectionSet.{u2} A))) (Set.univ.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_empty ProjectiveSpectrum.zeroLocus_emptyβ'. -/
@[simp]
theorem zeroLocus_empty : zeroLocus π (β
: Set A) = Set.univ :=
(gc_set π).l_bot
#align projective_spectrum.zero_locus_empty ProjectiveSpectrum.zeroLocus_empty
-/- warning: projective_spectrum.vanishing_ideal_univ -> ProjectiveSpectrum.vanishingIdeal_univ is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π], Eq.{succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (EmptyCollection.emptyCollection.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasEmptyc.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)))) (Top.top.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.hasTop.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π _inst_4))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π], Eq.{succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (EmptyCollection.emptyCollection.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instEmptyCollectionSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)))) (Top.top.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.instTopHomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π _inst_4))
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.vanishing_ideal_univ ProjectiveSpectrum.vanishingIdeal_univβ'. -/
@[simp]
theorem vanishingIdeal_univ : vanishingIdeal (β
: Set (ProjectiveSpectrum π)) = β€ := by
simpa using (gc_ideal _).u_top
#align projective_spectrum.vanishing_ideal_univ ProjectiveSpectrum.vanishingIdeal_univ
-/- warning: projective_spectrum.zero_locus_empty_of_one_mem -> ProjectiveSpectrum.zeroLocus_empty_of_one_mem is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] {s : Set.{u2} A}, (Membership.Mem.{u2, u2} A (Set.{u2} A) (Set.hasMem.{u2} A) (OfNat.ofNat.{u2} A 1 (OfNat.mk.{u2} A 1 (One.one.{u2} A (AddMonoidWithOne.toOne.{u2} A (AddGroupWithOne.toAddMonoidWithOne.{u2} A (AddCommGroupWithOne.toAddGroupWithOne.{u2} A (Ring.toAddCommGroupWithOne.{u2} A (CommRing.toRing.{u2} A _inst_2)))))))) s) -> (Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s) (EmptyCollection.emptyCollection.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasEmptyc.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] {s : Set.{u2} A}, (Membership.mem.{u2, u2} A (Set.{u2} A) (Set.instMembershipSet.{u2} A) (OfNat.ofNat.{u2} A 1 (One.toOfNat1.{u2} A (Semiring.toOne.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) s) -> (Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s) (EmptyCollection.emptyCollection.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instEmptyCollectionSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))))
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_empty_of_one_mem ProjectiveSpectrum.zeroLocus_empty_of_one_memβ'. -/
theorem zeroLocus_empty_of_one_mem {s : Set A} (h : (1 : A) β s) : zeroLocus π s = β
:=
Set.eq_empty_iff_forall_not_mem.mpr fun x hx =>
(inferInstance : x.asHomogeneousIdeal.toIdeal.IsPrime).ne_top <|
x.asHomogeneousIdeal.toIdeal.eq_top_iff_one.mpr <| hx h
#align projective_spectrum.zero_locus_empty_of_one_mem ProjectiveSpectrum.zeroLocus_empty_of_one_mem
-/- warning: projective_spectrum.zero_locus_singleton_one -> ProjectiveSpectrum.zeroLocus_singleton_one is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π], Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Singleton.singleton.{u2, u2} A (Set.{u2} A) (Set.hasSingleton.{u2} A) (OfNat.ofNat.{u2} A 1 (OfNat.mk.{u2} A 1 (One.one.{u2} A (AddMonoidWithOne.toOne.{u2} A (AddGroupWithOne.toAddMonoidWithOne.{u2} A (AddCommGroupWithOne.toAddGroupWithOne.{u2} A (Ring.toAddCommGroupWithOne.{u2} A (CommRing.toRing.{u2} A _inst_2)))))))))) (EmptyCollection.emptyCollection.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasEmptyc.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π], Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Singleton.singleton.{u2, u2} A (Set.{u2} A) (Set.instSingletonSet.{u2} A) (OfNat.ofNat.{u2} A 1 (One.toOfNat1.{u2} A (Semiring.toOne.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))))) (EmptyCollection.emptyCollection.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instEmptyCollectionSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)))
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_singleton_one ProjectiveSpectrum.zeroLocus_singleton_oneβ'. -/
@[simp]
theorem zeroLocus_singleton_one : zeroLocus π ({1} : Set A) = β
:=
zeroLocus_empty_of_one_mem π (Set.mem_singleton (1 : A))
#align projective_spectrum.zero_locus_singleton_one ProjectiveSpectrum.zeroLocus_singleton_one
-/- warning: projective_spectrum.zero_locus_univ -> ProjectiveSpectrum.zeroLocus_univ is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π], Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Set.univ.{u2} A)) (EmptyCollection.emptyCollection.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasEmptyc.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π], Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Set.univ.{u2} A)) (EmptyCollection.emptyCollection.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instEmptyCollectionSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)))
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_univ ProjectiveSpectrum.zeroLocus_univβ'. -/
@[simp]
theorem zeroLocus_univ : zeroLocus π (Set.univ : Set A) = β
:=
zeroLocus_empty_of_one_mem _ (Set.mem_univ 1)
#align projective_spectrum.zero_locus_univ ProjectiveSpectrum.zeroLocus_univ
-/- warning: projective_spectrum.zero_locus_sup_ideal -> ProjectiveSpectrum.zeroLocus_sup_ideal is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (I : Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (J : Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))))) (Sup.sup.{u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (SemilatticeSup.toHasSup.{u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (IdemSemiring.toSemilatticeSup.{u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Submodule.idemSemiring.{u2, u2} A (CommRing.toCommSemiring.{u2} A _inst_2) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Algebra.id.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) I J))) (Inter.inter.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasInter.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))))) I)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))))) J)))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (I : Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (J : Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) (Sup.sup.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (SemilatticeSup.toSup.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (IdemCommSemiring.toSemilatticeSup.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (Ideal.instIdemCommSemiringIdealToSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) I J))) (Inter.inter.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instInterSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) I)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) J)))
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_sup_ideal ProjectiveSpectrum.zeroLocus_sup_idealβ'. -/
theorem zeroLocus_sup_ideal (I J : Ideal A) :
zeroLocus π ((I β J : Ideal A) : Set A) = zeroLocus _ I β© zeroLocus _ J :=
(gc_ideal π).l_sup
#align projective_spectrum.zero_locus_sup_ideal ProjectiveSpectrum.zeroLocus_sup_ideal
-/- warning: projective_spectrum.zero_locus_sup_homogeneous_ideal -> ProjectiveSpectrum.zeroLocus_sup_homogeneousIdeal is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_sup_homogeneous_ideal ProjectiveSpectrum.zeroLocus_sup_homogeneousIdealβ'. -/
theorem zeroLocus_sup_homogeneousIdeal (I J : HomogeneousIdeal π) :
zeroLocus π ((I β J : HomogeneousIdeal π) : Set A) = zeroLocus _ I β© zeroLocus _ J :=
(gc_homogeneousIdeal π).l_sup
#align projective_spectrum.zero_locus_sup_homogeneous_ideal ProjectiveSpectrum.zeroLocus_sup_homogeneousIdeal
-/- warning: projective_spectrum.zero_locus_union -> ProjectiveSpectrum.zeroLocus_union is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (s : Set.{u2} A) (s' : Set.{u2} A), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Union.union.{u2} (Set.{u2} A) (Set.hasUnion.{u2} A) s s')) (Inter.inter.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasInter.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s'))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (s : Set.{u2} A) (s' : Set.{u2} A), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Union.union.{u2} (Set.{u2} A) (Set.instUnionSet.{u2} A) s s')) (Inter.inter.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instInterSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s'))
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_union ProjectiveSpectrum.zeroLocus_unionβ'. -/
theorem zeroLocus_union (s s' : Set A) : zeroLocus π (s βͺ s') = zeroLocus _ s β© zeroLocus _ s' :=
(gc_set π).l_sup
#align projective_spectrum.zero_locus_union ProjectiveSpectrum.zeroLocus_union
-/- warning: projective_spectrum.vanishing_ideal_union -> ProjectiveSpectrum.vanishingIdeal_union is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.vanishing_ideal_union ProjectiveSpectrum.vanishingIdeal_unionβ'. -/
theorem vanishingIdeal_union (t t' : Set (ProjectiveSpectrum π)) :
vanishingIdeal (t βͺ t') = vanishingIdeal t β vanishingIdeal t' := by
ext1 <;> convert(gc_ideal π).u_inf
#align projective_spectrum.vanishing_ideal_union ProjectiveSpectrum.vanishingIdeal_union
-/- warning: projective_spectrum.zero_locus_supr_ideal -> ProjectiveSpectrum.zeroLocus_iSup_ideal is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] {Ξ³ : Sort.{u3}} (I : Ξ³ -> (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)))), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))))) (iSup.{u2, u3} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (ConditionallyCompleteLattice.toHasSup.{u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Submodule.completeLattice.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)))))) Ξ³ (fun (i : Ξ³) => I i)))) (Set.iInter.{u2, u3} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) Ξ³ (fun (i : Ξ³) => ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))))) (I i))))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] {Ξ³ : Sort.{u3}} (I : Ξ³ -> (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) (iSup.{u2, u3} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (ConditionallyCompleteLattice.toSupSet.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (Submodule.completeLattice.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))))) Ξ³ (fun (i : Ξ³) => I i)))) (Set.iInter.{u2, u3} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) Ξ³ (fun (i : Ξ³) => ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) (I i))))
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_supr_ideal ProjectiveSpectrum.zeroLocus_iSup_idealβ'. -/
theorem zeroLocus_iSup_ideal {Ξ³ : Sort _} (I : Ξ³ β Ideal A) :
zeroLocus _ ((β¨ i, I i : Ideal A) : Set A) = β i, zeroLocus π (I i) :=
(gc_ideal π).l_iSup
#align projective_spectrum.zero_locus_supr_ideal ProjectiveSpectrum.zeroLocus_iSup_ideal
-/- warning: projective_spectrum.zero_locus_supr_homogeneous_ideal -> ProjectiveSpectrum.zeroLocus_iSup_homogeneousIdeal is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_supr_homogeneous_ideal ProjectiveSpectrum.zeroLocus_iSup_homogeneousIdealβ'. -/
theorem zeroLocus_iSup_homogeneousIdeal {Ξ³ : Sort _} (I : Ξ³ β HomogeneousIdeal π) :
zeroLocus _ ((β¨ i, I i : HomogeneousIdeal π) : Set A) = β i, zeroLocus π (I i) :=
(gc_homogeneousIdeal π).l_iSup
#align projective_spectrum.zero_locus_supr_homogeneous_ideal ProjectiveSpectrum.zeroLocus_iSup_homogeneousIdeal
-/- warning: projective_spectrum.zero_locus_Union -> ProjectiveSpectrum.zeroLocus_iUnion is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] {Ξ³ : Sort.{u3}} (s : Ξ³ -> (Set.{u2} A)), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Set.iUnion.{u2, u3} A Ξ³ (fun (i : Ξ³) => s i))) (Set.iInter.{u2, u3} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) Ξ³ (fun (i : Ξ³) => ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (s i)))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] {Ξ³ : Sort.{u3}} (s : Ξ³ -> (Set.{u2} A)), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Set.iUnion.{u2, u3} A Ξ³ (fun (i : Ξ³) => s i))) (Set.iInter.{u2, u3} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) Ξ³ (fun (i : Ξ³) => ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (s i)))
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_Union ProjectiveSpectrum.zeroLocus_iUnionβ'. -/
theorem zeroLocus_iUnion {Ξ³ : Sort _} (s : Ξ³ β Set A) :
zeroLocus π (β i, s i) = β i, zeroLocus π (s i) :=
(gc_set π).l_iSup
#align projective_spectrum.zero_locus_Union ProjectiveSpectrum.zeroLocus_iUnion
-/- warning: projective_spectrum.zero_locus_bUnion -> ProjectiveSpectrum.zeroLocus_bUnion is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (s : Set.{u2} (Set.{u2} A)), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Set.iUnion.{u2, succ u2} A (Set.{u2} A) (fun (s' : Set.{u2} A) => Set.iUnion.{u2, 0} A (Membership.Mem.{u2, u2} (Set.{u2} A) (Set.{u2} (Set.{u2} A)) (Set.hasMem.{u2} (Set.{u2} A)) s' s) (fun (H : Membership.Mem.{u2, u2} (Set.{u2} A) (Set.{u2} (Set.{u2} A)) (Set.hasMem.{u2} (Set.{u2} A)) s' s) => s')))) (Set.iInter.{u2, succ u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Set.{u2} A) (fun (s' : Set.{u2} A) => Set.iInter.{u2, 0} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Membership.Mem.{u2, u2} (Set.{u2} A) (Set.{u2} (Set.{u2} A)) (Set.hasMem.{u2} (Set.{u2} A)) s' s) (fun (H : Membership.Mem.{u2, u2} (Set.{u2} A) (Set.{u2} (Set.{u2} A)) (Set.hasMem.{u2} (Set.{u2} A)) s' s) => ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s')))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (s : Set.{u2} (Set.{u2} A)), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Set.iUnion.{u2, succ u2} A (Set.{u2} A) (fun (s' : Set.{u2} A) => Set.iUnion.{u2, 0} A (Membership.mem.{u2, u2} (Set.{u2} A) (Set.{u2} (Set.{u2} A)) (Set.instMembershipSet.{u2} (Set.{u2} A)) s' s) (fun (H : Membership.mem.{u2, u2} (Set.{u2} A) (Set.{u2} (Set.{u2} A)) (Set.instMembershipSet.{u2} (Set.{u2} A)) s' s) => s')))) (Set.iInter.{u2, succ u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Set.{u2} A) (fun (s' : Set.{u2} A) => Set.iInter.{u2, 0} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Membership.mem.{u2, u2} (Set.{u2} A) (Set.{u2} (Set.{u2} A)) (Set.instMembershipSet.{u2} (Set.{u2} A)) s' s) (fun (H : Membership.mem.{u2, u2} (Set.{u2} A) (Set.{u2} (Set.{u2} A)) (Set.instMembershipSet.{u2} (Set.{u2} A)) s' s) => ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s')))
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_bUnion ProjectiveSpectrum.zeroLocus_bUnionβ'. -/
theorem zeroLocus_bUnion (s : Set (Set A)) :
zeroLocus π (β s' β s, s' : Set A) = β s' β s, zeroLocus π s' := by simp only [zero_locus_Union]
#align projective_spectrum.zero_locus_bUnion ProjectiveSpectrum.zeroLocus_bUnion
-/- warning: projective_spectrum.vanishing_ideal_Union -> ProjectiveSpectrum.vanishingIdeal_iUnion is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.vanishing_ideal_Union ProjectiveSpectrum.vanishingIdeal_iUnionβ'. -/
theorem vanishingIdeal_iUnion {Ξ³ : Sort _} (t : Ξ³ β Set (ProjectiveSpectrum π)) :
vanishingIdeal (β i, t i) = β¨
i, vanishingIdeal (t i) :=
HomogeneousIdeal.toIdeal_injective <| by
convert(gc_ideal π).u_iInf <;> exact HomogeneousIdeal.toIdeal_iInf _
#align projective_spectrum.vanishing_ideal_Union ProjectiveSpectrum.vanishingIdeal_iUnion
-/- warning: projective_spectrum.zero_locus_inf -> ProjectiveSpectrum.zeroLocus_inf is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (I : Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (J : Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))))) (Inf.inf.{u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Submodule.hasInf.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)))) I J))) (Union.union.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasUnion.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))))) I)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))))) J)))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (I : Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (J : Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) (Inf.inf.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (Submodule.instInfSubmodule.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) I J))) (Union.union.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instUnionSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) I)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) J)))
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_inf ProjectiveSpectrum.zeroLocus_infβ'. -/
theorem zeroLocus_inf (I J : Ideal A) :
zeroLocus π ((I β J : Ideal A) : Set A) = zeroLocus π I βͺ zeroLocus π J :=
Set.ext fun x => x.IsPrime.inf_le
#align projective_spectrum.zero_locus_inf ProjectiveSpectrum.zeroLocus_inf
-/- warning: projective_spectrum.union_zero_locus -> ProjectiveSpectrum.union_zeroLocus is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (s : Set.{u2} A) (s' : Set.{u2} A), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Union.union.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasUnion.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s')) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))))) (Inf.inf.{u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Submodule.hasInf.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)))) (Ideal.span.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) s) (Ideal.span.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) s'))))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (s : Set.{u2} A) (s' : Set.{u2} A), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Union.union.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instUnionSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s')) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) (Inf.inf.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (Submodule.instInfSubmodule.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) (Ideal.span.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) s) (Ideal.span.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) s'))))
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.union_zero_locus ProjectiveSpectrum.union_zeroLocusβ'. -/
theorem union_zeroLocus (s s' : Set A) :
zeroLocus π s βͺ zeroLocus π s' = zeroLocus π (Ideal.span s β Ideal.span s' : Ideal A) := by
rw [zero_locus_inf]; simp
#align projective_spectrum.union_zero_locus ProjectiveSpectrum.union_zeroLocus
-/- warning: projective_spectrum.zero_locus_mul_ideal -> ProjectiveSpectrum.zeroLocus_mul_ideal is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (I : Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (J : Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))))) (HMul.hMul.{u2, u2, u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (instHMul.{u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Ideal.hasMul.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) I J))) (Union.union.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasUnion.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))))) I)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))))) J)))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (I : Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (J : Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) (HMul.hMul.{u2, u2, u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (instHMul.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (Ideal.instMulIdealToSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) I J))) (Union.union.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instUnionSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) I)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) J)))
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_mul_ideal ProjectiveSpectrum.zeroLocus_mul_idealβ'. -/
theorem zeroLocus_mul_ideal (I J : Ideal A) :
zeroLocus π ((I * J : Ideal A) : Set A) = zeroLocus π I βͺ zeroLocus π J :=
Set.ext fun x => x.IsPrime.mul_le
#align projective_spectrum.zero_locus_mul_ideal ProjectiveSpectrum.zeroLocus_mul_ideal
-/- warning: projective_spectrum.zero_locus_mul_homogeneous_ideal -> ProjectiveSpectrum.zeroLocus_mul_homogeneousIdeal is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_mul_homogeneous_ideal ProjectiveSpectrum.zeroLocus_mul_homogeneousIdealβ'. -/
theorem zeroLocus_mul_homogeneousIdeal (I J : HomogeneousIdeal π) :
zeroLocus π ((I * J : HomogeneousIdeal π) : Set A) = zeroLocus π I βͺ zeroLocus π J :=
Set.ext fun x => x.IsPrime.mul_le
#align projective_spectrum.zero_locus_mul_homogeneous_ideal ProjectiveSpectrum.zeroLocus_mul_homogeneousIdeal
-/- warning: projective_spectrum.zero_locus_singleton_mul -> ProjectiveSpectrum.zeroLocus_singleton_mul is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (f : A) (g : A), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Singleton.singleton.{u2, u2} A (Set.{u2} A) (Set.hasSingleton.{u2} A) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A (CommRing.toRing.{u2} A _inst_2)))) f g))) (Union.union.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasUnion.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Singleton.singleton.{u2, u2} A (Set.{u2} A) (Set.hasSingleton.{u2} A) f)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Singleton.singleton.{u2, u2} A (Set.{u2} A) (Set.hasSingleton.{u2} A) g)))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (f : A) (g : A), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Singleton.singleton.{u2, u2} A (Set.{u2} A) (Set.instSingletonSet.{u2} A) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) f g))) (Union.union.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instUnionSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Singleton.singleton.{u2, u2} A (Set.{u2} A) (Set.instSingletonSet.{u2} A) f)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Singleton.singleton.{u2, u2} A (Set.{u2} A) (Set.instSingletonSet.{u2} A) g)))
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_singleton_mul ProjectiveSpectrum.zeroLocus_singleton_mulβ'. -/
theorem zeroLocus_singleton_mul (f g : A) :
zeroLocus π ({f * g} : Set A) = zeroLocus π {f} βͺ zeroLocus π {g} :=
Set.ext fun x => by simpa using x.is_prime.mul_mem_iff_mem_or_mem
#align projective_spectrum.zero_locus_singleton_mul ProjectiveSpectrum.zeroLocus_singleton_mul
-/- warning: projective_spectrum.zero_locus_singleton_pow -> ProjectiveSpectrum.zeroLocus_singleton_pow is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (f : A) (n : Nat), (LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) n) -> (Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Singleton.singleton.{u2, u2} A (Set.{u2} A) (Set.hasSingleton.{u2} A) (HPow.hPow.{u2, 0, u2} A Nat A (instHPow.{u2, 0} A Nat (Monoid.Pow.{u2} A (Ring.toMonoid.{u2} A (CommRing.toRing.{u2} A _inst_2)))) f n))) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Singleton.singleton.{u2, u2} A (Set.{u2} A) (Set.hasSingleton.{u2} A) f)))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (f : A) (n : Nat), (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) n) -> (Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Singleton.singleton.{u2, u2} A (Set.{u2} A) (Set.instSingletonSet.{u2} A) (HPow.hPow.{u2, 0, u2} A Nat A (instHPow.{u2, 0} A Nat (Monoid.Pow.{u2} A (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))))) f n))) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Singleton.singleton.{u2, u2} A (Set.{u2} A) (Set.instSingletonSet.{u2} A) f)))
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_singleton_pow ProjectiveSpectrum.zeroLocus_singleton_powβ'. -/
@[simp]
theorem zeroLocus_singleton_pow (f : A) (n : β) (hn : 0 < n) :
zeroLocus π ({f ^ n} : Set A) = zeroLocus π {f} :=
Set.ext fun x => by simpa using x.is_prime.pow_mem_iff_mem n hn
#align projective_spectrum.zero_locus_singleton_pow ProjectiveSpectrum.zeroLocus_singleton_pow
-/- warning: projective_spectrum.sup_vanishing_ideal_le -> ProjectiveSpectrum.sup_vanishingIdeal_le is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.sup_vanishing_ideal_le ProjectiveSpectrum.sup_vanishingIdeal_leβ'. -/
theorem sup_vanishingIdeal_le (t t' : Set (ProjectiveSpectrum π)) :
vanishingIdeal t β vanishingIdeal t' β€ vanishingIdeal (t β© t') :=
by
@@ -535,20 +322,11 @@ theorem sup_vanishingIdeal_le (t t' : Set (ProjectiveSpectrum π)) :
apply Submodule.add_mem <;> solve_by_elim
#align projective_spectrum.sup_vanishing_ideal_le ProjectiveSpectrum.sup_vanishingIdeal_le
-/- warning: projective_spectrum.mem_compl_zero_locus_iff_not_mem -> ProjectiveSpectrum.mem_compl_zeroLocus_iff_not_mem is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.mem_compl_zero_locus_iff_not_mem ProjectiveSpectrum.mem_compl_zeroLocus_iff_not_memβ'. -/
theorem mem_compl_zeroLocus_iff_not_mem {f : A} {I : ProjectiveSpectrum π} :
I β (zeroLocus π {f} : Set (ProjectiveSpectrum π))αΆ β f β I.asHomogeneousIdeal := by
rw [Set.mem_compl_iff, mem_zero_locus, Set.singleton_subset_iff] <;> rfl
#align projective_spectrum.mem_compl_zero_locus_iff_not_mem ProjectiveSpectrum.mem_compl_zeroLocus_iff_not_mem
-/- warning: projective_spectrum.zariski_topology -> ProjectiveSpectrum.zariskiTopology is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π], TopologicalSpace.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π], TopologicalSpace.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.zariski_topology ProjectiveSpectrum.zariskiTopologyβ'. -/
/-- The Zariski topology on the prime spectrum of a commutative ring is defined via the closed sets
of the topology: they are exactly those sets that are the zero locus of a subset of the ring. -/
instance zariskiTopology : TopologicalSpace (ProjectiveSpectrum π) :=
@@ -563,50 +341,23 @@ instance zariskiTopology : TopologicalSpace (ProjectiveSpectrum π) :=
(by rintro _ β¨s, rflβ© _ β¨t, rflβ©; exact β¨_, (union_zero_locus π s t).symmβ©)
#align projective_spectrum.zariski_topology ProjectiveSpectrum.zariskiTopology
-/- warning: projective_spectrum.Top -> ProjectiveSpectrum.top is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π], TopCat.{u2}
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π], TopCat.{u2}
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.Top ProjectiveSpectrum.topβ'. -/
/-- The underlying topology of `Proj` is the projective spectrum of graded ring `A`. -/
def top : TopCat :=
TopCat.of (ProjectiveSpectrum π)
#align projective_spectrum.Top ProjectiveSpectrum.top
-/- warning: projective_spectrum.is_open_iff -> ProjectiveSpectrum.isOpen_iff is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (U : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)), Iff (IsOpen.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) U) (Exists.{succ u2} (Set.{u2} A) (fun (s : Set.{u2} A) => Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (HasCompl.compl.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (BooleanAlgebra.toHasCompl.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.booleanAlgebra.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))) U) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s)))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (U : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)), Iff (IsOpen.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) U) (Exists.{succ u2} (Set.{u2} A) (fun (s : Set.{u2} A) => Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (HasCompl.compl.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (BooleanAlgebra.toHasCompl.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instBooleanAlgebraSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))) U) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s)))
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.is_open_iff ProjectiveSpectrum.isOpen_iffβ'. -/
theorem isOpen_iff (U : Set (ProjectiveSpectrum π)) : IsOpen U β β s, UαΆ = zeroLocus π s := by
simp only [@eq_comm _ (UαΆ)] <;> rfl
#align projective_spectrum.is_open_iff ProjectiveSpectrum.isOpen_iff
-/- warning: projective_spectrum.is_closed_iff_zero_locus -> ProjectiveSpectrum.isClosed_iff_zeroLocus is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (Z : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)), Iff (IsClosed.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) Z) (Exists.{succ u2} (Set.{u2} A) (fun (s : Set.{u2} A) => Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) Z (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s)))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (Z : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)), Iff (IsClosed.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) Z) (Exists.{succ u2} (Set.{u2} A) (fun (s : Set.{u2} A) => Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) Z (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s)))
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.is_closed_iff_zero_locus ProjectiveSpectrum.isClosed_iff_zeroLocusβ'. -/
theorem isClosed_iff_zeroLocus (Z : Set (ProjectiveSpectrum π)) :
IsClosed Z β β s, Z = zeroLocus π s := by rw [β isOpen_compl_iff, is_open_iff, compl_compl]
#align projective_spectrum.is_closed_iff_zero_locus ProjectiveSpectrum.isClosed_iff_zeroLocus
-/- warning: projective_spectrum.is_closed_zero_locus -> ProjectiveSpectrum.isClosed_zeroLocus is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (s : Set.{u2} A), IsClosed.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s)
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (s : Set.{u2} A), IsClosed.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s)
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.is_closed_zero_locus ProjectiveSpectrum.isClosed_zeroLocusβ'. -/
theorem isClosed_zeroLocus (s : Set A) : IsClosed (zeroLocus π s) := by
rw [is_closed_iff_zero_locus]; exact β¨s, rflβ©
#align projective_spectrum.is_closed_zero_locus ProjectiveSpectrum.isClosed_zeroLocus
-/- warning: projective_spectrum.zero_locus_vanishing_ideal_eq_closure -> ProjectiveSpectrum.zeroLocus_vanishingIdeal_eq_closure is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_vanishing_ideal_eq_closure ProjectiveSpectrum.zeroLocus_vanishingIdeal_eq_closureβ'. -/
theorem zeroLocus_vanishingIdeal_eq_closure (t : Set (ProjectiveSpectrum π)) :
zeroLocus π (vanishingIdeal t : Set A) = closure t :=
by
@@ -619,12 +370,6 @@ theorem zeroLocus_vanishingIdeal_eq_closure (t : Set (ProjectiveSpectrum π))
exact subset_zero_locus_vanishing_ideal π t
#align projective_spectrum.zero_locus_vanishing_ideal_eq_closure ProjectiveSpectrum.zeroLocus_vanishingIdeal_eq_closure
-/- warning: projective_spectrum.vanishing_ideal_closure -> ProjectiveSpectrum.vanishingIdeal_closure is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (t : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)), Eq.{succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (closure.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) t)) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t)
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (t : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)), Eq.{succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (closure.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) t)) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t)
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.vanishing_ideal_closure ProjectiveSpectrum.vanishingIdeal_closureβ'. -/
theorem vanishingIdeal_closure (t : Set (ProjectiveSpectrum π)) :
vanishingIdeal (closure t) = vanishingIdeal t :=
by
@@ -637,12 +382,6 @@ theorem vanishingIdeal_closure (t : Set (ProjectiveSpectrum π)) :
section BasicOpen
-/- warning: projective_spectrum.basic_open -> ProjectiveSpectrum.basicOpen is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π], A -> (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π], A -> (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.basic_open ProjectiveSpectrum.basicOpenβ'. -/
/-- `basic_open r` is the open subset containing all prime ideals not containing `r`. -/
def basicOpen (r : A) : TopologicalSpace.Opens (ProjectiveSpectrum π)
where
@@ -650,114 +389,54 @@ def basicOpen (r : A) : TopologicalSpace.Opens (ProjectiveSpectrum π)
is_open' := β¨{r}, Set.ext fun x => Set.singleton_subset_iff.trans <| Classical.not_not.symmβ©
#align projective_spectrum.basic_open ProjectiveSpectrum.basicOpen
-/- warning: projective_spectrum.mem_basic_open -> ProjectiveSpectrum.mem_basicOpen is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.mem_basic_open ProjectiveSpectrum.mem_basicOpenβ'. -/
@[simp]
theorem mem_basicOpen (f : A) (x : ProjectiveSpectrum π) :
x β basicOpen π f β f β x.asHomogeneousIdeal :=
Iff.rfl
#align projective_spectrum.mem_basic_open ProjectiveSpectrum.mem_basicOpen
-/- warning: projective_spectrum.mem_coe_basic_open -> ProjectiveSpectrum.mem_coe_basicOpen is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.mem_coe_basic_open ProjectiveSpectrum.mem_coe_basicOpenβ'. -/
theorem mem_coe_basicOpen (f : A) (x : ProjectiveSpectrum π) :
x β (β(basicOpen π f) : Set (ProjectiveSpectrum π)) β f β x.asHomogeneousIdeal :=
Iff.rfl
#align projective_spectrum.mem_coe_basic_open ProjectiveSpectrum.mem_coe_basicOpen
-/- warning: projective_spectrum.is_open_basic_open -> ProjectiveSpectrum.isOpen_basicOpen is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] {a : A}, IsOpen.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (HasLiftT.mk.{succ u2, succ u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CoeTCβ.coe.{succ u2, succ u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (SetLike.Set.hasCoeT.{u2, u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (TopologicalSpace.Opens.setLike.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))))) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 a))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] {a : A}, IsOpen.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (SetLike.coe.{u2, u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (TopologicalSpace.Opens.instSetLikeOpens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 a))
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.is_open_basic_open ProjectiveSpectrum.isOpen_basicOpenβ'. -/
theorem isOpen_basicOpen {a : A} : IsOpen (basicOpen π a : Set (ProjectiveSpectrum π)) :=
(basicOpen π a).IsOpen
#align projective_spectrum.is_open_basic_open ProjectiveSpectrum.isOpen_basicOpen
-/- warning: projective_spectrum.basic_open_eq_zero_locus_compl -> ProjectiveSpectrum.basicOpen_eq_zeroLocus_compl is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (r : A), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (HasLiftT.mk.{succ u2, succ u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CoeTCβ.coe.{succ u2, succ u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (SetLike.Set.hasCoeT.{u2, u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (TopologicalSpace.Opens.setLike.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))))) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 r)) (HasCompl.compl.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (BooleanAlgebra.toHasCompl.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.booleanAlgebra.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Singleton.singleton.{u2, u2} A (Set.{u2} A) (Set.hasSingleton.{u2} A) r)))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (r : A), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (SetLike.coe.{u2, u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (TopologicalSpace.Opens.instSetLikeOpens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 r)) (HasCompl.compl.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (BooleanAlgebra.toHasCompl.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instBooleanAlgebraSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Singleton.singleton.{u2, u2} A (Set.{u2} A) (Set.instSingletonSet.{u2} A) r)))
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.basic_open_eq_zero_locus_compl ProjectiveSpectrum.basicOpen_eq_zeroLocus_complβ'. -/
@[simp]
theorem basicOpen_eq_zeroLocus_compl (r : A) :
(basicOpen π r : Set (ProjectiveSpectrum π)) = zeroLocus π {r}αΆ :=
Set.ext fun x => by simpa only [Set.mem_compl_iff, mem_zero_locus, Set.singleton_subset_iff]
#align projective_spectrum.basic_open_eq_zero_locus_compl ProjectiveSpectrum.basicOpen_eq_zeroLocus_compl
-/- warning: projective_spectrum.basic_open_one -> ProjectiveSpectrum.basicOpen_one is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π], Eq.{succ u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (OfNat.ofNat.{u2} A 1 (OfNat.mk.{u2} A 1 (One.one.{u2} A (AddMonoidWithOne.toOne.{u2} A (AddGroupWithOne.toAddMonoidWithOne.{u2} A (AddCommGroupWithOne.toAddGroupWithOne.{u2} A (Ring.toAddCommGroupWithOne.{u2} A (CommRing.toRing.{u2} A _inst_2))))))))) (Top.top.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteLattice.toHasTop.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (TopologicalSpace.Opens.completeLattice.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π], Eq.{succ u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (OfNat.ofNat.{u2} A 1 (One.toOfNat1.{u2} A (Semiring.toOne.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))))) (Top.top.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteLattice.toTop.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))))
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.basic_open_one ProjectiveSpectrum.basicOpen_oneβ'. -/
@[simp]
theorem basicOpen_one : basicOpen π (1 : A) = β€ :=
TopologicalSpace.Opens.ext <| by simp
#align projective_spectrum.basic_open_one ProjectiveSpectrum.basicOpen_one
-/- warning: projective_spectrum.basic_open_zero -> ProjectiveSpectrum.basicOpen_zero is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π], Eq.{succ u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2)))))))))) (Bot.bot.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteLattice.toHasBot.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (TopologicalSpace.Opens.completeLattice.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π], Eq.{succ u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (CommMonoidWithZero.toZero.{u2} A (CommSemiring.toCommMonoidWithZero.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))))) (Bot.bot.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteLattice.toBot.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))))
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.basic_open_zero ProjectiveSpectrum.basicOpen_zeroβ'. -/
@[simp]
theorem basicOpen_zero : basicOpen π (0 : A) = β₯ :=
TopologicalSpace.Opens.ext <| by simp
#align projective_spectrum.basic_open_zero ProjectiveSpectrum.basicOpen_zero
-/- warning: projective_spectrum.basic_open_mul -> ProjectiveSpectrum.basicOpen_mul is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (f : A) (g : A), Eq.{succ u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A (CommRing.toRing.{u2} A _inst_2)))) f g)) (Inf.inf.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (SemilatticeInf.toHasInf.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Lattice.toSemilatticeInf.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (TopologicalSpace.Opens.completeLattice.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)))))) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 f) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 g))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (f : A) (g : A), Eq.{succ u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) f g)) (Inf.inf.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Lattice.toInf.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))))) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 f) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 g))
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.basic_open_mul ProjectiveSpectrum.basicOpen_mulβ'. -/
theorem basicOpen_mul (f g : A) : basicOpen π (f * g) = basicOpen π f β basicOpen π g :=
TopologicalSpace.Opens.ext <| by simp [zero_locus_singleton_mul]
#align projective_spectrum.basic_open_mul ProjectiveSpectrum.basicOpen_mul
-/- warning: projective_spectrum.basic_open_mul_le_left -> ProjectiveSpectrum.basicOpen_mul_le_left is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (f : A) (g : A), LE.le.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Preorder.toHasLe.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (PartialOrder.toPreorder.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (SetLike.partialOrder.{u2, u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (TopologicalSpace.Opens.setLike.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))))) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A (CommRing.toRing.{u2} A _inst_2)))) f g)) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 f)
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (f : A) (g : A), LE.le.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Preorder.toLE.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (PartialOrder.toPreorder.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)))))) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) f g)) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 f)
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.basic_open_mul_le_left ProjectiveSpectrum.basicOpen_mul_le_leftβ'. -/
theorem basicOpen_mul_le_left (f g : A) : basicOpen π (f * g) β€ basicOpen π f := by
rw [basic_open_mul π f g]; exact inf_le_left
#align projective_spectrum.basic_open_mul_le_left ProjectiveSpectrum.basicOpen_mul_le_left
-/- warning: projective_spectrum.basic_open_mul_le_right -> ProjectiveSpectrum.basicOpen_mul_le_right is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (f : A) (g : A), LE.le.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Preorder.toHasLe.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (PartialOrder.toPreorder.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (SetLike.partialOrder.{u2, u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (TopologicalSpace.Opens.setLike.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))))) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A (CommRing.toRing.{u2} A _inst_2)))) f g)) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 g)
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (f : A) (g : A), LE.le.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Preorder.toLE.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (PartialOrder.toPreorder.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)))))) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) f g)) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 g)
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.basic_open_mul_le_right ProjectiveSpectrum.basicOpen_mul_le_rightβ'. -/
theorem basicOpen_mul_le_right (f g : A) : basicOpen π (f * g) β€ basicOpen π g := by
rw [basic_open_mul π f g]; exact inf_le_right
#align projective_spectrum.basic_open_mul_le_right ProjectiveSpectrum.basicOpen_mul_le_right
-/- warning: projective_spectrum.basic_open_pow -> ProjectiveSpectrum.basicOpen_pow is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (f : A) (n : Nat), (LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) n) -> (Eq.{succ u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (HPow.hPow.{u2, 0, u2} A Nat A (instHPow.{u2, 0} A Nat (Monoid.Pow.{u2} A (Ring.toMonoid.{u2} A (CommRing.toRing.{u2} A _inst_2)))) f n)) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 f))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (f : A) (n : Nat), (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) n) -> (Eq.{succ u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (HPow.hPow.{u2, 0, u2} A Nat A (instHPow.{u2, 0} A Nat (Monoid.Pow.{u2} A (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))))) f n)) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 f))
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.basic_open_pow ProjectiveSpectrum.basicOpen_powβ'. -/
@[simp]
theorem basicOpen_pow (f : A) (n : β) (hn : 0 < n) : basicOpen π (f ^ n) = basicOpen π f :=
TopologicalSpace.Opens.ext <| by simpa using zero_locus_singleton_pow π f n hn
#align projective_spectrum.basic_open_pow ProjectiveSpectrum.basicOpen_pow
-/- warning: projective_spectrum.basic_open_eq_union_of_projection -> ProjectiveSpectrum.basicOpen_eq_union_of_projection is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (f : A), Eq.{succ u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 f) (iSup.{u2, 1} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ConditionallyCompleteLattice.toHasSup.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (TopologicalSpace.Opens.completeLattice.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)))) Nat (fun (i : Nat) => ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (GradedAlgebra.proj.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π _inst_4 i) f)))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (f : A), Eq.{succ u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 f) (iSup.{u2, 1} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ConditionallyCompleteLattice.toSupSet.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)))) Nat (fun (i : Nat) => ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (GradedAlgebra.proj.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π _inst_4 i) f)))
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.basic_open_eq_union_of_projection ProjectiveSpectrum.basicOpen_eq_union_of_projectionβ'. -/
theorem basicOpen_eq_union_of_projection (f : A) :
basicOpen π f = β¨ i : β, basicOpen π (GradedAlgebra.proj π i f) :=
TopologicalSpace.Opens.ext <|
@@ -776,12 +455,6 @@ theorem basicOpen_eq_union_of_projection (f : A) :
exact fun rid => hz (z.1.2 i rid)
#align projective_spectrum.basic_open_eq_union_of_projection ProjectiveSpectrum.basicOpen_eq_union_of_projection
-/- warning: projective_spectrum.is_topological_basis_basic_opens -> ProjectiveSpectrum.isTopologicalBasis_basic_opens is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π], TopologicalSpace.IsTopologicalBasis.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Set.range.{u2, succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) A (fun (r : A) => (fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (HasLiftT.mk.{succ u2, succ u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CoeTCβ.coe.{succ u2, succ u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (SetLike.Set.hasCoeT.{u2, u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (TopologicalSpace.Opens.setLike.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))))) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 r)))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π], TopologicalSpace.IsTopologicalBasis.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Set.range.{u2, succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) A (fun (r : A) => SetLike.coe.{u2, u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (TopologicalSpace.Opens.instSetLikeOpens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 r)))
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.is_topological_basis_basic_opens ProjectiveSpectrum.isTopologicalBasis_basic_opensβ'. -/
theorem isTopologicalBasis_basic_opens :
TopologicalSpace.IsTopologicalBasis
(Set.range fun r : A => (basicOpen π r : Set (ProjectiveSpectrum π))) :=
@@ -812,30 +485,18 @@ where `x β€ y` if and only if `y β closure {x}`.
instance : PartialOrder (ProjectiveSpectrum π) :=
PartialOrder.lift asHomogeneousIdeal fun β¨_, _, _β© β¨_, _, _β© => mk.inj_eq.mpr
-/- warning: projective_spectrum.as_ideal_le_as_ideal -> ProjectiveSpectrum.as_ideal_le_as_ideal is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.as_ideal_le_as_ideal ProjectiveSpectrum.as_ideal_le_as_idealβ'. -/
@[simp]
theorem as_ideal_le_as_ideal (x y : ProjectiveSpectrum π) :
x.asHomogeneousIdeal β€ y.asHomogeneousIdeal β x β€ y :=
Iff.rfl
#align projective_spectrum.as_ideal_le_as_ideal ProjectiveSpectrum.as_ideal_le_as_ideal
-/- warning: projective_spectrum.as_ideal_lt_as_ideal -> ProjectiveSpectrum.as_ideal_lt_as_ideal is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.as_ideal_lt_as_ideal ProjectiveSpectrum.as_ideal_lt_as_idealβ'. -/
@[simp]
theorem as_ideal_lt_as_ideal (x y : ProjectiveSpectrum π) :
x.asHomogeneousIdeal < y.asHomogeneousIdeal β x < y :=
Iff.rfl
#align projective_spectrum.as_ideal_lt_as_ideal ProjectiveSpectrum.as_ideal_lt_as_ideal
-/- warning: projective_spectrum.le_iff_mem_closure -> ProjectiveSpectrum.le_iff_mem_closure is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (x : ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (y : ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4), Iff (LE.le.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Preorder.toHasLe.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (PartialOrder.toPreorder.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.partialOrder.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))) x y) (Membership.Mem.{u2, u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasMem.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) y (closure.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Singleton.singleton.{u2, u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasSingleton.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) x)))
-but is expected to have type
- forall {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_3 : Algebra.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] (π : Nat -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u2, u1} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3 π] (x : ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (y : ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4), Iff (LE.le.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Preorder.toLE.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (PartialOrder.toPreorder.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.instPartialOrderProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4))) x y) (Membership.mem.{u1, u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Set.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instMembershipSet.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4)) y (closure.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Singleton.singleton.{u1, u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Set.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instSingletonSet.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4)) x)))
-Case conversion may be inaccurate. Consider using '#align projective_spectrum.le_iff_mem_closure ProjectiveSpectrum.le_iff_mem_closureβ'. -/
theorem le_iff_mem_closure (x y : ProjectiveSpectrum π) :
x β€ y β y β closure ({x} : Set (ProjectiveSpectrum π)) :=
by
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -107,9 +107,7 @@ but is expected to have type
forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (s : Set.{u2} A), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) (Ideal.span.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) s))) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s)
Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_span ProjectiveSpectrum.zeroLocus_spanβ'. -/
@[simp]
-theorem zeroLocus_span (s : Set A) : zeroLocus π (Ideal.span s) = zeroLocus π s :=
- by
- ext x
+theorem zeroLocus_span (s : Set A) : zeroLocus π (Ideal.span s) = zeroLocus π s := by ext x;
exact (Submodule.gi _ _).gc s x.as_homogeneous_ideal.to_ideal
#align projective_spectrum.zero_locus_span ProjectiveSpectrum.zeroLocus_span
@@ -477,10 +475,8 @@ but is expected to have type
forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (s : Set.{u2} A) (s' : Set.{u2} A), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Union.union.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instUnionSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s')) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) (Inf.inf.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (Submodule.instInfSubmodule.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) (Ideal.span.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) s) (Ideal.span.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) s'))))
Case conversion may be inaccurate. Consider using '#align projective_spectrum.union_zero_locus ProjectiveSpectrum.union_zeroLocusβ'. -/
theorem union_zeroLocus (s s' : Set A) :
- zeroLocus π s βͺ zeroLocus π s' = zeroLocus π (Ideal.span s β Ideal.span s' : Ideal A) :=
- by
- rw [zero_locus_inf]
- simp
+ zeroLocus π s βͺ zeroLocus π s' = zeroLocus π (Ideal.span s β Ideal.span s' : Ideal A) := by
+ rw [zero_locus_inf]; simp
#align projective_spectrum.union_zero_locus ProjectiveSpectrum.union_zeroLocus
/- warning: projective_spectrum.zero_locus_mul_ideal -> ProjectiveSpectrum.zeroLocus_mul_ideal is a dubious translation:
@@ -564,9 +560,7 @@ instance zariskiTopology : TopologicalSpace (ProjectiveSpectrum π) :=
have hf : β i : Zs, βi = zero_locus π (f i) := fun i => (Classical.choose_spec (h i.2)).symm
simp only [hf]
exact β¨_, zero_locus_Union π _β©)
- (by
- rintro _ β¨s, rflβ© _ β¨t, rflβ©
- exact β¨_, (union_zero_locus π s t).symmβ©)
+ (by rintro _ β¨s, rflβ© _ β¨t, rflβ©; exact β¨_, (union_zero_locus π s t).symmβ©)
#align projective_spectrum.zariski_topology ProjectiveSpectrum.zariskiTopology
/- warning: projective_spectrum.Top -> ProjectiveSpectrum.top is a dubious translation:
@@ -606,10 +600,8 @@ lean 3 declaration is
but is expected to have type
forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (s : Set.{u2} A), IsClosed.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s)
Case conversion may be inaccurate. Consider using '#align projective_spectrum.is_closed_zero_locus ProjectiveSpectrum.isClosed_zeroLocusβ'. -/
-theorem isClosed_zeroLocus (s : Set A) : IsClosed (zeroLocus π s) :=
- by
- rw [is_closed_iff_zero_locus]
- exact β¨s, rflβ©
+theorem isClosed_zeroLocus (s : Set A) : IsClosed (zeroLocus π s) := by
+ rw [is_closed_iff_zero_locus]; exact β¨s, rflβ©
#align projective_spectrum.is_closed_zero_locus ProjectiveSpectrum.isClosed_zeroLocus
/- warning: projective_spectrum.zero_locus_vanishing_ideal_eq_closure -> ProjectiveSpectrum.zeroLocus_vanishingIdeal_eq_closure is a dubious translation:
@@ -735,10 +727,8 @@ lean 3 declaration is
but is expected to have type
forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (f : A) (g : A), LE.le.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Preorder.toLE.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (PartialOrder.toPreorder.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)))))) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) f g)) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 f)
Case conversion may be inaccurate. Consider using '#align projective_spectrum.basic_open_mul_le_left ProjectiveSpectrum.basicOpen_mul_le_leftβ'. -/
-theorem basicOpen_mul_le_left (f g : A) : basicOpen π (f * g) β€ basicOpen π f :=
- by
- rw [basic_open_mul π f g]
- exact inf_le_left
+theorem basicOpen_mul_le_left (f g : A) : basicOpen π (f * g) β€ basicOpen π f := by
+ rw [basic_open_mul π f g]; exact inf_le_left
#align projective_spectrum.basic_open_mul_le_left ProjectiveSpectrum.basicOpen_mul_le_left
/- warning: projective_spectrum.basic_open_mul_le_right -> ProjectiveSpectrum.basicOpen_mul_le_right is a dubious translation:
@@ -747,10 +737,8 @@ lean 3 declaration is
but is expected to have type
forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (f : A) (g : A), LE.le.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Preorder.toLE.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (PartialOrder.toPreorder.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)))))) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) f g)) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 g)
Case conversion may be inaccurate. Consider using '#align projective_spectrum.basic_open_mul_le_right ProjectiveSpectrum.basicOpen_mul_le_rightβ'. -/
-theorem basicOpen_mul_le_right (f g : A) : basicOpen π (f * g) β€ basicOpen π g :=
- by
- rw [basic_open_mul π f g]
- exact inf_le_right
+theorem basicOpen_mul_le_right (f g : A) : basicOpen π (f * g) β€ basicOpen π g := by
+ rw [basic_open_mul π f g]; exact inf_le_right
#align projective_spectrum.basic_open_mul_le_right ProjectiveSpectrum.basicOpen_mul_le_right
/- warning: projective_spectrum.basic_open_pow -> ProjectiveSpectrum.basicOpen_pow is a dubious translation:
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -92,10 +92,7 @@ def zeroLocus (s : Set A) : Set (ProjectiveSpectrum π) :=
#align projective_spectrum.zero_locus ProjectiveSpectrum.zeroLocus
/- warning: projective_spectrum.mem_zero_locus -> ProjectiveSpectrum.mem_zeroLocus is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (x : ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (s : Set.{u2} A), Iff (Membership.Mem.{u2, u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasMem.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) x (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s)) (HasSubset.Subset.{u2} (Set.{u2} A) (Set.hasSubset.{u2} A) s ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4)))) (ProjectiveSpectrum.asHomogeneousIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 x)))
-but is expected to have type
- forall {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_3 : Algebra.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] (π : Nat -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u2, u1} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3 π] (x : ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (s : Set.{u1} A), Iff (Membership.mem.{u1, u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Set.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instMembershipSet.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4)) x (ProjectiveSpectrum.zeroLocus.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4 s)) (HasSubset.Subset.{u1} (Set.{u1} A) (Set.instHasSubsetSet.{u1} A) s (SetLike.coe.{u1, u1} (HomogeneousIdeal.{0, u1, u1} Nat (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u1, u1} Nat (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (ProjectiveSpectrum.asHomogeneousIdeal.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4 x)))
+<too large>
Case conversion may be inaccurate. Consider using '#align projective_spectrum.mem_zero_locus ProjectiveSpectrum.mem_zeroLocusβ'. -/
@[simp]
theorem mem_zeroLocus (x : ProjectiveSpectrum π) (s : Set A) :
@@ -136,10 +133,7 @@ def vanishingIdeal (t : Set (ProjectiveSpectrum π)) : HomogeneousIdeal π :
#align projective_spectrum.vanishing_ideal ProjectiveSpectrum.vanishingIdeal
/- warning: projective_spectrum.coe_vanishing_ideal -> ProjectiveSpectrum.coe_vanishingIdeal is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] {π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))} [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (t : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)), Eq.{succ u2} (Set.{u2} A) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4)))) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t)) (setOf.{u2} A (fun (f : A) => forall (x : ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4), (Membership.Mem.{u2, u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasMem.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) x t) -> (Membership.Mem.{u2, u2} A (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4) (SetLike.hasMem.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4)) f (ProjectiveSpectrum.asHomogeneousIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 x))))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] {π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))} [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (t : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)), Eq.{succ u2} (Set.{u2} A) (SetLike.coe.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t)) (setOf.{u2} A (fun (f : A) => forall (x : ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4), (Membership.mem.{u2, u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instMembershipSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) x t) -> (Membership.mem.{u2, u2} A (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (SetLike.instMembership.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4)) f (ProjectiveSpectrum.asHomogeneousIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 x))))
+<too large>
Case conversion may be inaccurate. Consider using '#align projective_spectrum.coe_vanishing_ideal ProjectiveSpectrum.coe_vanishingIdealβ'. -/
theorem coe_vanishingIdeal (t : Set (ProjectiveSpectrum π)) :
(vanishingIdeal t : Set A) =
@@ -153,10 +147,7 @@ theorem coe_vanishingIdeal (t : Set (ProjectiveSpectrum π)) :
#align projective_spectrum.coe_vanishing_ideal ProjectiveSpectrum.coe_vanishingIdeal
/- warning: projective_spectrum.mem_vanishing_ideal -> ProjectiveSpectrum.mem_vanishingIdeal is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] {π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))} [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (t : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (f : A), Iff (Membership.Mem.{u2, u2} A (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (SetLike.hasMem.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4)) f (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t)) (forall (x : ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4), (Membership.Mem.{u2, u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasMem.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) x t) -> (Membership.Mem.{u2, u2} A (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4) (SetLike.hasMem.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4)) f (ProjectiveSpectrum.asHomogeneousIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 x)))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] {π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))} [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (t : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (f : A), Iff (Membership.mem.{u2, u2} A (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (SetLike.instMembership.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4)) f (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t)) (forall (x : ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4), (Membership.mem.{u2, u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instMembershipSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) x t) -> (Membership.mem.{u2, u2} A (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (SetLike.instMembership.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4)) f (ProjectiveSpectrum.asHomogeneousIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 x)))
+<too large>
Case conversion may be inaccurate. Consider using '#align projective_spectrum.mem_vanishing_ideal ProjectiveSpectrum.mem_vanishingIdealβ'. -/
theorem mem_vanishingIdeal (t : Set (ProjectiveSpectrum π)) (f : A) :
f β vanishingIdeal t β β x : ProjectiveSpectrum π, x β t β f β x.asHomogeneousIdeal := by
@@ -204,10 +195,7 @@ theorem gc_ideal :
#align projective_spectrum.gc_ideal ProjectiveSpectrum.gc_ideal
/- warning: projective_spectrum.gc_set -> ProjectiveSpectrum.gc_set is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π], GaloisConnection.{u2, u2} (Set.{u2} A) (OrderDual.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))) (PartialOrder.toPreorder.{u2} (Set.{u2} A) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} A) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} A) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} A) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} A) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} A) (Set.completeBooleanAlgebra.{u2} A))))))) (OrderDual.preorder.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (PartialOrder.toPreorder.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.completeBooleanAlgebra.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))))))))) (fun (s : Set.{u2} A) => ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s) (fun (t : OrderDual.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))) => (fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4)))) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π], GaloisConnection.{u2, u2} (Set.{u2} A) (OrderDual.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))) (PartialOrder.toPreorder.{u2} (Set.{u2} A) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} A) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} A) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} A) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} A) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} A) (Set.instCompleteBooleanAlgebraSet.{u2} A))))))) (OrderDual.preorder.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (PartialOrder.toPreorder.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instCompleteBooleanAlgebraSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))))))))) (fun (s : Set.{u2} A) => ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s) (fun (t : OrderDual.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))) => SetLike.coe.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t))
+<too large>
Case conversion may be inaccurate. Consider using '#align projective_spectrum.gc_set ProjectiveSpectrum.gc_setβ'. -/
/-- `zero_locus` and `vanishing_ideal` form a galois connection. -/
theorem gc_set :
@@ -219,10 +207,7 @@ theorem gc_set :
#align projective_spectrum.gc_set ProjectiveSpectrum.gc_set
/- warning: projective_spectrum.gc_homogeneous_ideal -> ProjectiveSpectrum.gc_homogeneousIdeal is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π], GaloisConnection.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (OrderDual.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))) (PartialOrder.toPreorder.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.partialOrder.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π _inst_4)) (OrderDual.preorder.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (PartialOrder.toPreorder.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.completeBooleanAlgebra.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))))))))) (fun (I : HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) => ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4)))) I)) (fun (t : OrderDual.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))) => ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t)
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π], GaloisConnection.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (OrderDual.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))) (PartialOrder.toPreorder.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.instPartialOrderHomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π _inst_4)) (OrderDual.preorder.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (PartialOrder.toPreorder.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instCompleteBooleanAlgebraSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))))))))) (fun (I : HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) => ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) I)) (fun (t : OrderDual.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))) => ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t)
+<too large>
Case conversion may be inaccurate. Consider using '#align projective_spectrum.gc_homogeneous_ideal ProjectiveSpectrum.gc_homogeneousIdealβ'. -/
theorem gc_homogeneousIdeal :
@GaloisConnection (HomogeneousIdeal π) (Set (ProjectiveSpectrum π))α΅α΅ _ _
@@ -233,10 +218,7 @@ theorem gc_homogeneousIdeal :
#align projective_spectrum.gc_homogeneous_ideal ProjectiveSpectrum.gc_homogeneousIdeal
/- warning: projective_spectrum.subset_zero_locus_iff_subset_vanishing_ideal -> ProjectiveSpectrum.subset_zeroLocus_iff_subset_vanishingIdeal is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (t : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (s : Set.{u2} A), Iff (HasSubset.Subset.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasSubset.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) t (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s)) (HasSubset.Subset.{u2} (Set.{u2} A) (Set.hasSubset.{u2} A) s ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4)))) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t)))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (t : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (s : Set.{u2} A), Iff (HasSubset.Subset.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instHasSubsetSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) t (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s)) (HasSubset.Subset.{u2} (Set.{u2} A) (Set.instHasSubsetSet.{u2} A) s (SetLike.coe.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t)))
+<too large>
Case conversion may be inaccurate. Consider using '#align projective_spectrum.subset_zero_locus_iff_subset_vanishing_ideal ProjectiveSpectrum.subset_zeroLocus_iff_subset_vanishingIdealβ'. -/
theorem subset_zeroLocus_iff_subset_vanishingIdeal (t : Set (ProjectiveSpectrum π)) (s : Set A) :
t β zeroLocus π s β s β vanishingIdeal t :=
@@ -244,10 +226,7 @@ theorem subset_zeroLocus_iff_subset_vanishingIdeal (t : Set (ProjectiveSpectrum
#align projective_spectrum.subset_zero_locus_iff_subset_vanishing_ideal ProjectiveSpectrum.subset_zeroLocus_iff_subset_vanishingIdeal
/- warning: projective_spectrum.subset_vanishing_ideal_zero_locus -> ProjectiveSpectrum.subset_vanishingIdeal_zeroLocus is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (s : Set.{u2} A), HasSubset.Subset.{u2} (Set.{u2} A) (Set.hasSubset.{u2} A) s ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4)))) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s)))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (s : Set.{u2} A), HasSubset.Subset.{u2} (Set.{u2} A) (Set.instHasSubsetSet.{u2} A) s (SetLike.coe.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s)))
+<too large>
Case conversion may be inaccurate. Consider using '#align projective_spectrum.subset_vanishing_ideal_zero_locus ProjectiveSpectrum.subset_vanishingIdeal_zeroLocusβ'. -/
theorem subset_vanishingIdeal_zeroLocus (s : Set A) : s β vanishingIdeal (zeroLocus π s) :=
(gc_set _).le_u_l s
@@ -265,10 +244,7 @@ theorem ideal_le_vanishingIdeal_zeroLocus (I : Ideal A) :
#align projective_spectrum.ideal_le_vanishing_ideal_zero_locus ProjectiveSpectrum.ideal_le_vanishingIdeal_zeroLocus
/- warning: projective_spectrum.homogeneous_ideal_le_vanishing_ideal_zero_locus -> ProjectiveSpectrum.homogeneousIdeal_le_vanishingIdeal_zeroLocus is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (I : HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4), LE.le.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Preorder.toHasLe.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (PartialOrder.toPreorder.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.partialOrder.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π _inst_4))) I (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4)))) I)))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (I : HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4), LE.le.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (Preorder.toLE.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (PartialOrder.toPreorder.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.instPartialOrderHomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π _inst_4))) I (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) I)))
+<too large>
Case conversion may be inaccurate. Consider using '#align projective_spectrum.homogeneous_ideal_le_vanishing_ideal_zero_locus ProjectiveSpectrum.homogeneousIdeal_le_vanishingIdeal_zeroLocusβ'. -/
theorem homogeneousIdeal_le_vanishingIdeal_zeroLocus (I : HomogeneousIdeal π) :
I β€ vanishingIdeal (zeroLocus π I) :=
@@ -276,10 +252,7 @@ theorem homogeneousIdeal_le_vanishingIdeal_zeroLocus (I : HomogeneousIdeal π)
#align projective_spectrum.homogeneous_ideal_le_vanishing_ideal_zero_locus ProjectiveSpectrum.homogeneousIdeal_le_vanishingIdeal_zeroLocus
/- warning: projective_spectrum.subset_zero_locus_vanishing_ideal -> ProjectiveSpectrum.subset_zeroLocus_vanishingIdeal is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (t : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)), HasSubset.Subset.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasSubset.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) t (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4)))) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t)))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (t : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)), HasSubset.Subset.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instHasSubsetSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) t (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t)))
+<too large>
Case conversion may be inaccurate. Consider using '#align projective_spectrum.subset_zero_locus_vanishing_ideal ProjectiveSpectrum.subset_zeroLocus_vanishingIdealβ'. -/
theorem subset_zeroLocus_vanishingIdeal (t : Set (ProjectiveSpectrum π)) :
t β zeroLocus π (vanishingIdeal t) :=
@@ -308,10 +281,7 @@ theorem zeroLocus_anti_mono_ideal {s t : Ideal A} (h : s β€ t) :
#align projective_spectrum.zero_locus_anti_mono_ideal ProjectiveSpectrum.zeroLocus_anti_mono_ideal
/- warning: projective_spectrum.zero_locus_anti_mono_homogeneous_ideal -> ProjectiveSpectrum.zeroLocus_anti_mono_homogeneousIdeal is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] {s : HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4} {t : HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4}, (LE.le.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Preorder.toHasLe.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (PartialOrder.toPreorder.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.partialOrder.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π _inst_4))) s t) -> (HasSubset.Subset.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasSubset.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4)))) t)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4)))) s)))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] {s : HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4} {t : HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4}, (LE.le.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (Preorder.toLE.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (PartialOrder.toPreorder.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.instPartialOrderHomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π _inst_4))) s t) -> (HasSubset.Subset.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instHasSubsetSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) t)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) s)))
+<too large>
Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_anti_mono_homogeneous_ideal ProjectiveSpectrum.zeroLocus_anti_mono_homogeneousIdealβ'. -/
theorem zeroLocus_anti_mono_homogeneousIdeal {s t : HomogeneousIdeal π} (h : s β€ t) :
zeroLocus π (t : Set A) β zeroLocus π (s : Set A) :=
@@ -319,10 +289,7 @@ theorem zeroLocus_anti_mono_homogeneousIdeal {s t : HomogeneousIdeal π} (h :
#align projective_spectrum.zero_locus_anti_mono_homogeneous_ideal ProjectiveSpectrum.zeroLocus_anti_mono_homogeneousIdeal
/- warning: projective_spectrum.vanishing_ideal_anti_mono -> ProjectiveSpectrum.vanishingIdeal_anti_mono is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] {s : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)} {t : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)}, (HasSubset.Subset.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasSubset.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) s t) -> (LE.le.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Preorder.toHasLe.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (PartialOrder.toPreorder.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.partialOrder.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π _inst_4))) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] {s : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)} {t : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)}, (HasSubset.Subset.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instHasSubsetSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) s t) -> (LE.le.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (Preorder.toLE.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (PartialOrder.toPreorder.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.instPartialOrderHomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π _inst_4))) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s))
+<too large>
Case conversion may be inaccurate. Consider using '#align projective_spectrum.vanishing_ideal_anti_mono ProjectiveSpectrum.vanishingIdeal_anti_monoβ'. -/
theorem vanishingIdeal_anti_mono {s t : Set (ProjectiveSpectrum π)} (h : s β t) :
vanishingIdeal t β€ vanishingIdeal s :=
@@ -418,10 +385,7 @@ theorem zeroLocus_sup_ideal (I J : Ideal A) :
#align projective_spectrum.zero_locus_sup_ideal ProjectiveSpectrum.zeroLocus_sup_ideal
/- warning: projective_spectrum.zero_locus_sup_homogeneous_ideal -> ProjectiveSpectrum.zeroLocus_sup_homogeneousIdeal is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (I : HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (J : HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4)))) (Sup.sup.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.hasSup.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π _inst_4) I J))) (Inter.inter.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasInter.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4)))) I)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4)))) J)))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (I : HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (J : HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (Sup.sup.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.instSupHomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π _inst_4) I J))) (Inter.inter.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instInterSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) I)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) J)))
+<too large>
Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_sup_homogeneous_ideal ProjectiveSpectrum.zeroLocus_sup_homogeneousIdealβ'. -/
theorem zeroLocus_sup_homogeneousIdeal (I J : HomogeneousIdeal π) :
zeroLocus π ((I β J : HomogeneousIdeal π) : Set A) = zeroLocus _ I β© zeroLocus _ J :=
@@ -439,10 +403,7 @@ theorem zeroLocus_union (s s' : Set A) : zeroLocus π (s βͺ s') = zeroLocus _
#align projective_spectrum.zero_locus_union ProjectiveSpectrum.zeroLocus_union
/- warning: projective_spectrum.vanishing_ideal_union -> ProjectiveSpectrum.vanishingIdeal_union is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (t : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (t' : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)), Eq.{succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Union.union.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasUnion.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) t t')) (Inf.inf.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.hasInf.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π _inst_4) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t'))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (t : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (t' : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)), Eq.{succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Union.union.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instUnionSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) t t')) (Inf.inf.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.instInfHomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π _inst_4) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t'))
+<too large>
Case conversion may be inaccurate. Consider using '#align projective_spectrum.vanishing_ideal_union ProjectiveSpectrum.vanishingIdeal_unionβ'. -/
theorem vanishingIdeal_union (t t' : Set (ProjectiveSpectrum π)) :
vanishingIdeal (t βͺ t') = vanishingIdeal t β vanishingIdeal t' := by
@@ -461,10 +422,7 @@ theorem zeroLocus_iSup_ideal {Ξ³ : Sort _} (I : Ξ³ β Ideal A) :
#align projective_spectrum.zero_locus_supr_ideal ProjectiveSpectrum.zeroLocus_iSup_ideal
/- warning: projective_spectrum.zero_locus_supr_homogeneous_ideal -> ProjectiveSpectrum.zeroLocus_iSup_homogeneousIdeal is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] {Ξ³ : Sort.{u3}} (I : Ξ³ -> (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4)), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4)))) (iSup.{u2, u3} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.hasSup.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π _inst_4) Ξ³ (fun (i : Ξ³) => I i)))) (Set.iInter.{u2, u3} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) Ξ³ (fun (i : Ξ³) => ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4)))) (I i))))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] {Ξ³ : Sort.{u3}} (I : Ξ³ -> (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4)), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (iSup.{u2, u3} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.instSupSetHomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π _inst_4) Ξ³ (fun (i : Ξ³) => I i)))) (Set.iInter.{u2, u3} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) Ξ³ (fun (i : Ξ³) => ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (I i))))
+<too large>
Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_supr_homogeneous_ideal ProjectiveSpectrum.zeroLocus_iSup_homogeneousIdealβ'. -/
theorem zeroLocus_iSup_homogeneousIdeal {Ξ³ : Sort _} (I : Ξ³ β HomogeneousIdeal π) :
zeroLocus _ ((β¨ i, I i : HomogeneousIdeal π) : Set A) = β i, zeroLocus π (I i) :=
@@ -493,10 +451,7 @@ theorem zeroLocus_bUnion (s : Set (Set A)) :
#align projective_spectrum.zero_locus_bUnion ProjectiveSpectrum.zeroLocus_bUnion
/- warning: projective_spectrum.vanishing_ideal_Union -> ProjectiveSpectrum.vanishingIdeal_iUnion is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] {Ξ³ : Sort.{u3}} (t : Ξ³ -> (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))), Eq.{succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Set.iUnion.{u2, u3} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) Ξ³ (fun (i : Ξ³) => t i))) (iInf.{u2, u3} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.hasInf.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π _inst_4) Ξ³ (fun (i : Ξ³) => ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (t i)))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] {Ξ³ : Sort.{u3}} (t : Ξ³ -> (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))), Eq.{succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Set.iUnion.{u2, u3} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) Ξ³ (fun (i : Ξ³) => t i))) (iInf.{u2, u3} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.instInfSetHomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π _inst_4) Ξ³ (fun (i : Ξ³) => ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (t i)))
+<too large>
Case conversion may be inaccurate. Consider using '#align projective_spectrum.vanishing_ideal_Union ProjectiveSpectrum.vanishingIdeal_iUnionβ'. -/
theorem vanishingIdeal_iUnion {Ξ³ : Sort _} (t : Ξ³ β Set (ProjectiveSpectrum π)) :
vanishingIdeal (β i, t i) = β¨
i, vanishingIdeal (t i) :=
@@ -540,10 +495,7 @@ theorem zeroLocus_mul_ideal (I J : Ideal A) :
#align projective_spectrum.zero_locus_mul_ideal ProjectiveSpectrum.zeroLocus_mul_ideal
/- warning: projective_spectrum.zero_locus_mul_homogeneous_ideal -> ProjectiveSpectrum.zeroLocus_mul_homogeneousIdeal is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (I : HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (J : HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4)))) (HMul.hMul.{u2, u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (instHMul.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.hasMul.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (CommRing.toCommSemiring.{u2} A _inst_2) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π _inst_4)) I J))) (Union.union.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasUnion.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4)))) I)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4)))) J)))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (I : HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (J : HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (HMul.hMul.{u2, u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (instHMul.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (instMulHomogeneousIdealToSemiring.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommRing.toCommSemiring.{u2} A _inst_2) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π _inst_4)) I J))) (Union.union.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instUnionSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) I)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) J)))
+<too large>
Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_mul_homogeneous_ideal ProjectiveSpectrum.zeroLocus_mul_homogeneousIdealβ'. -/
theorem zeroLocus_mul_homogeneousIdeal (I J : HomogeneousIdeal π) :
zeroLocus π ((I * J : HomogeneousIdeal π) : Set A) = zeroLocus π I βͺ zeroLocus π J :=
@@ -574,10 +526,7 @@ theorem zeroLocus_singleton_pow (f : A) (n : β) (hn : 0 < n) :
#align projective_spectrum.zero_locus_singleton_pow ProjectiveSpectrum.zeroLocus_singleton_pow
/- warning: projective_spectrum.sup_vanishing_ideal_le -> ProjectiveSpectrum.sup_vanishingIdeal_le is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (t : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (t' : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)), LE.le.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Preorder.toHasLe.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (PartialOrder.toPreorder.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.partialOrder.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π _inst_4))) (Sup.sup.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.hasSup.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π _inst_4) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t')) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Inter.inter.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasInter.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) t t'))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (t : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (t' : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)), LE.le.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (Preorder.toLE.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (PartialOrder.toPreorder.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.instPartialOrderHomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π _inst_4))) (Sup.sup.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.instSupHomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π _inst_4) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t')) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Inter.inter.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instInterSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) t t'))
+<too large>
Case conversion may be inaccurate. Consider using '#align projective_spectrum.sup_vanishing_ideal_le ProjectiveSpectrum.sup_vanishingIdeal_leβ'. -/
theorem sup_vanishingIdeal_le (t t' : Set (ProjectiveSpectrum π)) :
vanishingIdeal t β vanishingIdeal t' β€ vanishingIdeal (t β© t') :=
@@ -591,10 +540,7 @@ theorem sup_vanishingIdeal_le (t t' : Set (ProjectiveSpectrum π)) :
#align projective_spectrum.sup_vanishing_ideal_le ProjectiveSpectrum.sup_vanishingIdeal_le
/- warning: projective_spectrum.mem_compl_zero_locus_iff_not_mem -> ProjectiveSpectrum.mem_compl_zeroLocus_iff_not_mem is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] {f : A} {I : ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4}, Iff (Membership.Mem.{u2, u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasMem.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) I (HasCompl.compl.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (BooleanAlgebra.toHasCompl.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.booleanAlgebra.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Singleton.singleton.{u2, u2} A (Set.{u2} A) (Set.hasSingleton.{u2} A) f)))) (Not (Membership.Mem.{u2, u2} A (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4) (SetLike.hasMem.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4)) f (ProjectiveSpectrum.asHomogeneousIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 I)))
-but is expected to have type
- forall {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_3 : Algebra.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] (π : Nat -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u2, u1} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3 π] {f : A} {I : ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4}, Iff (Membership.mem.{u1, u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Set.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instMembershipSet.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4)) I (HasCompl.compl.{u1} (Set.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (BooleanAlgebra.toHasCompl.{u1} (Set.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instBooleanAlgebraSet.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4))) (ProjectiveSpectrum.zeroLocus.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Singleton.singleton.{u1, u1} A (Set.{u1} A) (Set.instSingletonSet.{u1} A) f)))) (Not (Membership.mem.{u1, u1} A (HomogeneousIdeal.{0, u1, u1} Nat (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (SetLike.instMembership.{u1, u1} (HomogeneousIdeal.{0, u1, u1} Nat (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u1, u1} Nat (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4)) f (ProjectiveSpectrum.asHomogeneousIdeal.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4 I)))
+<too large>
Case conversion may be inaccurate. Consider using '#align projective_spectrum.mem_compl_zero_locus_iff_not_mem ProjectiveSpectrum.mem_compl_zeroLocus_iff_not_memβ'. -/
theorem mem_compl_zeroLocus_iff_not_mem {f : A} {I : ProjectiveSpectrum π} :
I β (zeroLocus π {f} : Set (ProjectiveSpectrum π))αΆ β f β I.asHomogeneousIdeal := by
@@ -667,10 +613,7 @@ theorem isClosed_zeroLocus (s : Set A) : IsClosed (zeroLocus π s) :=
#align projective_spectrum.is_closed_zero_locus ProjectiveSpectrum.isClosed_zeroLocus
/- warning: projective_spectrum.zero_locus_vanishing_ideal_eq_closure -> ProjectiveSpectrum.zeroLocus_vanishingIdeal_eq_closure is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (t : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4)))) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t))) (closure.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) t)
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (t : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t))) (closure.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) t)
+<too large>
Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_vanishing_ideal_eq_closure ProjectiveSpectrum.zeroLocus_vanishingIdeal_eq_closureβ'. -/
theorem zeroLocus_vanishingIdeal_eq_closure (t : Set (ProjectiveSpectrum π)) :
zeroLocus π (vanishingIdeal t : Set A) = closure t :=
@@ -716,10 +659,7 @@ def basicOpen (r : A) : TopologicalSpace.Opens (ProjectiveSpectrum π)
#align projective_spectrum.basic_open ProjectiveSpectrum.basicOpen
/- warning: projective_spectrum.mem_basic_open -> ProjectiveSpectrum.mem_basicOpen is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (f : A) (x : ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4), Iff (Membership.Mem.{u2, u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (SetLike.hasMem.{u2, u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (TopologicalSpace.Opens.setLike.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))) x (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 f)) (Not (Membership.Mem.{u2, u2} A (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4) (SetLike.hasMem.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4)) f (ProjectiveSpectrum.asHomogeneousIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 x)))
-but is expected to have type
- forall {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_3 : Algebra.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] (π : Nat -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u2, u1} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3 π] (f : A) (x : ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4), Iff (Membership.mem.{u1, u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (TopologicalSpace.Opens.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (SetLike.instMembership.{u1, u1} (TopologicalSpace.Opens.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (TopologicalSpace.Opens.instSetLikeOpens.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4))) x (ProjectiveSpectrum.basicOpen.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4 f)) (Not (Membership.mem.{u1, u1} A (HomogeneousIdeal.{0, u1, u1} Nat (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (SetLike.instMembership.{u1, u1} (HomogeneousIdeal.{0, u1, u1} Nat (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u1, u1} Nat (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4)) f (ProjectiveSpectrum.asHomogeneousIdeal.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4 x)))
+<too large>
Case conversion may be inaccurate. Consider using '#align projective_spectrum.mem_basic_open ProjectiveSpectrum.mem_basicOpenβ'. -/
@[simp]
theorem mem_basicOpen (f : A) (x : ProjectiveSpectrum π) :
@@ -728,10 +668,7 @@ theorem mem_basicOpen (f : A) (x : ProjectiveSpectrum π) :
#align projective_spectrum.mem_basic_open ProjectiveSpectrum.mem_basicOpen
/- warning: projective_spectrum.mem_coe_basic_open -> ProjectiveSpectrum.mem_coe_basicOpen is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (f : A) (x : ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4), Iff (Membership.Mem.{u2, u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasMem.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (HasLiftT.mk.{succ u2, succ u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CoeTCβ.coe.{succ u2, succ u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (SetLike.Set.hasCoeT.{u2, u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (TopologicalSpace.Opens.setLike.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))))) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 f))) (Not (Membership.Mem.{u2, u2} A (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4) (SetLike.hasMem.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4)) f (ProjectiveSpectrum.asHomogeneousIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 x)))
-but is expected to have type
- forall {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_3 : Algebra.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] (π : Nat -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u2, u1} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3 π] (f : A) (x : ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4), Iff (Membership.mem.{u1, u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Set.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instMembershipSet.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4)) x (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (TopologicalSpace.Opens.instSetLikeOpens.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.basicOpen.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4 f))) (Not (Membership.mem.{u1, u1} A (HomogeneousIdeal.{0, u1, u1} Nat (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (SetLike.instMembership.{u1, u1} (HomogeneousIdeal.{0, u1, u1} Nat (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u1, u1} Nat (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4)) f (ProjectiveSpectrum.asHomogeneousIdeal.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4 x)))
+<too large>
Case conversion may be inaccurate. Consider using '#align projective_spectrum.mem_coe_basic_open ProjectiveSpectrum.mem_coe_basicOpenβ'. -/
theorem mem_coe_basicOpen (f : A) (x : ProjectiveSpectrum π) :
x β (β(basicOpen π f) : Set (ProjectiveSpectrum π)) β f β x.asHomogeneousIdeal :=
@@ -888,10 +825,7 @@ instance : PartialOrder (ProjectiveSpectrum π) :=
PartialOrder.lift asHomogeneousIdeal fun β¨_, _, _β© β¨_, _, _β© => mk.inj_eq.mpr
/- warning: projective_spectrum.as_ideal_le_as_ideal -> ProjectiveSpectrum.as_ideal_le_as_ideal is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (x : ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (y : ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4), Iff (LE.le.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4) (Preorder.toHasLe.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4) (PartialOrder.toPreorder.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4) (HomogeneousIdeal.partialOrder.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π _inst_4))) (ProjectiveSpectrum.asHomogeneousIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 x) (ProjectiveSpectrum.asHomogeneousIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 y)) (LE.le.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Preorder.toHasLe.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (PartialOrder.toPreorder.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.partialOrder.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))) x y)
-but is expected to have type
- forall {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_3 : Algebra.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] (π : Nat -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u2, u1} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3 π] (x : ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (y : ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4), Iff (LE.le.{u1} (HomogeneousIdeal.{0, u1, u1} Nat (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (Preorder.toLE.{u1} (HomogeneousIdeal.{0, u1, u1} Nat (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (PartialOrder.toPreorder.{u1} (HomogeneousIdeal.{0, u1, u1} Nat (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.instPartialOrderHomogeneousIdeal.{0, u1, u1} Nat (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) π _inst_4))) (ProjectiveSpectrum.asHomogeneousIdeal.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4 x) (ProjectiveSpectrum.asHomogeneousIdeal.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4 y)) (LE.le.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Preorder.toLE.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (PartialOrder.toPreorder.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.instPartialOrderProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4))) x y)
+<too large>
Case conversion may be inaccurate. Consider using '#align projective_spectrum.as_ideal_le_as_ideal ProjectiveSpectrum.as_ideal_le_as_idealβ'. -/
@[simp]
theorem as_ideal_le_as_ideal (x y : ProjectiveSpectrum π) :
@@ -900,10 +834,7 @@ theorem as_ideal_le_as_ideal (x y : ProjectiveSpectrum π) :
#align projective_spectrum.as_ideal_le_as_ideal ProjectiveSpectrum.as_ideal_le_as_ideal
/- warning: projective_spectrum.as_ideal_lt_as_ideal -> ProjectiveSpectrum.as_ideal_lt_as_ideal is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (x : ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (y : ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4), Iff (LT.lt.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4) (Preorder.toHasLt.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4) (PartialOrder.toPreorder.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4) (HomogeneousIdeal.partialOrder.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π _inst_4))) (ProjectiveSpectrum.asHomogeneousIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 x) (ProjectiveSpectrum.asHomogeneousIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 y)) (LT.lt.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Preorder.toHasLt.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (PartialOrder.toPreorder.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.partialOrder.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))) x y)
-but is expected to have type
- forall {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_3 : Algebra.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] (π : Nat -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u2, u1} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3 π] (x : ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (y : ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4), Iff (LT.lt.{u1} (HomogeneousIdeal.{0, u1, u1} Nat (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (Preorder.toLT.{u1} (HomogeneousIdeal.{0, u1, u1} Nat (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (PartialOrder.toPreorder.{u1} (HomogeneousIdeal.{0, u1, u1} Nat (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.instPartialOrderHomogeneousIdeal.{0, u1, u1} Nat (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) π _inst_4))) (ProjectiveSpectrum.asHomogeneousIdeal.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4 x) (ProjectiveSpectrum.asHomogeneousIdeal.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4 y)) (LT.lt.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Preorder.toLT.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (PartialOrder.toPreorder.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.instPartialOrderProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4))) x y)
+<too large>
Case conversion may be inaccurate. Consider using '#align projective_spectrum.as_ideal_lt_as_ideal ProjectiveSpectrum.as_ideal_lt_as_idealβ'. -/
@[simp]
theorem as_ideal_lt_as_ideal (x y : ProjectiveSpectrum π) :
mathlib commit https://github.com/leanprover-community/mathlib/commit/8d33f09cd7089ecf074b4791907588245aec5d1b
@@ -831,7 +831,7 @@ theorem basicOpen_pow (f : A) (n : β) (hn : 0 < n) : basicOpen π (f ^ n) =
lean 3 declaration is
forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (f : A), Eq.{succ u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 f) (iSup.{u2, 1} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ConditionallyCompleteLattice.toHasSup.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (TopologicalSpace.Opens.completeLattice.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)))) Nat (fun (i : Nat) => ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (GradedAlgebra.proj.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π _inst_4 i) f)))
but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (f : A), Eq.{succ u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 f) (iSup.{u2, 1} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ConditionallyCompleteLattice.toSupSet.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)))) Nat (fun (i : Nat) => ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (GradedAlgebra.proj.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π _inst_4 i) f)))
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (f : A), Eq.{succ u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 f) (iSup.{u2, 1} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ConditionallyCompleteLattice.toSupSet.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)))) Nat (fun (i : Nat) => ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (GradedAlgebra.proj.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π _inst_4 i) f)))
Case conversion may be inaccurate. Consider using '#align projective_spectrum.basic_open_eq_union_of_projection ProjectiveSpectrum.basicOpen_eq_union_of_projectionβ'. -/
theorem basicOpen_eq_union_of_projection (f : A) :
basicOpen π f = β¨ i : β, basicOpen π (GradedAlgebra.proj π i f) :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/75e7fca56381d056096ce5d05e938f63a6567828
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Jujian Zhang, Johan Commelin
! This file was ported from Lean 3 source module algebraic_geometry.projective_spectrum.topology
-! leanprover-community/mathlib commit d39590fc8728fbf6743249802486f8c91ffe07bc
+! leanprover-community/mathlib commit 4280f5f32e16755ec7985ce11e189b6cd6ff6735
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -15,6 +15,9 @@ import Mathbin.Topology.Sets.Opens
/-!
# Projective spectrum of a graded ring
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
The projective spectrum of a graded commutative ring is the subtype of all homogenous ideals that
are prime and do not contain the irrelevant ideal.
It is naturally endowed with a topology: the Zariski topology.
mathlib commit https://github.com/leanprover-community/mathlib/commit/33c67ae661dd8988516ff7f247b0be3018cdd952
@@ -52,6 +52,12 @@ variable [CommSemiring R] [CommRing A] [Algebra R A]
variable (π : β β Submodule R A) [GradedAlgebra π]
+/- warning: projective_spectrum -> ProjectiveSpectrum is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π], Type.{u2}
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π], Type.{u2}
+Case conversion may be inaccurate. Consider using '#align projective_spectrum ProjectiveSpectrumβ'. -/
/-- The projective spectrum of a graded commutative ring is the subtype of all homogenous ideals
that are prime and do not contain the irrelevant ideal. -/
@[ext, nolint has_nonempty_instance]
@@ -65,6 +71,12 @@ attribute [instance] ProjectiveSpectrum.isPrime
namespace ProjectiveSpectrum
+/- warning: projective_spectrum.zero_locus -> ProjectiveSpectrum.zeroLocus is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π], (Set.{u2} A) -> (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π], (Set.{u2} A) -> (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus ProjectiveSpectrum.zeroLocusβ'. -/
/-- The zero locus of a set `s` of elements of a commutative ring `A` is the set of all relevant
homogeneous prime ideals of the ring that contain the set `s`.
@@ -76,12 +88,24 @@ def zeroLocus (s : Set A) : Set (ProjectiveSpectrum π) :=
{ x | s β x.asHomogeneousIdeal }
#align projective_spectrum.zero_locus ProjectiveSpectrum.zeroLocus
+/- warning: projective_spectrum.mem_zero_locus -> ProjectiveSpectrum.mem_zeroLocus is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (x : ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (s : Set.{u2} A), Iff (Membership.Mem.{u2, u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasMem.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) x (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s)) (HasSubset.Subset.{u2} (Set.{u2} A) (Set.hasSubset.{u2} A) s ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4)))) (ProjectiveSpectrum.asHomogeneousIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 x)))
+but is expected to have type
+ forall {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_3 : Algebra.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] (π : Nat -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u2, u1} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3 π] (x : ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (s : Set.{u1} A), Iff (Membership.mem.{u1, u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Set.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instMembershipSet.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4)) x (ProjectiveSpectrum.zeroLocus.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4 s)) (HasSubset.Subset.{u1} (Set.{u1} A) (Set.instHasSubsetSet.{u1} A) s (SetLike.coe.{u1, u1} (HomogeneousIdeal.{0, u1, u1} Nat (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u1, u1} Nat (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (ProjectiveSpectrum.asHomogeneousIdeal.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4 x)))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.mem_zero_locus ProjectiveSpectrum.mem_zeroLocusβ'. -/
@[simp]
theorem mem_zeroLocus (x : ProjectiveSpectrum π) (s : Set A) :
x β zeroLocus π s β s β x.asHomogeneousIdeal :=
Iff.rfl
#align projective_spectrum.mem_zero_locus ProjectiveSpectrum.mem_zeroLocus
+/- warning: projective_spectrum.zero_locus_span -> ProjectiveSpectrum.zeroLocus_span is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (s : Set.{u2} A), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))))) (Ideal.span.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) s))) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s)
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (s : Set.{u2} A), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) (Ideal.span.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) s))) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s)
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_span ProjectiveSpectrum.zeroLocus_spanβ'. -/
@[simp]
theorem zeroLocus_span (s : Set A) : zeroLocus π (Ideal.span s) = zeroLocus π s :=
by
@@ -91,6 +115,12 @@ theorem zeroLocus_span (s : Set A) : zeroLocus π (Ideal.span s) = zeroLocus
variable {π}
+/- warning: projective_spectrum.vanishing_ideal -> ProjectiveSpectrum.vanishingIdeal is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] {π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))} [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π], (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) -> (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4)
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] {π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))} [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π], (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) -> (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4)
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.vanishing_ideal ProjectiveSpectrum.vanishingIdealβ'. -/
/-- The vanishing ideal of a set `t` of points of the projective spectrum of a commutative ring `R`
is the intersection of all the relevant homogeneous prime ideals in the set `t`.
@@ -102,6 +132,12 @@ def vanishingIdeal (t : Set (ProjectiveSpectrum π)) : HomogeneousIdeal π :
β¨
(x : ProjectiveSpectrum π) (h : x β t), x.asHomogeneousIdeal
#align projective_spectrum.vanishing_ideal ProjectiveSpectrum.vanishingIdeal
+/- warning: projective_spectrum.coe_vanishing_ideal -> ProjectiveSpectrum.coe_vanishingIdeal is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] {π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))} [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (t : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)), Eq.{succ u2} (Set.{u2} A) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4)))) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t)) (setOf.{u2} A (fun (f : A) => forall (x : ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4), (Membership.Mem.{u2, u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasMem.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) x t) -> (Membership.Mem.{u2, u2} A (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4) (SetLike.hasMem.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4)) f (ProjectiveSpectrum.asHomogeneousIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 x))))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] {π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))} [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (t : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)), Eq.{succ u2} (Set.{u2} A) (SetLike.coe.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t)) (setOf.{u2} A (fun (f : A) => forall (x : ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4), (Membership.mem.{u2, u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instMembershipSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) x t) -> (Membership.mem.{u2, u2} A (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (SetLike.instMembership.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4)) f (ProjectiveSpectrum.asHomogeneousIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 x))))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.coe_vanishing_ideal ProjectiveSpectrum.coe_vanishingIdealβ'. -/
theorem coe_vanishingIdeal (t : Set (ProjectiveSpectrum π)) :
(vanishingIdeal t : Set A) =
{ f | β x : ProjectiveSpectrum π, x β t β f β x.asHomogeneousIdeal } :=
@@ -113,17 +149,35 @@ theorem coe_vanishingIdeal (t : Set (ProjectiveSpectrum π)) :
rw [HomogeneousIdeal.toIdeal_iInf, Submodule.mem_iInf, HomogeneousIdeal.mem_iff]
#align projective_spectrum.coe_vanishing_ideal ProjectiveSpectrum.coe_vanishingIdeal
+/- warning: projective_spectrum.mem_vanishing_ideal -> ProjectiveSpectrum.mem_vanishingIdeal is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] {π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))} [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (t : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (f : A), Iff (Membership.Mem.{u2, u2} A (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (SetLike.hasMem.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4)) f (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t)) (forall (x : ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4), (Membership.Mem.{u2, u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasMem.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) x t) -> (Membership.Mem.{u2, u2} A (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4) (SetLike.hasMem.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4)) f (ProjectiveSpectrum.asHomogeneousIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 x)))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] {π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))} [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (t : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (f : A), Iff (Membership.mem.{u2, u2} A (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (SetLike.instMembership.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4)) f (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t)) (forall (x : ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4), (Membership.mem.{u2, u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instMembershipSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) x t) -> (Membership.mem.{u2, u2} A (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (SetLike.instMembership.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4)) f (ProjectiveSpectrum.asHomogeneousIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 x)))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.mem_vanishing_ideal ProjectiveSpectrum.mem_vanishingIdealβ'. -/
theorem mem_vanishingIdeal (t : Set (ProjectiveSpectrum π)) (f : A) :
f β vanishingIdeal t β β x : ProjectiveSpectrum π, x β t β f β x.asHomogeneousIdeal := by
rw [β SetLike.mem_coe, coe_vanishing_ideal, Set.mem_setOf_eq]
#align projective_spectrum.mem_vanishing_ideal ProjectiveSpectrum.mem_vanishingIdeal
+/- warning: projective_spectrum.vanishing_ideal_singleton -> ProjectiveSpectrum.vanishingIdeal_singleton is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] {π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))} [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (x : ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4), Eq.{succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Singleton.singleton.{u2, u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasSingleton.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) x)) (ProjectiveSpectrum.asHomogeneousIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 x)
+but is expected to have type
+ forall {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_3 : Algebra.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] {π : Nat -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3))} [_inst_4 : GradedAlgebra.{0, u2, u1} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3 π] (x : ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4), Eq.{succ u1} (HomogeneousIdeal.{0, u1, u1} Nat (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (ProjectiveSpectrum.vanishingIdeal.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Singleton.singleton.{u1, u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Set.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instSingletonSet.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4)) x)) (ProjectiveSpectrum.asHomogeneousIdeal.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4 x)
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.vanishing_ideal_singleton ProjectiveSpectrum.vanishingIdeal_singletonβ'. -/
@[simp]
theorem vanishingIdeal_singleton (x : ProjectiveSpectrum π) :
vanishingIdeal ({x} : Set (ProjectiveSpectrum π)) = x.asHomogeneousIdeal := by
simp [vanishing_ideal]
#align projective_spectrum.vanishing_ideal_singleton ProjectiveSpectrum.vanishingIdeal_singleton
+/- warning: projective_spectrum.subset_zero_locus_iff_le_vanishing_ideal -> ProjectiveSpectrum.subset_zeroLocus_iff_le_vanishingIdeal is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] {π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))} [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (t : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (I : Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))), Iff (HasSubset.Subset.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasSubset.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) t (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))))) I))) (LE.le.{u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Preorder.toHasLe.{u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (SetLike.partialOrder.{u2, u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))))) I (HomogeneousIdeal.toIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4 (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t)))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] {π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))} [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (t : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (I : Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))), Iff (HasSubset.Subset.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instHasSubsetSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) t (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) I))) (LE.le.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (Preorder.toLE.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (Submodule.completeLattice.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))))))) I (HomogeneousIdeal.toIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4 (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t)))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.subset_zero_locus_iff_le_vanishing_ideal ProjectiveSpectrum.subset_zeroLocus_iff_le_vanishingIdealβ'. -/
theorem subset_zeroLocus_iff_le_vanishingIdeal (t : Set (ProjectiveSpectrum π)) (I : Ideal A) :
t β zeroLocus π I β I β€ (vanishingIdeal t).toIdeal :=
β¨fun h f k => (mem_vanishingIdeal _ _).mpr fun x j => (mem_zeroLocus _ _ _).mpr (h j) k, fun h =>
@@ -133,6 +187,12 @@ theorem subset_zeroLocus_iff_le_vanishingIdeal (t : Set (ProjectiveSpectrum π
variable (π)
+/- warning: projective_spectrum.gc_ideal -> ProjectiveSpectrum.gc_ideal is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π], GaloisConnection.{u2, u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (OrderDual.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (SetLike.partialOrder.{u2, u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)))))) (OrderDual.preorder.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (PartialOrder.toPreorder.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.completeBooleanAlgebra.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))))))))) (fun (I : Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) => ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))))) I)) (fun (t : OrderDual.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))) => HomogeneousIdeal.toIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4 (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π], GaloisConnection.{u2, u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (OrderDual.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (Submodule.completeLattice.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))))) (OrderDual.preorder.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (PartialOrder.toPreorder.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instCompleteBooleanAlgebraSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))))))))) (fun (I : Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) => ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) I)) (fun (t : OrderDual.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))) => HomogeneousIdeal.toIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4 (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.gc_ideal ProjectiveSpectrum.gc_idealβ'. -/
/-- `zero_locus` and `vanishing_ideal` form a galois connection. -/
theorem gc_ideal :
@GaloisConnection (Ideal A) (Set (ProjectiveSpectrum π))α΅α΅ _ _ (fun I => zeroLocus π I) fun t =>
@@ -140,6 +200,12 @@ theorem gc_ideal :
fun I t => subset_zeroLocus_iff_le_vanishingIdeal t I
#align projective_spectrum.gc_ideal ProjectiveSpectrum.gc_ideal
+/- warning: projective_spectrum.gc_set -> ProjectiveSpectrum.gc_set is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π], GaloisConnection.{u2, u2} (Set.{u2} A) (OrderDual.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))) (PartialOrder.toPreorder.{u2} (Set.{u2} A) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} A) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} A) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} A) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} A) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} A) (Set.completeBooleanAlgebra.{u2} A))))))) (OrderDual.preorder.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (PartialOrder.toPreorder.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.completeBooleanAlgebra.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))))))))) (fun (s : Set.{u2} A) => ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s) (fun (t : OrderDual.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))) => (fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4)))) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π], GaloisConnection.{u2, u2} (Set.{u2} A) (OrderDual.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))) (PartialOrder.toPreorder.{u2} (Set.{u2} A) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} A) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} A) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} A) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} A) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} A) (Set.instCompleteBooleanAlgebraSet.{u2} A))))))) (OrderDual.preorder.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (PartialOrder.toPreorder.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instCompleteBooleanAlgebraSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))))))))) (fun (s : Set.{u2} A) => ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s) (fun (t : OrderDual.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))) => SetLike.coe.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.gc_set ProjectiveSpectrum.gc_setβ'. -/
/-- `zero_locus` and `vanishing_ideal` form a galois connection. -/
theorem gc_set :
@GaloisConnection (Set A) (Set (ProjectiveSpectrum π))α΅α΅ _ _ (fun s => zeroLocus π s) fun t =>
@@ -149,6 +215,12 @@ theorem gc_set :
simpa [zero_locus_span, Function.comp] using GaloisConnection.compose ideal_gc (gc_ideal π)
#align projective_spectrum.gc_set ProjectiveSpectrum.gc_set
+/- warning: projective_spectrum.gc_homogeneous_ideal -> ProjectiveSpectrum.gc_homogeneousIdeal is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π], GaloisConnection.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (OrderDual.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))) (PartialOrder.toPreorder.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.partialOrder.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π _inst_4)) (OrderDual.preorder.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (PartialOrder.toPreorder.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.completeBooleanAlgebra.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))))))))) (fun (I : HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) => ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4)))) I)) (fun (t : OrderDual.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))) => ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t)
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π], GaloisConnection.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (OrderDual.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))) (PartialOrder.toPreorder.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.instPartialOrderHomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π _inst_4)) (OrderDual.preorder.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (PartialOrder.toPreorder.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instCompleteBooleanAlgebraSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))))))))) (fun (I : HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) => ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) I)) (fun (t : OrderDual.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))) => ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t)
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.gc_homogeneous_ideal ProjectiveSpectrum.gc_homogeneousIdealβ'. -/
theorem gc_homogeneousIdeal :
@GaloisConnection (HomogeneousIdeal π) (Set (ProjectiveSpectrum π))α΅α΅ _ _
(fun I => zeroLocus π I) fun t => vanishingIdeal t :=
@@ -157,133 +229,295 @@ theorem gc_homogeneousIdeal :
subset_zero_locus_iff_le_vanishing_ideal t I.to_ideal
#align projective_spectrum.gc_homogeneous_ideal ProjectiveSpectrum.gc_homogeneousIdeal
+/- warning: projective_spectrum.subset_zero_locus_iff_subset_vanishing_ideal -> ProjectiveSpectrum.subset_zeroLocus_iff_subset_vanishingIdeal is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (t : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (s : Set.{u2} A), Iff (HasSubset.Subset.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasSubset.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) t (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s)) (HasSubset.Subset.{u2} (Set.{u2} A) (Set.hasSubset.{u2} A) s ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4)))) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t)))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (t : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (s : Set.{u2} A), Iff (HasSubset.Subset.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instHasSubsetSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) t (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s)) (HasSubset.Subset.{u2} (Set.{u2} A) (Set.instHasSubsetSet.{u2} A) s (SetLike.coe.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t)))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.subset_zero_locus_iff_subset_vanishing_ideal ProjectiveSpectrum.subset_zeroLocus_iff_subset_vanishingIdealβ'. -/
theorem subset_zeroLocus_iff_subset_vanishingIdeal (t : Set (ProjectiveSpectrum π)) (s : Set A) :
t β zeroLocus π s β s β vanishingIdeal t :=
(gc_set _) s t
#align projective_spectrum.subset_zero_locus_iff_subset_vanishing_ideal ProjectiveSpectrum.subset_zeroLocus_iff_subset_vanishingIdeal
+/- warning: projective_spectrum.subset_vanishing_ideal_zero_locus -> ProjectiveSpectrum.subset_vanishingIdeal_zeroLocus is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (s : Set.{u2} A), HasSubset.Subset.{u2} (Set.{u2} A) (Set.hasSubset.{u2} A) s ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4)))) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s)))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (s : Set.{u2} A), HasSubset.Subset.{u2} (Set.{u2} A) (Set.instHasSubsetSet.{u2} A) s (SetLike.coe.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s)))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.subset_vanishing_ideal_zero_locus ProjectiveSpectrum.subset_vanishingIdeal_zeroLocusβ'. -/
theorem subset_vanishingIdeal_zeroLocus (s : Set A) : s β vanishingIdeal (zeroLocus π s) :=
(gc_set _).le_u_l s
#align projective_spectrum.subset_vanishing_ideal_zero_locus ProjectiveSpectrum.subset_vanishingIdeal_zeroLocus
+/- warning: projective_spectrum.ideal_le_vanishing_ideal_zero_locus -> ProjectiveSpectrum.ideal_le_vanishingIdeal_zeroLocus is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (I : Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))), LE.le.{u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Preorder.toHasLe.{u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (SetLike.partialOrder.{u2, u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))))) I (HomogeneousIdeal.toIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4 (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))))) I))))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (I : Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))), LE.le.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (Preorder.toLE.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (Submodule.completeLattice.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))))))) I (HomogeneousIdeal.toIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4 (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) I))))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.ideal_le_vanishing_ideal_zero_locus ProjectiveSpectrum.ideal_le_vanishingIdeal_zeroLocusβ'. -/
theorem ideal_le_vanishingIdeal_zeroLocus (I : Ideal A) :
I β€ (vanishingIdeal (zeroLocus π I)).toIdeal :=
(gc_ideal _).le_u_l I
#align projective_spectrum.ideal_le_vanishing_ideal_zero_locus ProjectiveSpectrum.ideal_le_vanishingIdeal_zeroLocus
+/- warning: projective_spectrum.homogeneous_ideal_le_vanishing_ideal_zero_locus -> ProjectiveSpectrum.homogeneousIdeal_le_vanishingIdeal_zeroLocus is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (I : HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4), LE.le.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Preorder.toHasLe.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (PartialOrder.toPreorder.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.partialOrder.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π _inst_4))) I (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4)))) I)))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (I : HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4), LE.le.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (Preorder.toLE.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (PartialOrder.toPreorder.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.instPartialOrderHomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π _inst_4))) I (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) I)))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.homogeneous_ideal_le_vanishing_ideal_zero_locus ProjectiveSpectrum.homogeneousIdeal_le_vanishingIdeal_zeroLocusβ'. -/
theorem homogeneousIdeal_le_vanishingIdeal_zeroLocus (I : HomogeneousIdeal π) :
I β€ vanishingIdeal (zeroLocus π I) :=
(gc_homogeneousIdeal _).le_u_l I
#align projective_spectrum.homogeneous_ideal_le_vanishing_ideal_zero_locus ProjectiveSpectrum.homogeneousIdeal_le_vanishingIdeal_zeroLocus
+/- warning: projective_spectrum.subset_zero_locus_vanishing_ideal -> ProjectiveSpectrum.subset_zeroLocus_vanishingIdeal is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (t : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)), HasSubset.Subset.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasSubset.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) t (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4)))) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t)))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (t : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)), HasSubset.Subset.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instHasSubsetSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) t (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t)))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.subset_zero_locus_vanishing_ideal ProjectiveSpectrum.subset_zeroLocus_vanishingIdealβ'. -/
theorem subset_zeroLocus_vanishingIdeal (t : Set (ProjectiveSpectrum π)) :
t β zeroLocus π (vanishingIdeal t) :=
(gc_ideal _).l_u_le t
#align projective_spectrum.subset_zero_locus_vanishing_ideal ProjectiveSpectrum.subset_zeroLocus_vanishingIdeal
+/- warning: projective_spectrum.zero_locus_anti_mono -> ProjectiveSpectrum.zeroLocus_anti_mono is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] {s : Set.{u2} A} {t : Set.{u2} A}, (HasSubset.Subset.{u2} (Set.{u2} A) (Set.hasSubset.{u2} A) s t) -> (HasSubset.Subset.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasSubset.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] {s : Set.{u2} A} {t : Set.{u2} A}, (HasSubset.Subset.{u2} (Set.{u2} A) (Set.instHasSubsetSet.{u2} A) s t) -> (HasSubset.Subset.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instHasSubsetSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_anti_mono ProjectiveSpectrum.zeroLocus_anti_monoβ'. -/
theorem zeroLocus_anti_mono {s t : Set A} (h : s β t) : zeroLocus π t β zeroLocus π s :=
(gc_set _).monotone_l h
#align projective_spectrum.zero_locus_anti_mono ProjectiveSpectrum.zeroLocus_anti_mono
+/- warning: projective_spectrum.zero_locus_anti_mono_ideal -> ProjectiveSpectrum.zeroLocus_anti_mono_ideal is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] {s : Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))} {t : Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))}, (LE.le.{u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Preorder.toHasLe.{u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (SetLike.partialOrder.{u2, u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))))) s t) -> (HasSubset.Subset.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasSubset.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))))) t)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))))) s)))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] {s : Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))} {t : Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))}, (LE.le.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (Preorder.toLE.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (Submodule.completeLattice.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))))))) s t) -> (HasSubset.Subset.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instHasSubsetSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) t)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) s)))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_anti_mono_ideal ProjectiveSpectrum.zeroLocus_anti_mono_idealβ'. -/
theorem zeroLocus_anti_mono_ideal {s t : Ideal A} (h : s β€ t) :
zeroLocus π (t : Set A) β zeroLocus π (s : Set A) :=
(gc_ideal _).monotone_l h
#align projective_spectrum.zero_locus_anti_mono_ideal ProjectiveSpectrum.zeroLocus_anti_mono_ideal
+/- warning: projective_spectrum.zero_locus_anti_mono_homogeneous_ideal -> ProjectiveSpectrum.zeroLocus_anti_mono_homogeneousIdeal is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] {s : HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4} {t : HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4}, (LE.le.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Preorder.toHasLe.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (PartialOrder.toPreorder.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.partialOrder.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π _inst_4))) s t) -> (HasSubset.Subset.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasSubset.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4)))) t)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4)))) s)))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] {s : HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4} {t : HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4}, (LE.le.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (Preorder.toLE.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (PartialOrder.toPreorder.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.instPartialOrderHomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π _inst_4))) s t) -> (HasSubset.Subset.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instHasSubsetSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) t)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) s)))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_anti_mono_homogeneous_ideal ProjectiveSpectrum.zeroLocus_anti_mono_homogeneousIdealβ'. -/
theorem zeroLocus_anti_mono_homogeneousIdeal {s t : HomogeneousIdeal π} (h : s β€ t) :
zeroLocus π (t : Set A) β zeroLocus π (s : Set A) :=
(gc_homogeneousIdeal _).monotone_l h
#align projective_spectrum.zero_locus_anti_mono_homogeneous_ideal ProjectiveSpectrum.zeroLocus_anti_mono_homogeneousIdeal
+/- warning: projective_spectrum.vanishing_ideal_anti_mono -> ProjectiveSpectrum.vanishingIdeal_anti_mono is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] {s : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)} {t : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)}, (HasSubset.Subset.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasSubset.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) s t) -> (LE.le.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Preorder.toHasLe.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (PartialOrder.toPreorder.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.partialOrder.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π _inst_4))) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] {s : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)} {t : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)}, (HasSubset.Subset.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instHasSubsetSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) s t) -> (LE.le.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (Preorder.toLE.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (PartialOrder.toPreorder.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.instPartialOrderHomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π _inst_4))) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.vanishing_ideal_anti_mono ProjectiveSpectrum.vanishingIdeal_anti_monoβ'. -/
theorem vanishingIdeal_anti_mono {s t : Set (ProjectiveSpectrum π)} (h : s β t) :
vanishingIdeal t β€ vanishingIdeal s :=
(gc_ideal _).monotone_u h
#align projective_spectrum.vanishing_ideal_anti_mono ProjectiveSpectrum.vanishingIdeal_anti_mono
+/- warning: projective_spectrum.zero_locus_bot -> ProjectiveSpectrum.zeroLocus_bot is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π], Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))))) (Bot.bot.{u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Submodule.hasBot.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))))) (Set.univ.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π], Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) (Bot.bot.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (Submodule.instBotSubmodule.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))))) (Set.univ.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_bot ProjectiveSpectrum.zeroLocus_botβ'. -/
theorem zeroLocus_bot : zeroLocus π ((β₯ : Ideal A) : Set A) = Set.univ :=
(gc_ideal π).l_bot
#align projective_spectrum.zero_locus_bot ProjectiveSpectrum.zeroLocus_bot
+/- warning: projective_spectrum.zero_locus_singleton_zero -> ProjectiveSpectrum.zeroLocus_singleton_zero is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π], Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Singleton.singleton.{u2, u2} A (Set.{u2} A) (Set.hasSingleton.{u2} A) (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))))))))) (Set.univ.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π], Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Singleton.singleton.{u2, u2} A (Set.{u2} A) (Set.instSingletonSet.{u2} A) (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (CommMonoidWithZero.toZero.{u2} A (CommSemiring.toCommMonoidWithZero.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))))) (Set.univ.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_singleton_zero ProjectiveSpectrum.zeroLocus_singleton_zeroβ'. -/
@[simp]
theorem zeroLocus_singleton_zero : zeroLocus π ({0} : Set A) = Set.univ :=
zeroLocus_bot _
#align projective_spectrum.zero_locus_singleton_zero ProjectiveSpectrum.zeroLocus_singleton_zero
+/- warning: projective_spectrum.zero_locus_empty -> ProjectiveSpectrum.zeroLocus_empty is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π], Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (EmptyCollection.emptyCollection.{u2} (Set.{u2} A) (Set.hasEmptyc.{u2} A))) (Set.univ.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π], Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (EmptyCollection.emptyCollection.{u2} (Set.{u2} A) (Set.instEmptyCollectionSet.{u2} A))) (Set.univ.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_empty ProjectiveSpectrum.zeroLocus_emptyβ'. -/
@[simp]
theorem zeroLocus_empty : zeroLocus π (β
: Set A) = Set.univ :=
(gc_set π).l_bot
#align projective_spectrum.zero_locus_empty ProjectiveSpectrum.zeroLocus_empty
+/- warning: projective_spectrum.vanishing_ideal_univ -> ProjectiveSpectrum.vanishingIdeal_univ is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π], Eq.{succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (EmptyCollection.emptyCollection.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasEmptyc.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)))) (Top.top.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.hasTop.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π _inst_4))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π], Eq.{succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (EmptyCollection.emptyCollection.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instEmptyCollectionSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)))) (Top.top.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.instTopHomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π _inst_4))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.vanishing_ideal_univ ProjectiveSpectrum.vanishingIdeal_univβ'. -/
@[simp]
theorem vanishingIdeal_univ : vanishingIdeal (β
: Set (ProjectiveSpectrum π)) = β€ := by
simpa using (gc_ideal _).u_top
#align projective_spectrum.vanishing_ideal_univ ProjectiveSpectrum.vanishingIdeal_univ
+/- warning: projective_spectrum.zero_locus_empty_of_one_mem -> ProjectiveSpectrum.zeroLocus_empty_of_one_mem is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] {s : Set.{u2} A}, (Membership.Mem.{u2, u2} A (Set.{u2} A) (Set.hasMem.{u2} A) (OfNat.ofNat.{u2} A 1 (OfNat.mk.{u2} A 1 (One.one.{u2} A (AddMonoidWithOne.toOne.{u2} A (AddGroupWithOne.toAddMonoidWithOne.{u2} A (AddCommGroupWithOne.toAddGroupWithOne.{u2} A (Ring.toAddCommGroupWithOne.{u2} A (CommRing.toRing.{u2} A _inst_2)))))))) s) -> (Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s) (EmptyCollection.emptyCollection.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasEmptyc.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] {s : Set.{u2} A}, (Membership.mem.{u2, u2} A (Set.{u2} A) (Set.instMembershipSet.{u2} A) (OfNat.ofNat.{u2} A 1 (One.toOfNat1.{u2} A (Semiring.toOne.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) s) -> (Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s) (EmptyCollection.emptyCollection.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instEmptyCollectionSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_empty_of_one_mem ProjectiveSpectrum.zeroLocus_empty_of_one_memβ'. -/
theorem zeroLocus_empty_of_one_mem {s : Set A} (h : (1 : A) β s) : zeroLocus π s = β
:=
Set.eq_empty_iff_forall_not_mem.mpr fun x hx =>
(inferInstance : x.asHomogeneousIdeal.toIdeal.IsPrime).ne_top <|
x.asHomogeneousIdeal.toIdeal.eq_top_iff_one.mpr <| hx h
#align projective_spectrum.zero_locus_empty_of_one_mem ProjectiveSpectrum.zeroLocus_empty_of_one_mem
+/- warning: projective_spectrum.zero_locus_singleton_one -> ProjectiveSpectrum.zeroLocus_singleton_one is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π], Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Singleton.singleton.{u2, u2} A (Set.{u2} A) (Set.hasSingleton.{u2} A) (OfNat.ofNat.{u2} A 1 (OfNat.mk.{u2} A 1 (One.one.{u2} A (AddMonoidWithOne.toOne.{u2} A (AddGroupWithOne.toAddMonoidWithOne.{u2} A (AddCommGroupWithOne.toAddGroupWithOne.{u2} A (Ring.toAddCommGroupWithOne.{u2} A (CommRing.toRing.{u2} A _inst_2)))))))))) (EmptyCollection.emptyCollection.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasEmptyc.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π], Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Singleton.singleton.{u2, u2} A (Set.{u2} A) (Set.instSingletonSet.{u2} A) (OfNat.ofNat.{u2} A 1 (One.toOfNat1.{u2} A (Semiring.toOne.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))))) (EmptyCollection.emptyCollection.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instEmptyCollectionSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_singleton_one ProjectiveSpectrum.zeroLocus_singleton_oneβ'. -/
@[simp]
theorem zeroLocus_singleton_one : zeroLocus π ({1} : Set A) = β
:=
zeroLocus_empty_of_one_mem π (Set.mem_singleton (1 : A))
#align projective_spectrum.zero_locus_singleton_one ProjectiveSpectrum.zeroLocus_singleton_one
+/- warning: projective_spectrum.zero_locus_univ -> ProjectiveSpectrum.zeroLocus_univ is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π], Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Set.univ.{u2} A)) (EmptyCollection.emptyCollection.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasEmptyc.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π], Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Set.univ.{u2} A)) (EmptyCollection.emptyCollection.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instEmptyCollectionSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_univ ProjectiveSpectrum.zeroLocus_univβ'. -/
@[simp]
theorem zeroLocus_univ : zeroLocus π (Set.univ : Set A) = β
:=
zeroLocus_empty_of_one_mem _ (Set.mem_univ 1)
#align projective_spectrum.zero_locus_univ ProjectiveSpectrum.zeroLocus_univ
+/- warning: projective_spectrum.zero_locus_sup_ideal -> ProjectiveSpectrum.zeroLocus_sup_ideal is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (I : Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (J : Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))))) (Sup.sup.{u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (SemilatticeSup.toHasSup.{u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (IdemSemiring.toSemilatticeSup.{u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Submodule.idemSemiring.{u2, u2} A (CommRing.toCommSemiring.{u2} A _inst_2) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Algebra.id.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) I J))) (Inter.inter.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasInter.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))))) I)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))))) J)))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (I : Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (J : Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) (Sup.sup.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (SemilatticeSup.toSup.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (IdemCommSemiring.toSemilatticeSup.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (Ideal.instIdemCommSemiringIdealToSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) I J))) (Inter.inter.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instInterSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) I)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) J)))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_sup_ideal ProjectiveSpectrum.zeroLocus_sup_idealβ'. -/
theorem zeroLocus_sup_ideal (I J : Ideal A) :
zeroLocus π ((I β J : Ideal A) : Set A) = zeroLocus _ I β© zeroLocus _ J :=
(gc_ideal π).l_sup
#align projective_spectrum.zero_locus_sup_ideal ProjectiveSpectrum.zeroLocus_sup_ideal
+/- warning: projective_spectrum.zero_locus_sup_homogeneous_ideal -> ProjectiveSpectrum.zeroLocus_sup_homogeneousIdeal is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (I : HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (J : HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4)))) (Sup.sup.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.hasSup.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π _inst_4) I J))) (Inter.inter.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasInter.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4)))) I)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4)))) J)))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (I : HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (J : HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (Sup.sup.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.instSupHomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π _inst_4) I J))) (Inter.inter.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instInterSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) I)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) J)))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_sup_homogeneous_ideal ProjectiveSpectrum.zeroLocus_sup_homogeneousIdealβ'. -/
theorem zeroLocus_sup_homogeneousIdeal (I J : HomogeneousIdeal π) :
zeroLocus π ((I β J : HomogeneousIdeal π) : Set A) = zeroLocus _ I β© zeroLocus _ J :=
(gc_homogeneousIdeal π).l_sup
#align projective_spectrum.zero_locus_sup_homogeneous_ideal ProjectiveSpectrum.zeroLocus_sup_homogeneousIdeal
+/- warning: projective_spectrum.zero_locus_union -> ProjectiveSpectrum.zeroLocus_union is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (s : Set.{u2} A) (s' : Set.{u2} A), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Union.union.{u2} (Set.{u2} A) (Set.hasUnion.{u2} A) s s')) (Inter.inter.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasInter.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s'))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (s : Set.{u2} A) (s' : Set.{u2} A), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Union.union.{u2} (Set.{u2} A) (Set.instUnionSet.{u2} A) s s')) (Inter.inter.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instInterSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s'))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_union ProjectiveSpectrum.zeroLocus_unionβ'. -/
theorem zeroLocus_union (s s' : Set A) : zeroLocus π (s βͺ s') = zeroLocus _ s β© zeroLocus _ s' :=
(gc_set π).l_sup
#align projective_spectrum.zero_locus_union ProjectiveSpectrum.zeroLocus_union
+/- warning: projective_spectrum.vanishing_ideal_union -> ProjectiveSpectrum.vanishingIdeal_union is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (t : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (t' : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)), Eq.{succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Union.union.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasUnion.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) t t')) (Inf.inf.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.hasInf.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π _inst_4) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t'))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (t : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (t' : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)), Eq.{succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Union.union.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instUnionSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) t t')) (Inf.inf.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.instInfHomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π _inst_4) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t'))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.vanishing_ideal_union ProjectiveSpectrum.vanishingIdeal_unionβ'. -/
theorem vanishingIdeal_union (t t' : Set (ProjectiveSpectrum π)) :
vanishingIdeal (t βͺ t') = vanishingIdeal t β vanishingIdeal t' := by
ext1 <;> convert(gc_ideal π).u_inf
#align projective_spectrum.vanishing_ideal_union ProjectiveSpectrum.vanishingIdeal_union
+/- warning: projective_spectrum.zero_locus_supr_ideal -> ProjectiveSpectrum.zeroLocus_iSup_ideal is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] {Ξ³ : Sort.{u3}} (I : Ξ³ -> (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)))), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))))) (iSup.{u2, u3} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (ConditionallyCompleteLattice.toHasSup.{u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Submodule.completeLattice.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)))))) Ξ³ (fun (i : Ξ³) => I i)))) (Set.iInter.{u2, u3} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) Ξ³ (fun (i : Ξ³) => ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))))) (I i))))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] {Ξ³ : Sort.{u3}} (I : Ξ³ -> (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) (iSup.{u2, u3} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (ConditionallyCompleteLattice.toSupSet.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (Submodule.completeLattice.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))))) Ξ³ (fun (i : Ξ³) => I i)))) (Set.iInter.{u2, u3} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) Ξ³ (fun (i : Ξ³) => ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) (I i))))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_supr_ideal ProjectiveSpectrum.zeroLocus_iSup_idealβ'. -/
theorem zeroLocus_iSup_ideal {Ξ³ : Sort _} (I : Ξ³ β Ideal A) :
zeroLocus _ ((β¨ i, I i : Ideal A) : Set A) = β i, zeroLocus π (I i) :=
(gc_ideal π).l_iSup
#align projective_spectrum.zero_locus_supr_ideal ProjectiveSpectrum.zeroLocus_iSup_ideal
+/- warning: projective_spectrum.zero_locus_supr_homogeneous_ideal -> ProjectiveSpectrum.zeroLocus_iSup_homogeneousIdeal is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] {Ξ³ : Sort.{u3}} (I : Ξ³ -> (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4)), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4)))) (iSup.{u2, u3} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.hasSup.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π _inst_4) Ξ³ (fun (i : Ξ³) => I i)))) (Set.iInter.{u2, u3} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) Ξ³ (fun (i : Ξ³) => ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4)))) (I i))))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] {Ξ³ : Sort.{u3}} (I : Ξ³ -> (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4)), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (iSup.{u2, u3} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.instSupSetHomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π _inst_4) Ξ³ (fun (i : Ξ³) => I i)))) (Set.iInter.{u2, u3} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) Ξ³ (fun (i : Ξ³) => ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (I i))))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_supr_homogeneous_ideal ProjectiveSpectrum.zeroLocus_iSup_homogeneousIdealβ'. -/
theorem zeroLocus_iSup_homogeneousIdeal {Ξ³ : Sort _} (I : Ξ³ β HomogeneousIdeal π) :
zeroLocus _ ((β¨ i, I i : HomogeneousIdeal π) : Set A) = β i, zeroLocus π (I i) :=
(gc_homogeneousIdeal π).l_iSup
#align projective_spectrum.zero_locus_supr_homogeneous_ideal ProjectiveSpectrum.zeroLocus_iSup_homogeneousIdeal
+/- warning: projective_spectrum.zero_locus_Union -> ProjectiveSpectrum.zeroLocus_iUnion is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] {Ξ³ : Sort.{u3}} (s : Ξ³ -> (Set.{u2} A)), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Set.iUnion.{u2, u3} A Ξ³ (fun (i : Ξ³) => s i))) (Set.iInter.{u2, u3} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) Ξ³ (fun (i : Ξ³) => ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (s i)))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] {Ξ³ : Sort.{u3}} (s : Ξ³ -> (Set.{u2} A)), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Set.iUnion.{u2, u3} A Ξ³ (fun (i : Ξ³) => s i))) (Set.iInter.{u2, u3} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) Ξ³ (fun (i : Ξ³) => ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (s i)))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_Union ProjectiveSpectrum.zeroLocus_iUnionβ'. -/
theorem zeroLocus_iUnion {Ξ³ : Sort _} (s : Ξ³ β Set A) :
zeroLocus π (β i, s i) = β i, zeroLocus π (s i) :=
(gc_set π).l_iSup
#align projective_spectrum.zero_locus_Union ProjectiveSpectrum.zeroLocus_iUnion
+/- warning: projective_spectrum.zero_locus_bUnion -> ProjectiveSpectrum.zeroLocus_bUnion is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (s : Set.{u2} (Set.{u2} A)), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Set.iUnion.{u2, succ u2} A (Set.{u2} A) (fun (s' : Set.{u2} A) => Set.iUnion.{u2, 0} A (Membership.Mem.{u2, u2} (Set.{u2} A) (Set.{u2} (Set.{u2} A)) (Set.hasMem.{u2} (Set.{u2} A)) s' s) (fun (H : Membership.Mem.{u2, u2} (Set.{u2} A) (Set.{u2} (Set.{u2} A)) (Set.hasMem.{u2} (Set.{u2} A)) s' s) => s')))) (Set.iInter.{u2, succ u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Set.{u2} A) (fun (s' : Set.{u2} A) => Set.iInter.{u2, 0} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Membership.Mem.{u2, u2} (Set.{u2} A) (Set.{u2} (Set.{u2} A)) (Set.hasMem.{u2} (Set.{u2} A)) s' s) (fun (H : Membership.Mem.{u2, u2} (Set.{u2} A) (Set.{u2} (Set.{u2} A)) (Set.hasMem.{u2} (Set.{u2} A)) s' s) => ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s')))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (s : Set.{u2} (Set.{u2} A)), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Set.iUnion.{u2, succ u2} A (Set.{u2} A) (fun (s' : Set.{u2} A) => Set.iUnion.{u2, 0} A (Membership.mem.{u2, u2} (Set.{u2} A) (Set.{u2} (Set.{u2} A)) (Set.instMembershipSet.{u2} (Set.{u2} A)) s' s) (fun (H : Membership.mem.{u2, u2} (Set.{u2} A) (Set.{u2} (Set.{u2} A)) (Set.instMembershipSet.{u2} (Set.{u2} A)) s' s) => s')))) (Set.iInter.{u2, succ u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Set.{u2} A) (fun (s' : Set.{u2} A) => Set.iInter.{u2, 0} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Membership.mem.{u2, u2} (Set.{u2} A) (Set.{u2} (Set.{u2} A)) (Set.instMembershipSet.{u2} (Set.{u2} A)) s' s) (fun (H : Membership.mem.{u2, u2} (Set.{u2} A) (Set.{u2} (Set.{u2} A)) (Set.instMembershipSet.{u2} (Set.{u2} A)) s' s) => ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s')))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_bUnion ProjectiveSpectrum.zeroLocus_bUnionβ'. -/
theorem zeroLocus_bUnion (s : Set (Set A)) :
zeroLocus π (β s' β s, s' : Set A) = β s' β s, zeroLocus π s' := by simp only [zero_locus_Union]
#align projective_spectrum.zero_locus_bUnion ProjectiveSpectrum.zeroLocus_bUnion
+/- warning: projective_spectrum.vanishing_ideal_Union -> ProjectiveSpectrum.vanishingIdeal_iUnion is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] {Ξ³ : Sort.{u3}} (t : Ξ³ -> (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))), Eq.{succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Set.iUnion.{u2, u3} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) Ξ³ (fun (i : Ξ³) => t i))) (iInf.{u2, u3} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.hasInf.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π _inst_4) Ξ³ (fun (i : Ξ³) => ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (t i)))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] {Ξ³ : Sort.{u3}} (t : Ξ³ -> (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))), Eq.{succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Set.iUnion.{u2, u3} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) Ξ³ (fun (i : Ξ³) => t i))) (iInf.{u2, u3} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.instInfSetHomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π _inst_4) Ξ³ (fun (i : Ξ³) => ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (t i)))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.vanishing_ideal_Union ProjectiveSpectrum.vanishingIdeal_iUnionβ'. -/
theorem vanishingIdeal_iUnion {Ξ³ : Sort _} (t : Ξ³ β Set (ProjectiveSpectrum π)) :
vanishingIdeal (β i, t i) = β¨
i, vanishingIdeal (t i) :=
HomogeneousIdeal.toIdeal_injective <| by
convert(gc_ideal π).u_iInf <;> exact HomogeneousIdeal.toIdeal_iInf _
#align projective_spectrum.vanishing_ideal_Union ProjectiveSpectrum.vanishingIdeal_iUnion
+/- warning: projective_spectrum.zero_locus_inf -> ProjectiveSpectrum.zeroLocus_inf is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (I : Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (J : Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))))) (Inf.inf.{u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Submodule.hasInf.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)))) I J))) (Union.union.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasUnion.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))))) I)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))))) J)))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (I : Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (J : Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) (Inf.inf.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (Submodule.instInfSubmodule.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) I J))) (Union.union.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instUnionSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) I)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) J)))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_inf ProjectiveSpectrum.zeroLocus_infβ'. -/
theorem zeroLocus_inf (I J : Ideal A) :
zeroLocus π ((I β J : Ideal A) : Set A) = zeroLocus π I βͺ zeroLocus π J :=
Set.ext fun x => x.IsPrime.inf_le
#align projective_spectrum.zero_locus_inf ProjectiveSpectrum.zeroLocus_inf
+/- warning: projective_spectrum.union_zero_locus -> ProjectiveSpectrum.union_zeroLocus is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (s : Set.{u2} A) (s' : Set.{u2} A), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Union.union.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasUnion.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s')) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))))) (Inf.inf.{u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Submodule.hasInf.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)))) (Ideal.span.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) s) (Ideal.span.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) s'))))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (s : Set.{u2} A) (s' : Set.{u2} A), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Union.union.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instUnionSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s')) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) (Inf.inf.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (Submodule.instInfSubmodule.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) (Ideal.span.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) s) (Ideal.span.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) s'))))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.union_zero_locus ProjectiveSpectrum.union_zeroLocusβ'. -/
theorem union_zeroLocus (s s' : Set A) :
zeroLocus π s βͺ zeroLocus π s' = zeroLocus π (Ideal.span s β Ideal.span s' : Ideal A) :=
by
@@ -291,27 +525,57 @@ theorem union_zeroLocus (s s' : Set A) :
simp
#align projective_spectrum.union_zero_locus ProjectiveSpectrum.union_zeroLocus
+/- warning: projective_spectrum.zero_locus_mul_ideal -> ProjectiveSpectrum.zeroLocus_mul_ideal is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (I : Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (J : Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))))) (HMul.hMul.{u2, u2, u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (instHMul.{u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Ideal.hasMul.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) I J))) (Union.union.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasUnion.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))))) I)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))))) J)))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (I : Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (J : Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) (HMul.hMul.{u2, u2, u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (instHMul.{u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (Ideal.instMulIdealToSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) I J))) (Union.union.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instUnionSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) I)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) A (Submodule.setLike.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) J)))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_mul_ideal ProjectiveSpectrum.zeroLocus_mul_idealβ'. -/
theorem zeroLocus_mul_ideal (I J : Ideal A) :
zeroLocus π ((I * J : Ideal A) : Set A) = zeroLocus π I βͺ zeroLocus π J :=
Set.ext fun x => x.IsPrime.mul_le
#align projective_spectrum.zero_locus_mul_ideal ProjectiveSpectrum.zeroLocus_mul_ideal
+/- warning: projective_spectrum.zero_locus_mul_homogeneous_ideal -> ProjectiveSpectrum.zeroLocus_mul_homogeneousIdeal is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (I : HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (J : HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4)))) (HMul.hMul.{u2, u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (instHMul.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.hasMul.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (CommRing.toCommSemiring.{u2} A _inst_2) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π _inst_4)) I J))) (Union.union.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasUnion.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4)))) I)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4)))) J)))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (I : HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (J : HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (HMul.hMul.{u2, u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (instHMul.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (instMulHomogeneousIdealToSemiring.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommRing.toCommSemiring.{u2} A _inst_2) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π _inst_4)) I J))) (Union.union.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instUnionSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) I)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) J)))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_mul_homogeneous_ideal ProjectiveSpectrum.zeroLocus_mul_homogeneousIdealβ'. -/
theorem zeroLocus_mul_homogeneousIdeal (I J : HomogeneousIdeal π) :
zeroLocus π ((I * J : HomogeneousIdeal π) : Set A) = zeroLocus π I βͺ zeroLocus π J :=
Set.ext fun x => x.IsPrime.mul_le
#align projective_spectrum.zero_locus_mul_homogeneous_ideal ProjectiveSpectrum.zeroLocus_mul_homogeneousIdeal
+/- warning: projective_spectrum.zero_locus_singleton_mul -> ProjectiveSpectrum.zeroLocus_singleton_mul is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (f : A) (g : A), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Singleton.singleton.{u2, u2} A (Set.{u2} A) (Set.hasSingleton.{u2} A) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A (CommRing.toRing.{u2} A _inst_2)))) f g))) (Union.union.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasUnion.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Singleton.singleton.{u2, u2} A (Set.{u2} A) (Set.hasSingleton.{u2} A) f)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Singleton.singleton.{u2, u2} A (Set.{u2} A) (Set.hasSingleton.{u2} A) g)))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (f : A) (g : A), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Singleton.singleton.{u2, u2} A (Set.{u2} A) (Set.instSingletonSet.{u2} A) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) f g))) (Union.union.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instUnionSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Singleton.singleton.{u2, u2} A (Set.{u2} A) (Set.instSingletonSet.{u2} A) f)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Singleton.singleton.{u2, u2} A (Set.{u2} A) (Set.instSingletonSet.{u2} A) g)))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_singleton_mul ProjectiveSpectrum.zeroLocus_singleton_mulβ'. -/
theorem zeroLocus_singleton_mul (f g : A) :
zeroLocus π ({f * g} : Set A) = zeroLocus π {f} βͺ zeroLocus π {g} :=
Set.ext fun x => by simpa using x.is_prime.mul_mem_iff_mem_or_mem
#align projective_spectrum.zero_locus_singleton_mul ProjectiveSpectrum.zeroLocus_singleton_mul
+/- warning: projective_spectrum.zero_locus_singleton_pow -> ProjectiveSpectrum.zeroLocus_singleton_pow is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (f : A) (n : Nat), (LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) n) -> (Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Singleton.singleton.{u2, u2} A (Set.{u2} A) (Set.hasSingleton.{u2} A) (HPow.hPow.{u2, 0, u2} A Nat A (instHPow.{u2, 0} A Nat (Monoid.Pow.{u2} A (Ring.toMonoid.{u2} A (CommRing.toRing.{u2} A _inst_2)))) f n))) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Singleton.singleton.{u2, u2} A (Set.{u2} A) (Set.hasSingleton.{u2} A) f)))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (f : A) (n : Nat), (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) n) -> (Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Singleton.singleton.{u2, u2} A (Set.{u2} A) (Set.instSingletonSet.{u2} A) (HPow.hPow.{u2, 0, u2} A Nat A (instHPow.{u2, 0} A Nat (Monoid.Pow.{u2} A (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))))) f n))) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Singleton.singleton.{u2, u2} A (Set.{u2} A) (Set.instSingletonSet.{u2} A) f)))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_singleton_pow ProjectiveSpectrum.zeroLocus_singleton_powβ'. -/
@[simp]
theorem zeroLocus_singleton_pow (f : A) (n : β) (hn : 0 < n) :
zeroLocus π ({f ^ n} : Set A) = zeroLocus π {f} :=
Set.ext fun x => by simpa using x.is_prime.pow_mem_iff_mem n hn
#align projective_spectrum.zero_locus_singleton_pow ProjectiveSpectrum.zeroLocus_singleton_pow
+/- warning: projective_spectrum.sup_vanishing_ideal_le -> ProjectiveSpectrum.sup_vanishingIdeal_le is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (t : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (t' : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)), LE.le.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Preorder.toHasLe.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (PartialOrder.toPreorder.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.partialOrder.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π _inst_4))) (Sup.sup.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.hasSup.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π _inst_4) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t')) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Inter.inter.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasInter.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) t t'))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (t : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (t' : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)), LE.le.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (Preorder.toLE.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (PartialOrder.toPreorder.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.instPartialOrderHomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π _inst_4))) (Sup.sup.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.instSupHomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π _inst_4) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t')) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Inter.inter.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instInterSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) t t'))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.sup_vanishing_ideal_le ProjectiveSpectrum.sup_vanishingIdeal_leβ'. -/
theorem sup_vanishingIdeal_le (t t' : Set (ProjectiveSpectrum π)) :
vanishingIdeal t β vanishingIdeal t' β€ vanishingIdeal (t β© t') :=
by
@@ -323,11 +587,23 @@ theorem sup_vanishingIdeal_le (t t' : Set (ProjectiveSpectrum π)) :
apply Submodule.add_mem <;> solve_by_elim
#align projective_spectrum.sup_vanishing_ideal_le ProjectiveSpectrum.sup_vanishingIdeal_le
+/- warning: projective_spectrum.mem_compl_zero_locus_iff_not_mem -> ProjectiveSpectrum.mem_compl_zeroLocus_iff_not_mem is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] {f : A} {I : ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4}, Iff (Membership.Mem.{u2, u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasMem.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) I (HasCompl.compl.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (BooleanAlgebra.toHasCompl.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.booleanAlgebra.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Singleton.singleton.{u2, u2} A (Set.{u2} A) (Set.hasSingleton.{u2} A) f)))) (Not (Membership.Mem.{u2, u2} A (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4) (SetLike.hasMem.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4)) f (ProjectiveSpectrum.asHomogeneousIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 I)))
+but is expected to have type
+ forall {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_3 : Algebra.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] (π : Nat -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u2, u1} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3 π] {f : A} {I : ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4}, Iff (Membership.mem.{u1, u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Set.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instMembershipSet.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4)) I (HasCompl.compl.{u1} (Set.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (BooleanAlgebra.toHasCompl.{u1} (Set.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instBooleanAlgebraSet.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4))) (ProjectiveSpectrum.zeroLocus.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Singleton.singleton.{u1, u1} A (Set.{u1} A) (Set.instSingletonSet.{u1} A) f)))) (Not (Membership.mem.{u1, u1} A (HomogeneousIdeal.{0, u1, u1} Nat (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (SetLike.instMembership.{u1, u1} (HomogeneousIdeal.{0, u1, u1} Nat (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u1, u1} Nat (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4)) f (ProjectiveSpectrum.asHomogeneousIdeal.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4 I)))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.mem_compl_zero_locus_iff_not_mem ProjectiveSpectrum.mem_compl_zeroLocus_iff_not_memβ'. -/
theorem mem_compl_zeroLocus_iff_not_mem {f : A} {I : ProjectiveSpectrum π} :
I β (zeroLocus π {f} : Set (ProjectiveSpectrum π))αΆ β f β I.asHomogeneousIdeal := by
rw [Set.mem_compl_iff, mem_zero_locus, Set.singleton_subset_iff] <;> rfl
#align projective_spectrum.mem_compl_zero_locus_iff_not_mem ProjectiveSpectrum.mem_compl_zeroLocus_iff_not_mem
+/- warning: projective_spectrum.zariski_topology -> ProjectiveSpectrum.zariskiTopology is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π], TopologicalSpace.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π], TopologicalSpace.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.zariski_topology ProjectiveSpectrum.zariskiTopologyβ'. -/
/-- The Zariski topology on the prime spectrum of a commutative ring is defined via the closed sets
of the topology: they are exactly those sets that are the zero locus of a subset of the ring. -/
instance zariskiTopology : TopologicalSpace (ProjectiveSpectrum π) :=
@@ -344,25 +620,55 @@ instance zariskiTopology : TopologicalSpace (ProjectiveSpectrum π) :=
exact β¨_, (union_zero_locus π s t).symmβ©)
#align projective_spectrum.zariski_topology ProjectiveSpectrum.zariskiTopology
+/- warning: projective_spectrum.Top -> ProjectiveSpectrum.top is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π], TopCat.{u2}
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π], TopCat.{u2}
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.Top ProjectiveSpectrum.topβ'. -/
/-- The underlying topology of `Proj` is the projective spectrum of graded ring `A`. -/
def top : TopCat :=
TopCat.of (ProjectiveSpectrum π)
#align projective_spectrum.Top ProjectiveSpectrum.top
+/- warning: projective_spectrum.is_open_iff -> ProjectiveSpectrum.isOpen_iff is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (U : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)), Iff (IsOpen.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) U) (Exists.{succ u2} (Set.{u2} A) (fun (s : Set.{u2} A) => Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (HasCompl.compl.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (BooleanAlgebra.toHasCompl.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.booleanAlgebra.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))) U) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s)))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (U : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)), Iff (IsOpen.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) U) (Exists.{succ u2} (Set.{u2} A) (fun (s : Set.{u2} A) => Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (HasCompl.compl.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (BooleanAlgebra.toHasCompl.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instBooleanAlgebraSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))) U) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s)))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.is_open_iff ProjectiveSpectrum.isOpen_iffβ'. -/
theorem isOpen_iff (U : Set (ProjectiveSpectrum π)) : IsOpen U β β s, UαΆ = zeroLocus π s := by
simp only [@eq_comm _ (UαΆ)] <;> rfl
#align projective_spectrum.is_open_iff ProjectiveSpectrum.isOpen_iff
+/- warning: projective_spectrum.is_closed_iff_zero_locus -> ProjectiveSpectrum.isClosed_iff_zeroLocus is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (Z : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)), Iff (IsClosed.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) Z) (Exists.{succ u2} (Set.{u2} A) (fun (s : Set.{u2} A) => Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) Z (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s)))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (Z : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)), Iff (IsClosed.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) Z) (Exists.{succ u2} (Set.{u2} A) (fun (s : Set.{u2} A) => Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) Z (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s)))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.is_closed_iff_zero_locus ProjectiveSpectrum.isClosed_iff_zeroLocusβ'. -/
theorem isClosed_iff_zeroLocus (Z : Set (ProjectiveSpectrum π)) :
IsClosed Z β β s, Z = zeroLocus π s := by rw [β isOpen_compl_iff, is_open_iff, compl_compl]
#align projective_spectrum.is_closed_iff_zero_locus ProjectiveSpectrum.isClosed_iff_zeroLocus
+/- warning: projective_spectrum.is_closed_zero_locus -> ProjectiveSpectrum.isClosed_zeroLocus is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (s : Set.{u2} A), IsClosed.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s)
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (s : Set.{u2} A), IsClosed.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 s)
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.is_closed_zero_locus ProjectiveSpectrum.isClosed_zeroLocusβ'. -/
theorem isClosed_zeroLocus (s : Set A) : IsClosed (zeroLocus π s) :=
by
rw [is_closed_iff_zero_locus]
exact β¨s, rflβ©
#align projective_spectrum.is_closed_zero_locus ProjectiveSpectrum.isClosed_zeroLocus
+/- warning: projective_spectrum.zero_locus_vanishing_ideal_eq_closure -> ProjectiveSpectrum.zeroLocus_vanishingIdeal_eq_closure is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (t : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (HasLiftT.mk.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (CoeTCβ.coe.{succ u2, succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (Set.{u2} A) (SetLike.Set.hasCoeT.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4)))) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t))) (closure.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) t)
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (t : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (SetLike.coe.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t))) (closure.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) t)
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.zero_locus_vanishing_ideal_eq_closure ProjectiveSpectrum.zeroLocus_vanishingIdeal_eq_closureβ'. -/
theorem zeroLocus_vanishingIdeal_eq_closure (t : Set (ProjectiveSpectrum π)) :
zeroLocus π (vanishingIdeal t : Set A) = closure t :=
by
@@ -375,6 +681,12 @@ theorem zeroLocus_vanishingIdeal_eq_closure (t : Set (ProjectiveSpectrum π))
exact subset_zero_locus_vanishing_ideal π t
#align projective_spectrum.zero_locus_vanishing_ideal_eq_closure ProjectiveSpectrum.zeroLocus_vanishingIdeal_eq_closure
+/- warning: projective_spectrum.vanishing_ideal_closure -> ProjectiveSpectrum.vanishingIdeal_closure is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (t : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)), Eq.{succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (ProjectiveSpectrum.vanishingIdeal._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_4) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (closure.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) t)) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t)
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (t : Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)), Eq.{succ u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (closure.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) t)) (ProjectiveSpectrum.vanishingIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 t)
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.vanishing_ideal_closure ProjectiveSpectrum.vanishingIdeal_closureβ'. -/
theorem vanishingIdeal_closure (t : Set (ProjectiveSpectrum π)) :
vanishingIdeal (closure t) = vanishingIdeal t :=
by
@@ -387,6 +699,12 @@ theorem vanishingIdeal_closure (t : Set (ProjectiveSpectrum π)) :
section BasicOpen
+/- warning: projective_spectrum.basic_open -> ProjectiveSpectrum.basicOpen is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π], A -> (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π], A -> (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.basic_open ProjectiveSpectrum.basicOpenβ'. -/
/-- `basic_open r` is the open subset containing all prime ideals not containing `r`. -/
def basicOpen (r : A) : TopologicalSpace.Opens (ProjectiveSpectrum π)
where
@@ -394,58 +712,124 @@ def basicOpen (r : A) : TopologicalSpace.Opens (ProjectiveSpectrum π)
is_open' := β¨{r}, Set.ext fun x => Set.singleton_subset_iff.trans <| Classical.not_not.symmβ©
#align projective_spectrum.basic_open ProjectiveSpectrum.basicOpen
+/- warning: projective_spectrum.mem_basic_open -> ProjectiveSpectrum.mem_basicOpen is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (f : A) (x : ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4), Iff (Membership.Mem.{u2, u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (SetLike.hasMem.{u2, u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (TopologicalSpace.Opens.setLike.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))) x (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 f)) (Not (Membership.Mem.{u2, u2} A (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4) (SetLike.hasMem.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4)) f (ProjectiveSpectrum.asHomogeneousIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 x)))
+but is expected to have type
+ forall {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_3 : Algebra.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] (π : Nat -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u2, u1} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3 π] (f : A) (x : ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4), Iff (Membership.mem.{u1, u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (TopologicalSpace.Opens.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (SetLike.instMembership.{u1, u1} (TopologicalSpace.Opens.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (TopologicalSpace.Opens.instSetLikeOpens.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4))) x (ProjectiveSpectrum.basicOpen.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4 f)) (Not (Membership.mem.{u1, u1} A (HomogeneousIdeal.{0, u1, u1} Nat (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (SetLike.instMembership.{u1, u1} (HomogeneousIdeal.{0, u1, u1} Nat (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u1, u1} Nat (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4)) f (ProjectiveSpectrum.asHomogeneousIdeal.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4 x)))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.mem_basic_open ProjectiveSpectrum.mem_basicOpenβ'. -/
@[simp]
theorem mem_basicOpen (f : A) (x : ProjectiveSpectrum π) :
x β basicOpen π f β f β x.asHomogeneousIdeal :=
Iff.rfl
#align projective_spectrum.mem_basic_open ProjectiveSpectrum.mem_basicOpen
+/- warning: projective_spectrum.mem_coe_basic_open -> ProjectiveSpectrum.mem_coe_basicOpen is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (f : A) (x : ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4), Iff (Membership.Mem.{u2, u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasMem.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) x ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (HasLiftT.mk.{succ u2, succ u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CoeTCβ.coe.{succ u2, succ u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (SetLike.Set.hasCoeT.{u2, u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (TopologicalSpace.Opens.setLike.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))))) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 f))) (Not (Membership.Mem.{u2, u2} A (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4) (SetLike.hasMem.{u2, u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4) A (HomogeneousIdeal.setLike.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4)) f (ProjectiveSpectrum.asHomogeneousIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 x)))
+but is expected to have type
+ forall {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_3 : Algebra.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] (π : Nat -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u2, u1} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3 π] (f : A) (x : ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4), Iff (Membership.mem.{u1, u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Set.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instMembershipSet.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4)) x (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (TopologicalSpace.Opens.instSetLikeOpens.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.basicOpen.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4 f))) (Not (Membership.mem.{u1, u1} A (HomogeneousIdeal.{0, u1, u1} Nat (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (SetLike.instMembership.{u1, u1} (HomogeneousIdeal.{0, u1, u1} Nat (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) A (HomogeneousIdeal.setLike.{0, u1, u1} Nat (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4)) f (ProjectiveSpectrum.asHomogeneousIdeal.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4 x)))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.mem_coe_basic_open ProjectiveSpectrum.mem_coe_basicOpenβ'. -/
theorem mem_coe_basicOpen (f : A) (x : ProjectiveSpectrum π) :
x β (β(basicOpen π f) : Set (ProjectiveSpectrum π)) β f β x.asHomogeneousIdeal :=
Iff.rfl
#align projective_spectrum.mem_coe_basic_open ProjectiveSpectrum.mem_coe_basicOpen
+/- warning: projective_spectrum.is_open_basic_open -> ProjectiveSpectrum.isOpen_basicOpen is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] {a : A}, IsOpen.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (HasLiftT.mk.{succ u2, succ u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CoeTCβ.coe.{succ u2, succ u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (SetLike.Set.hasCoeT.{u2, u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (TopologicalSpace.Opens.setLike.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))))) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 a))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] {a : A}, IsOpen.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (SetLike.coe.{u2, u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (TopologicalSpace.Opens.instSetLikeOpens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 a))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.is_open_basic_open ProjectiveSpectrum.isOpen_basicOpenβ'. -/
theorem isOpen_basicOpen {a : A} : IsOpen (basicOpen π a : Set (ProjectiveSpectrum π)) :=
(basicOpen π a).IsOpen
#align projective_spectrum.is_open_basic_open ProjectiveSpectrum.isOpen_basicOpen
+/- warning: projective_spectrum.basic_open_eq_zero_locus_compl -> ProjectiveSpectrum.basicOpen_eq_zeroLocus_compl is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (r : A), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (HasLiftT.mk.{succ u2, succ u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CoeTCβ.coe.{succ u2, succ u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (SetLike.Set.hasCoeT.{u2, u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (TopologicalSpace.Opens.setLike.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))))) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 r)) (HasCompl.compl.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (BooleanAlgebra.toHasCompl.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.booleanAlgebra.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Singleton.singleton.{u2, u2} A (Set.{u2} A) (Set.hasSingleton.{u2} A) r)))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (r : A), Eq.{succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (SetLike.coe.{u2, u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (TopologicalSpace.Opens.instSetLikeOpens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 r)) (HasCompl.compl.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (BooleanAlgebra.toHasCompl.{u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instBooleanAlgebraSet.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))) (ProjectiveSpectrum.zeroLocus.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (Singleton.singleton.{u2, u2} A (Set.{u2} A) (Set.instSingletonSet.{u2} A) r)))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.basic_open_eq_zero_locus_compl ProjectiveSpectrum.basicOpen_eq_zeroLocus_complβ'. -/
@[simp]
theorem basicOpen_eq_zeroLocus_compl (r : A) :
(basicOpen π r : Set (ProjectiveSpectrum π)) = zeroLocus π {r}αΆ :=
Set.ext fun x => by simpa only [Set.mem_compl_iff, mem_zero_locus, Set.singleton_subset_iff]
#align projective_spectrum.basic_open_eq_zero_locus_compl ProjectiveSpectrum.basicOpen_eq_zeroLocus_compl
+/- warning: projective_spectrum.basic_open_one -> ProjectiveSpectrum.basicOpen_one is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π], Eq.{succ u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (OfNat.ofNat.{u2} A 1 (OfNat.mk.{u2} A 1 (One.one.{u2} A (AddMonoidWithOne.toOne.{u2} A (AddGroupWithOne.toAddMonoidWithOne.{u2} A (AddCommGroupWithOne.toAddGroupWithOne.{u2} A (Ring.toAddCommGroupWithOne.{u2} A (CommRing.toRing.{u2} A _inst_2))))))))) (Top.top.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteLattice.toHasTop.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (TopologicalSpace.Opens.completeLattice.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π], Eq.{succ u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (OfNat.ofNat.{u2} A 1 (One.toOfNat1.{u2} A (Semiring.toOne.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))))) (Top.top.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteLattice.toTop.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.basic_open_one ProjectiveSpectrum.basicOpen_oneβ'. -/
@[simp]
theorem basicOpen_one : basicOpen π (1 : A) = β€ :=
TopologicalSpace.Opens.ext <| by simp
#align projective_spectrum.basic_open_one ProjectiveSpectrum.basicOpen_one
+/- warning: projective_spectrum.basic_open_zero -> ProjectiveSpectrum.basicOpen_zero is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π], Eq.{succ u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2)))))))))) (Bot.bot.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteLattice.toHasBot.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (TopologicalSpace.Opens.completeLattice.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π], Eq.{succ u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (CommMonoidWithZero.toZero.{u2} A (CommSemiring.toCommMonoidWithZero.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))))) (Bot.bot.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteLattice.toBot.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.basic_open_zero ProjectiveSpectrum.basicOpen_zeroβ'. -/
@[simp]
theorem basicOpen_zero : basicOpen π (0 : A) = β₯ :=
TopologicalSpace.Opens.ext <| by simp
#align projective_spectrum.basic_open_zero ProjectiveSpectrum.basicOpen_zero
+/- warning: projective_spectrum.basic_open_mul -> ProjectiveSpectrum.basicOpen_mul is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (f : A) (g : A), Eq.{succ u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A (CommRing.toRing.{u2} A _inst_2)))) f g)) (Inf.inf.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (SemilatticeInf.toHasInf.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Lattice.toSemilatticeInf.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (TopologicalSpace.Opens.completeLattice.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)))))) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 f) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 g))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (f : A) (g : A), Eq.{succ u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) f g)) (Inf.inf.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Lattice.toInf.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ConditionallyCompleteLattice.toLattice.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))))) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 f) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 g))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.basic_open_mul ProjectiveSpectrum.basicOpen_mulβ'. -/
theorem basicOpen_mul (f g : A) : basicOpen π (f * g) = basicOpen π f β basicOpen π g :=
TopologicalSpace.Opens.ext <| by simp [zero_locus_singleton_mul]
#align projective_spectrum.basic_open_mul ProjectiveSpectrum.basicOpen_mul
+/- warning: projective_spectrum.basic_open_mul_le_left -> ProjectiveSpectrum.basicOpen_mul_le_left is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (f : A) (g : A), LE.le.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Preorder.toHasLe.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (PartialOrder.toPreorder.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (SetLike.partialOrder.{u2, u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (TopologicalSpace.Opens.setLike.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))))) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A (CommRing.toRing.{u2} A _inst_2)))) f g)) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 f)
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (f : A) (g : A), LE.le.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Preorder.toLE.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (PartialOrder.toPreorder.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)))))) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) f g)) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 f)
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.basic_open_mul_le_left ProjectiveSpectrum.basicOpen_mul_le_leftβ'. -/
theorem basicOpen_mul_le_left (f g : A) : basicOpen π (f * g) β€ basicOpen π f :=
by
rw [basic_open_mul π f g]
exact inf_le_left
#align projective_spectrum.basic_open_mul_le_left ProjectiveSpectrum.basicOpen_mul_le_left
+/- warning: projective_spectrum.basic_open_mul_le_right -> ProjectiveSpectrum.basicOpen_mul_le_right is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (f : A) (g : A), LE.le.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Preorder.toHasLe.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (PartialOrder.toPreorder.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (SetLike.partialOrder.{u2, u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (TopologicalSpace.Opens.setLike.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))))) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A (CommRing.toRing.{u2} A _inst_2)))) f g)) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 g)
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (f : A) (g : A), LE.le.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Preorder.toLE.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (PartialOrder.toPreorder.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)))))) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) f g)) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 g)
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.basic_open_mul_le_right ProjectiveSpectrum.basicOpen_mul_le_rightβ'. -/
theorem basicOpen_mul_le_right (f g : A) : basicOpen π (f * g) β€ basicOpen π g :=
by
rw [basic_open_mul π f g]
exact inf_le_right
#align projective_spectrum.basic_open_mul_le_right ProjectiveSpectrum.basicOpen_mul_le_right
+/- warning: projective_spectrum.basic_open_pow -> ProjectiveSpectrum.basicOpen_pow is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (f : A) (n : Nat), (LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) n) -> (Eq.{succ u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (HPow.hPow.{u2, 0, u2} A Nat A (instHPow.{u2, 0} A Nat (Monoid.Pow.{u2} A (Ring.toMonoid.{u2} A (CommRing.toRing.{u2} A _inst_2)))) f n)) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 f))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (f : A) (n : Nat), (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) n) -> (Eq.{succ u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (HPow.hPow.{u2, 0, u2} A Nat A (instHPow.{u2, 0} A Nat (Monoid.Pow.{u2} A (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))))) f n)) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 f))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.basic_open_pow ProjectiveSpectrum.basicOpen_powβ'. -/
@[simp]
theorem basicOpen_pow (f : A) (n : β) (hn : 0 < n) : basicOpen π (f ^ n) = basicOpen π f :=
TopologicalSpace.Opens.ext <| by simpa using zero_locus_singleton_pow π f n hn
#align projective_spectrum.basic_open_pow ProjectiveSpectrum.basicOpen_pow
+/- warning: projective_spectrum.basic_open_eq_union_of_projection -> ProjectiveSpectrum.basicOpen_eq_union_of_projection is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (f : A), Eq.{succ u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 f) (iSup.{u2, 1} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ConditionallyCompleteLattice.toHasSup.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (TopologicalSpace.Opens.completeLattice.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)))) Nat (fun (i : Nat) => ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (GradedAlgebra.proj.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π _inst_4 i) f)))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π] (f : A), Eq.{succ u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 f) (iSup.{u2, 1} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ConditionallyCompleteLattice.toSupSet.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CompleteLattice.toConditionallyCompleteLattice.{u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)))) Nat (fun (i : Nat) => ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (GradedAlgebra.proj.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π _inst_4 i) f)))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.basic_open_eq_union_of_projection ProjectiveSpectrum.basicOpen_eq_union_of_projectionβ'. -/
theorem basicOpen_eq_union_of_projection (f : A) :
basicOpen π f = β¨ i : β, basicOpen π (GradedAlgebra.proj π i f) :=
TopologicalSpace.Opens.ext <|
@@ -464,6 +848,12 @@ theorem basicOpen_eq_union_of_projection (f : A) :
exact fun rid => hz (z.1.2 i rid)
#align projective_spectrum.basic_open_eq_union_of_projection ProjectiveSpectrum.basicOpen_eq_union_of_projection
+/- warning: projective_spectrum.is_topological_basis_basic_opens -> ProjectiveSpectrum.isTopologicalBasis_basic_opens is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π], TopologicalSpace.IsTopologicalBasis.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Set.range.{u2, succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) A (fun (r : A) => (fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (HasLiftT.mk.{succ u2, succ u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (CoeTCβ.coe.{succ u2, succ u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (SetLike.Set.hasCoeT.{u2, u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (TopologicalSpace.Opens.setLike.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))))) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 r)))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 π], TopologicalSpace.IsTopologicalBasis.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Set.range.{u2, succ u2} (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) A (fun (r : A) => SetLike.coe.{u2, u2} (TopologicalSpace.Opens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (TopologicalSpace.Opens.instSetLikeOpens.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (ProjectiveSpectrum.basicOpen.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 r)))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.is_topological_basis_basic_opens ProjectiveSpectrum.isTopologicalBasis_basic_opensβ'. -/
theorem isTopologicalBasis_basic_opens :
TopologicalSpace.IsTopologicalBasis
(Set.range fun r : A => (basicOpen π r : Set (ProjectiveSpectrum π))) :=
@@ -494,18 +884,36 @@ where `x β€ y` if and only if `y β closure {x}`.
instance : PartialOrder (ProjectiveSpectrum π) :=
PartialOrder.lift asHomogeneousIdeal fun β¨_, _, _β© β¨_, _, _β© => mk.inj_eq.mpr
+/- warning: projective_spectrum.as_ideal_le_as_ideal -> ProjectiveSpectrum.as_ideal_le_as_ideal is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (x : ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (y : ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4), Iff (LE.le.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4) (Preorder.toHasLe.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4) (PartialOrder.toPreorder.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4) (HomogeneousIdeal.partialOrder.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π _inst_4))) (ProjectiveSpectrum.asHomogeneousIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 x) (ProjectiveSpectrum.asHomogeneousIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 y)) (LE.le.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Preorder.toHasLe.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (PartialOrder.toPreorder.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.partialOrder.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))) x y)
+but is expected to have type
+ forall {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_3 : Algebra.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] (π : Nat -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u2, u1} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3 π] (x : ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (y : ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4), Iff (LE.le.{u1} (HomogeneousIdeal.{0, u1, u1} Nat (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (Preorder.toLE.{u1} (HomogeneousIdeal.{0, u1, u1} Nat (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (PartialOrder.toPreorder.{u1} (HomogeneousIdeal.{0, u1, u1} Nat (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.instPartialOrderHomogeneousIdeal.{0, u1, u1} Nat (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) π _inst_4))) (ProjectiveSpectrum.asHomogeneousIdeal.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4 x) (ProjectiveSpectrum.asHomogeneousIdeal.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4 y)) (LE.le.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Preorder.toLE.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (PartialOrder.toPreorder.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.instPartialOrderProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4))) x y)
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.as_ideal_le_as_ideal ProjectiveSpectrum.as_ideal_le_as_idealβ'. -/
@[simp]
theorem as_ideal_le_as_ideal (x y : ProjectiveSpectrum π) :
x.asHomogeneousIdeal β€ y.asHomogeneousIdeal β x β€ y :=
Iff.rfl
#align projective_spectrum.as_ideal_le_as_ideal ProjectiveSpectrum.as_ideal_le_as_ideal
+/- warning: projective_spectrum.as_ideal_lt_as_ideal -> ProjectiveSpectrum.as_ideal_lt_as_ideal is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (x : ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (y : ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4), Iff (LT.lt.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4) (Preorder.toHasLt.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4) (PartialOrder.toPreorder.{u2} (HomogeneousIdeal.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) _inst_4) (HomogeneousIdeal.partialOrder.{0, u2, u2} Nat (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (AddCommMonoid.toAddMonoid.{0} Nat (OrderedAddCommMonoid.toAddCommMonoid.{0} Nat (CanonicallyOrderedAddMonoid.toOrderedAddCommMonoid.{0} Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring)))) (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) π _inst_4))) (ProjectiveSpectrum.asHomogeneousIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 x) (ProjectiveSpectrum.asHomogeneousIdeal.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4 y)) (LT.lt.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Preorder.toHasLt.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (PartialOrder.toPreorder.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.partialOrder.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))) x y)
+but is expected to have type
+ forall {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_3 : Algebra.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] (π : Nat -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u2, u1} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3 π] (x : ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (y : ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4), Iff (LT.lt.{u1} (HomogeneousIdeal.{0, u1, u1} Nat (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (Preorder.toLT.{u1} (HomogeneousIdeal.{0, u1, u1} Nat (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (PartialOrder.toPreorder.{u1} (HomogeneousIdeal.{0, u1, u1} Nat (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) π (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_4) (HomogeneousIdeal.instPartialOrderHomogeneousIdeal.{0, u1, u1} Nat (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid (Submodule.setLike.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) (Submodule.addSubmonoidClass.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3)) π _inst_4))) (ProjectiveSpectrum.asHomogeneousIdeal.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4 x) (ProjectiveSpectrum.asHomogeneousIdeal.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4 y)) (LT.lt.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Preorder.toLT.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (PartialOrder.toPreorder.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.instPartialOrderProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4))) x y)
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.as_ideal_lt_as_ideal ProjectiveSpectrum.as_ideal_lt_as_idealβ'. -/
@[simp]
theorem as_ideal_lt_as_ideal (x y : ProjectiveSpectrum π) :
x.asHomogeneousIdeal < y.asHomogeneousIdeal β x < y :=
Iff.rfl
#align projective_spectrum.as_ideal_lt_as_ideal ProjectiveSpectrum.as_ideal_lt_as_ideal
+/- warning: projective_spectrum.le_iff_mem_closure -> ProjectiveSpectrum.le_iff_mem_closure is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (π : Nat -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u1, u2} Nat R A (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) Nat.addMonoid _inst_1 (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 π] (x : ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (y : ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4), Iff (LE.le.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Preorder.toHasLe.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (PartialOrder.toPreorder.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.partialOrder.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4))) x y) (Membership.Mem.{u2, u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasMem.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) y (closure.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Singleton.singleton.{u2, u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Set.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.hasSingleton.{u2} (ProjectiveSpectrum.{u1, u2} R A _inst_1 _inst_2 _inst_3 π _inst_4)) x)))
+but is expected to have type
+ forall {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_3 : Algebra.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] (π : Nat -> (Submodule.{u2, u1} R A (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3))) [_inst_4 : GradedAlgebra.{0, u2, u1} Nat R A (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) Nat.addMonoid _inst_1 (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_3 π] (x : ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (y : ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4), Iff (LE.le.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Preorder.toLE.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (PartialOrder.toPreorder.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.instPartialOrderProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4))) x y) (Membership.mem.{u1, u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Set.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instMembershipSet.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4)) y (closure.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (ProjectiveSpectrum.zariskiTopology.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Singleton.singleton.{u1, u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4) (Set.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4)) (Set.instSingletonSet.{u1} (ProjectiveSpectrum.{u2, u1} R A _inst_1 _inst_2 _inst_3 π _inst_4)) x)))
+Case conversion may be inaccurate. Consider using '#align projective_spectrum.le_iff_mem_closure ProjectiveSpectrum.le_iff_mem_closureβ'. -/
theorem le_iff_mem_closure (x y : ProjectiveSpectrum π) :
x β€ y β y β closure ({x} : Set (ProjectiveSpectrum π)) :=
by
mathlib commit https://github.com/leanprover-community/mathlib/commit/e3fb84046afd187b710170887195d50bada934ee
@@ -107,10 +107,10 @@ theorem coe_vanishingIdeal (t : Set (ProjectiveSpectrum π)) :
{ f | β x : ProjectiveSpectrum π, x β t β f β x.asHomogeneousIdeal } :=
by
ext f
- rw [vanishing_ideal, SetLike.mem_coe, β HomogeneousIdeal.mem_iff, HomogeneousIdeal.toIdeal_infα΅’,
- Submodule.mem_infα΅’]
+ rw [vanishing_ideal, SetLike.mem_coe, β HomogeneousIdeal.mem_iff, HomogeneousIdeal.toIdeal_iInf,
+ Submodule.mem_iInf]
apply forall_congr' fun x => _
- rw [HomogeneousIdeal.toIdeal_infα΅’, Submodule.mem_infα΅’, HomogeneousIdeal.mem_iff]
+ rw [HomogeneousIdeal.toIdeal_iInf, Submodule.mem_iInf, HomogeneousIdeal.mem_iff]
#align projective_spectrum.coe_vanishing_ideal ProjectiveSpectrum.coe_vanishingIdeal
theorem mem_vanishingIdeal (t : Set (ProjectiveSpectrum π)) (f : A) :
@@ -254,30 +254,30 @@ theorem vanishingIdeal_union (t t' : Set (ProjectiveSpectrum π)) :
ext1 <;> convert(gc_ideal π).u_inf
#align projective_spectrum.vanishing_ideal_union ProjectiveSpectrum.vanishingIdeal_union
-theorem zeroLocus_supα΅’_ideal {Ξ³ : Sort _} (I : Ξ³ β Ideal A) :
+theorem zeroLocus_iSup_ideal {Ξ³ : Sort _} (I : Ξ³ β Ideal A) :
zeroLocus _ ((β¨ i, I i : Ideal A) : Set A) = β i, zeroLocus π (I i) :=
- (gc_ideal π).l_supα΅’
-#align projective_spectrum.zero_locus_supr_ideal ProjectiveSpectrum.zeroLocus_supα΅’_ideal
+ (gc_ideal π).l_iSup
+#align projective_spectrum.zero_locus_supr_ideal ProjectiveSpectrum.zeroLocus_iSup_ideal
-theorem zeroLocus_supα΅’_homogeneousIdeal {Ξ³ : Sort _} (I : Ξ³ β HomogeneousIdeal π) :
+theorem zeroLocus_iSup_homogeneousIdeal {Ξ³ : Sort _} (I : Ξ³ β HomogeneousIdeal π) :
zeroLocus _ ((β¨ i, I i : HomogeneousIdeal π) : Set A) = β i, zeroLocus π (I i) :=
- (gc_homogeneousIdeal π).l_supα΅’
-#align projective_spectrum.zero_locus_supr_homogeneous_ideal ProjectiveSpectrum.zeroLocus_supα΅’_homogeneousIdeal
+ (gc_homogeneousIdeal π).l_iSup
+#align projective_spectrum.zero_locus_supr_homogeneous_ideal ProjectiveSpectrum.zeroLocus_iSup_homogeneousIdeal
-theorem zeroLocus_unionα΅’ {Ξ³ : Sort _} (s : Ξ³ β Set A) :
+theorem zeroLocus_iUnion {Ξ³ : Sort _} (s : Ξ³ β Set A) :
zeroLocus π (β i, s i) = β i, zeroLocus π (s i) :=
- (gc_set π).l_supα΅’
-#align projective_spectrum.zero_locus_Union ProjectiveSpectrum.zeroLocus_unionα΅’
+ (gc_set π).l_iSup
+#align projective_spectrum.zero_locus_Union ProjectiveSpectrum.zeroLocus_iUnion
theorem zeroLocus_bUnion (s : Set (Set A)) :
zeroLocus π (β s' β s, s' : Set A) = β s' β s, zeroLocus π s' := by simp only [zero_locus_Union]
#align projective_spectrum.zero_locus_bUnion ProjectiveSpectrum.zeroLocus_bUnion
-theorem vanishingIdeal_unionα΅’ {Ξ³ : Sort _} (t : Ξ³ β Set (ProjectiveSpectrum π)) :
+theorem vanishingIdeal_iUnion {Ξ³ : Sort _} (t : Ξ³ β Set (ProjectiveSpectrum π)) :
vanishingIdeal (β i, t i) = β¨
i, vanishingIdeal (t i) :=
HomogeneousIdeal.toIdeal_injective <| by
- convert(gc_ideal π).u_infα΅’ <;> exact HomogeneousIdeal.toIdeal_infα΅’ _
-#align projective_spectrum.vanishing_ideal_Union ProjectiveSpectrum.vanishingIdeal_unionα΅’
+ convert(gc_ideal π).u_iInf <;> exact HomogeneousIdeal.toIdeal_iInf _
+#align projective_spectrum.vanishing_ideal_Union ProjectiveSpectrum.vanishingIdeal_iUnion
theorem zeroLocus_inf (I J : Ideal A) :
zeroLocus π ((I β J : Ideal A) : Set A) = zeroLocus π I βͺ zeroLocus π J :=
@@ -334,7 +334,7 @@ instance zariskiTopology : TopologicalSpace (ProjectiveSpectrum π) :=
TopologicalSpace.ofClosed (Set.range (ProjectiveSpectrum.zeroLocus π)) β¨Set.univ, by simpβ©
(by
intro Zs h
- rw [Set.interβ_eq_interα΅’]
+ rw [Set.sInter_eq_iInter]
let f : Zs β Set _ := fun i => Classical.choose (h i.2)
have hf : β i : Zs, βi = zero_locus π (f i) := fun i => (Classical.choose_spec (h i.2)).symm
simp only [hf]
@@ -450,7 +450,7 @@ theorem basicOpen_eq_union_of_projection (f : A) :
basicOpen π f = β¨ i : β, basicOpen π (GradedAlgebra.proj π i f) :=
TopologicalSpace.Opens.ext <|
Set.ext fun z => by
- erw [mem_coe_basic_open, TopologicalSpace.Opens.mem_supβ]
+ erw [mem_coe_basic_open, TopologicalSpace.Opens.mem_sSup]
constructor <;> intro hz
Β· rcases show β i, GradedAlgebra.proj π i f β z.as_homogeneous_ideal
by
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce7e9d53d4bbc38065db3b595cd5bd73c323bc1d
@@ -251,7 +251,7 @@ theorem zeroLocus_union (s s' : Set A) : zeroLocus π (s βͺ s') = zeroLocus _
theorem vanishingIdeal_union (t t' : Set (ProjectiveSpectrum π)) :
vanishingIdeal (t βͺ t') = vanishingIdeal t β vanishingIdeal t' := by
- ext1 <;> convert (gc_ideal π).u_inf
+ ext1 <;> convert(gc_ideal π).u_inf
#align projective_spectrum.vanishing_ideal_union ProjectiveSpectrum.vanishingIdeal_union
theorem zeroLocus_supα΅’_ideal {Ξ³ : Sort _} (I : Ξ³ β Ideal A) :
@@ -276,7 +276,7 @@ theorem zeroLocus_bUnion (s : Set (Set A)) :
theorem vanishingIdeal_unionα΅’ {Ξ³ : Sort _} (t : Ξ³ β Set (ProjectiveSpectrum π)) :
vanishingIdeal (β i, t i) = β¨
i, vanishingIdeal (t i) :=
HomogeneousIdeal.toIdeal_injective <| by
- convert (gc_ideal π).u_infα΅’ <;> exact HomogeneousIdeal.toIdeal_infα΅’ _
+ convert(gc_ideal π).u_infα΅’ <;> exact HomogeneousIdeal.toIdeal_infα΅’ _
#align projective_spectrum.vanishing_ideal_Union ProjectiveSpectrum.vanishingIdeal_unionα΅’
theorem zeroLocus_inf (I J : Ideal A) :
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
Subsingleton,Nontrivial
off of Data.Set.Basic
(#11832)
Moves definition of and lemmas related to Set.Subsingleton
and Set.Nontrivial
to a new file, so that Basic
can be shorter.
@@ -6,7 +6,7 @@ Authors: Jujian Zhang, Johan Commelin
import Mathlib.RingTheory.GradedAlgebra.HomogeneousIdeal
import Mathlib.Topology.Category.TopCat.Basic
import Mathlib.Topology.Sets.Opens
-import Mathlib.Data.Set.Basic
+import Mathlib.Data.Set.Subsingleton
#align_import algebraic_geometry.projective_spectrum.topology from "leanprover-community/mathlib"@"d39590fc8728fbf6743249802486f8c91ffe07bc"
@@ -46,7 +46,7 @@ variable {R A : Type*}
variable [CommSemiring R] [CommRing A] [Algebra R A]
variable (π : β β Submodule R A) [GradedAlgebra π]
--- porting note (#10927): removed @[nolint has_nonempty_instance]
+-- porting note (#5171): removed @[nolint has_nonempty_instance]
/-- The projective spectrum of a graded commutative ring is the subtype of all homogenous ideals
that are prime and do not contain the irrelevant ideal. -/
@[ext]
Empty lines were removed by executing the following Python script twice
import os
import re
# Loop through each file in the repository
for dir_path, dirs, files in os.walk('.'):
for filename in files:
if filename.endswith('.lean'):
file_path = os.path.join(dir_path, filename)
# Open the file and read its contents
with open(file_path, 'r') as file:
content = file.read()
# Use a regular expression to replace sequences of "variable" lines separated by empty lines
# with sequences without empty lines
modified_content = re.sub(r'(variable.*\n)\n(variable(?! .* in))', r'\1\2', content)
# Write the modified content back to the file
with open(file_path, 'w') as file:
file.write(modified_content)
@@ -43,9 +43,7 @@ noncomputable section
open DirectSum BigOperators Pointwise SetLike TopCat TopologicalSpace CategoryTheory Opposite
variable {R A : Type*}
-
variable [CommSemiring R] [CommRing A] [Algebra R A]
-
variable (π : β β Submodule R A) [GradedAlgebra π]
-- porting note (#10927): removed @[nolint has_nonempty_instance]
@@ -48,7 +48,7 @@ variable [CommSemiring R] [CommRing A] [Algebra R A]
variable (π : β β Submodule R A) [GradedAlgebra π]
--- porting note: removed @[nolint has_nonempty_instance]
+-- porting note (#10927): removed @[nolint has_nonempty_instance]
/-- The projective spectrum of a graded commutative ring is the subtype of all homogenous ideals
that are prime and do not contain the irrelevant ideal. -/
@[ext]
Data.Set.Basic
from scripts/noshake.json
.example
s only,
move these example
s to a new test file.Order.Filter.Basic
dependency on Control.Traversable.Instances
,
as the relevant parts were moved to Order.Filter.ListTraverse
.lake exe shake --fix
.@@ -6,6 +6,7 @@ Authors: Jujian Zhang, Johan Commelin
import Mathlib.RingTheory.GradedAlgebra.HomogeneousIdeal
import Mathlib.Topology.Category.TopCat.Basic
import Mathlib.Topology.Sets.Opens
+import Mathlib.Data.Set.Basic
#align_import algebraic_geometry.projective_spectrum.topology from "leanprover-community/mathlib"@"d39590fc8728fbf6743249802486f8c91ffe07bc"
Mostly, this means replacing "of_open" by "of_isOpen". A few lemmas names were misleading and are corrected differently. Zulip discussion.
@@ -453,7 +453,7 @@ theorem basicOpen_eq_union_of_projection (f : A) :
theorem isTopologicalBasis_basic_opens :
TopologicalSpace.IsTopologicalBasis
(Set.range fun r : A => (basicOpen π r : Set (ProjectiveSpectrum π))) := by
- apply TopologicalSpace.isTopologicalBasis_of_open_of_nhds
+ apply TopologicalSpace.isTopologicalBasis_of_isOpen_of_nhds
Β· rintro _ β¨r, rflβ©
exact isOpen_basicOpen π
Β· rintro p U hp β¨s, hsβ©
rcases
, convert
and congrm
(#7725)
Replace rcases(
with rcases (
. Same thing for convert(
and congrm(
. No other change.
@@ -270,7 +270,7 @@ theorem zeroLocus_bUnion (s : Set (Set A)) :
theorem vanishingIdeal_iUnion {Ξ³ : Sort*} (t : Ξ³ β Set (ProjectiveSpectrum π)) :
vanishingIdeal (β i, t i) = β¨
i, vanishingIdeal (t i) :=
HomogeneousIdeal.toIdeal_injective <| by
- convert(gc_ideal π).u_iInf; exact HomogeneousIdeal.toIdeal_iInf _
+ convert (gc_ideal π).u_iInf; exact HomogeneousIdeal.toIdeal_iInf _
#align projective_spectrum.vanishing_ideal_Union ProjectiveSpectrum.vanishingIdeal_iUnion
theorem zeroLocus_inf (I J : Ideal A) :
@@ -371,7 +371,6 @@ theorem zeroLocus_vanishingIdeal_eq_closure (t : Set (ProjectiveSpectrum π))
theorem vanishingIdeal_closure (t : Set (ProjectiveSpectrum π)) :
vanishingIdeal (closure t) = vanishingIdeal t := by
have := (gc_ideal π).u_l_u_eq_u t
- dsimp only at this
ext1
erw [zeroLocus_vanishingIdeal_eq_closure π t] at this
exact this
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -41,7 +41,7 @@ noncomputable section
open DirectSum BigOperators Pointwise SetLike TopCat TopologicalSpace CategoryTheory Opposite
-variable {R A : Type _}
+variable {R A : Type*}
variable [CommSemiring R] [CommRing A] [Algebra R A]
@@ -247,17 +247,17 @@ theorem vanishingIdeal_union (t t' : Set (ProjectiveSpectrum π)) :
ext1; exact (gc_ideal π).u_inf
#align projective_spectrum.vanishing_ideal_union ProjectiveSpectrum.vanishingIdeal_union
-theorem zeroLocus_iSup_ideal {Ξ³ : Sort _} (I : Ξ³ β Ideal A) :
+theorem zeroLocus_iSup_ideal {Ξ³ : Sort*} (I : Ξ³ β Ideal A) :
zeroLocus _ ((β¨ i, I i : Ideal A) : Set A) = β i, zeroLocus π (I i) :=
(gc_ideal π).l_iSup
#align projective_spectrum.zero_locus_supr_ideal ProjectiveSpectrum.zeroLocus_iSup_ideal
-theorem zeroLocus_iSup_homogeneousIdeal {Ξ³ : Sort _} (I : Ξ³ β HomogeneousIdeal π) :
+theorem zeroLocus_iSup_homogeneousIdeal {Ξ³ : Sort*} (I : Ξ³ β HomogeneousIdeal π) :
zeroLocus _ ((β¨ i, I i : HomogeneousIdeal π) : Set A) = β i, zeroLocus π (I i) :=
(gc_homogeneousIdeal π).l_iSup
#align projective_spectrum.zero_locus_supr_homogeneous_ideal ProjectiveSpectrum.zeroLocus_iSup_homogeneousIdeal
-theorem zeroLocus_iUnion {Ξ³ : Sort _} (s : Ξ³ β Set A) :
+theorem zeroLocus_iUnion {Ξ³ : Sort*} (s : Ξ³ β Set A) :
zeroLocus π (β i, s i) = β i, zeroLocus π (s i) :=
(gc_set π).l_iSup
#align projective_spectrum.zero_locus_Union ProjectiveSpectrum.zeroLocus_iUnion
@@ -267,7 +267,7 @@ theorem zeroLocus_bUnion (s : Set (Set A)) :
by simp only [zeroLocus_iUnion]
#align projective_spectrum.zero_locus_bUnion ProjectiveSpectrum.zeroLocus_bUnion
-theorem vanishingIdeal_iUnion {Ξ³ : Sort _} (t : Ξ³ β Set (ProjectiveSpectrum π)) :
+theorem vanishingIdeal_iUnion {Ξ³ : Sort*} (t : Ξ³ β Set (ProjectiveSpectrum π)) :
vanishingIdeal (β i, t i) = β¨
i, vanishingIdeal (t i) :=
HomogeneousIdeal.toIdeal_injective <| by
convert(gc_ideal π).u_iInf; exact HomogeneousIdeal.toIdeal_iInf _
@@ -2,16 +2,13 @@
Copyright (c) 2020 Jujian Zhang. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Jujian Zhang, Johan Commelin
-
-! This file was ported from Lean 3 source module algebraic_geometry.projective_spectrum.topology
-! leanprover-community/mathlib commit d39590fc8728fbf6743249802486f8c91ffe07bc
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.RingTheory.GradedAlgebra.HomogeneousIdeal
import Mathlib.Topology.Category.TopCat.Basic
import Mathlib.Topology.Sets.Opens
+#align_import algebraic_geometry.projective_spectrum.topology from "leanprover-community/mathlib"@"d39590fc8728fbf6743249802486f8c91ffe07bc"
+
/-!
# Projective spectrum of a graded ring
This is the second half of the changes originally in #5699, removing all occurrences of ;
after a space and implementing a linter rule to enforce it.
In most cases this 2-character substring has a space after it, so the following command was run first:
find . -type f -name "*.lean" -exec sed -i -E 's/ ; /; /g' {} \;
The remaining cases were few enough in number that they were done manually.
@@ -247,7 +247,7 @@ theorem zeroLocus_union (s s' : Set A) : zeroLocus π (s βͺ s') = zeroLocus _
theorem vanishingIdeal_union (t t' : Set (ProjectiveSpectrum π)) :
vanishingIdeal (t βͺ t') = vanishingIdeal t β vanishingIdeal t' := by
- ext1 ; exact (gc_ideal π).u_inf
+ ext1; exact (gc_ideal π).u_inf
#align projective_spectrum.vanishing_ideal_union ProjectiveSpectrum.vanishingIdeal_union
theorem zeroLocus_iSup_ideal {Ξ³ : Sort _} (I : Ξ³ β Ideal A) :
@@ -273,7 +273,7 @@ theorem zeroLocus_bUnion (s : Set (Set A)) :
theorem vanishingIdeal_iUnion {Ξ³ : Sort _} (t : Ξ³ β Set (ProjectiveSpectrum π)) :
vanishingIdeal (β i, t i) = β¨
i, vanishingIdeal (t i) :=
HomogeneousIdeal.toIdeal_injective <| by
- convert(gc_ideal π).u_iInf ; exact HomogeneousIdeal.toIdeal_iInf _
+ convert(gc_ideal π).u_iInf; exact HomogeneousIdeal.toIdeal_iInf _
#align projective_spectrum.vanishing_ideal_Union ProjectiveSpectrum.vanishingIdeal_iUnion
theorem zeroLocus_inf (I J : Ideal A) :
@@ -320,7 +320,7 @@ theorem sup_vanishingIdeal_le (t t' : Set (ProjectiveSpectrum π)) :
theorem mem_compl_zeroLocus_iff_not_mem {f : A} {I : ProjectiveSpectrum π} :
I β (zeroLocus π {f} : Set (ProjectiveSpectrum π))αΆ β f β I.asHomogeneousIdeal := by
- rw [Set.mem_compl_iff, mem_zeroLocus, Set.singleton_subset_iff] ; rfl
+ rw [Set.mem_compl_iff, mem_zeroLocus, Set.singleton_subset_iff]; rfl
#align projective_spectrum.mem_compl_zero_locus_iff_not_mem ProjectiveSpectrum.mem_compl_zeroLocus_iff_not_mem
/-- The Zariski topology on the prime spectrum of a commutative ring is defined via the closed sets
@@ -348,7 +348,7 @@ set_option linter.uppercaseLean3 false in
#align projective_spectrum.Top ProjectiveSpectrum.top
theorem isOpen_iff (U : Set (ProjectiveSpectrum π)) : IsOpen U β β s, UαΆ = zeroLocus π s := by
- simp only [@eq_comm _ UαΆ] ; rfl
+ simp only [@eq_comm _ UαΆ]; rfl
#align projective_spectrum.is_open_iff ProjectiveSpectrum.isOpen_iff
theorem isClosed_iff_zeroLocus (Z : Set (ProjectiveSpectrum π)) :
@@ -406,7 +406,7 @@ theorem isOpen_basicOpen {a : A} : IsOpen (basicOpen π a : Set (ProjectiveSpe
@[simp]
theorem basicOpen_eq_zeroLocus_compl (r : A) :
(basicOpen π r : Set (ProjectiveSpectrum π)) = (zeroLocus π {r})αΆ :=
- Set.ext fun x => by simp only [Set.mem_compl_iff, mem_zeroLocus, Set.singleton_subset_iff] ; rfl
+ Set.ext fun x => by simp only [Set.mem_compl_iff, mem_zeroLocus, Set.singleton_subset_iff]; rfl
#align projective_spectrum.basic_open_eq_zero_locus_compl ProjectiveSpectrum.basicOpen_eq_zeroLocus_compl
@[simp]
@@ -348,7 +348,7 @@ set_option linter.uppercaseLean3 false in
#align projective_spectrum.Top ProjectiveSpectrum.top
theorem isOpen_iff (U : Set (ProjectiveSpectrum π)) : IsOpen U β β s, UαΆ = zeroLocus π s := by
- simp only [@eq_comm _ (UαΆ)] ; rfl
+ simp only [@eq_comm _ UαΆ] ; rfl
#align projective_spectrum.is_open_iff ProjectiveSpectrum.isOpen_iff
theorem isClosed_iff_zeroLocus (Z : Set (ProjectiveSpectrum π)) :
@@ -405,7 +405,7 @@ theorem isOpen_basicOpen {a : A} : IsOpen (basicOpen π a : Set (ProjectiveSpe
@[simp]
theorem basicOpen_eq_zeroLocus_compl (r : A) :
- (basicOpen π r : Set (ProjectiveSpectrum π)) = zeroLocus π {r}αΆ :=
+ (basicOpen π r : Set (ProjectiveSpectrum π)) = (zeroLocus π {r})αΆ :=
Set.ext fun x => by simp only [Set.mem_compl_iff, mem_zeroLocus, Set.singleton_subset_iff] ; rfl
#align projective_spectrum.basic_open_eq_zero_locus_compl ProjectiveSpectrum.basicOpen_eq_zeroLocus_compl
We disable the "relaxed" auto-implicit feature, so only single character identifiers become eligible as auto-implicits. See discussion on zulip and 2.
Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Scott Morrison <scott.morrison@anu.edu.au>
@@ -57,7 +57,7 @@ that are prime and do not contain the irrelevant ideal. -/
structure ProjectiveSpectrum where
asHomogeneousIdeal : HomogeneousIdeal π
isPrime : asHomogeneousIdeal.toIdeal.IsPrime
- not_irrelevant_le : Β¬HomogeneousIdeal.irrelevant π β€ as_homogeneous_ideal
+ not_irrelevant_le : Β¬HomogeneousIdeal.irrelevant π β€ asHomogeneousIdeal
#align projective_spectrum ProjectiveSpectrum
attribute [instance] ProjectiveSpectrum.isPrime
@@ -97,7 +97,7 @@ At a point `x` (a homogeneous prime ideal) the function (i.e., element) `f` take
quotient ring `A` modulo the prime ideal `x`. In this manner, `vanishingIdeal t` is exactly the
ideal of `A` consisting of all "functions" that vanish on all of `t`. -/
def vanishingIdeal (t : Set (ProjectiveSpectrum π)) : HomogeneousIdeal π :=
- β¨
(x : ProjectiveSpectrum π) (_h : x β t), x.asHomogeneousIdeal
+ β¨
(x : ProjectiveSpectrum π) (_ : x β t), x.asHomogeneousIdeal
#align projective_spectrum.vanishing_ideal ProjectiveSpectrum.vanishingIdeal
theorem coe_vanishingIdeal (t : Set (ProjectiveSpectrum π)) :
The unported dependencies are