33.39 The delta invariant to 33.48 Enriques-Severi-Zariski
Section33.39 The delta invariant#
Section 33.39 of the Stacks Project, Tag 0C3Q. 9 tags here are carried by 33 declarations of the repository (all in StacksFrontier) and 1 registered declaration, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0C3R, a lemma
Tag 0C3R in the Stacks Project.
IsLocalRing.radical_span_eq_maximalIdeal_iff_notMem_minimalPrimes, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/DeltaInvariant/Parameters.lean, line 121. The attribute's comment: “parts (1) and (2)”.
An element of the maximal ideal of a one-dimensional Noetherian local ring cuts out the closed point exactly when it is in no minimal prime.
public lemma radical_span_eq_maximalIdeal_iff_notMem_minimalPrimes
{A : Type*} [CommRing A] [IsLocalRing A] [IsNoetherianRing A]
(hdim : ringKrullDim A = 1) {f : A} (hf : f ∈ maximalIdeal A) :
(Ideal.span {f}).radical = maximalIdeal A ↔
∀ p ∈ minimalPrimes A, f ∉ p
IsLocalRing.notMem_minimalPrimes_iff_localizationAway_equiv_pi_localizationAtPrime, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/DeltaInvariant/Parameters.lean, line 160. The attribute's comment: “parts (2) and (3)”.
Avoiding all minimal primes is equivalent to localization away from the element being the product of the local rings at the minimal primes.
public lemma notMem_minimalPrimes_iff_localizationAway_equiv_pi_localizationAtPrime
{A : Type*} [CommRing A] [IsLocalRing A] [IsNoetherianRing A]
(hdim : ringKrullDim A = 1) {f : A} (hf : f ∈ maximalIdeal A) :
(∀ p ∈ minimalPrimes A, f ∉ p) ↔
Nonempty (Localization.Away f ≃ₐ[A]
(∀ p : minimalPrimes A,
@Localization.AtPrime A _ p.1 p.2.1.1))
IsLocalRing.exists_radical_span_eq_maximalIdeal, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/DeltaInvariant/Parameters.lean, line 217. The attribute's comment: “existence”.
A one-dimensional Noetherian local ring has an element of its maximal ideal whose principal ideal has radical equal to the maximal ideal.
public lemma exists_radical_span_eq_maximalIdeal
{A : Type*} [CommRing A] [IsLocalRing A] [IsNoetherianRing A] (hdim : ringKrullDim A = 1) :
∃ f ∈ maximalIdeal A, (Ideal.span {f}).radical = maximalIdeal A
IsLocalRing.notMem_minimalPrimes_iff_mem_nonZeroDivisors_of_depth_eq_one, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/DeltaInvariant/Parameters.lean, line 226. The attribute's comment: “part (4)”.
At depth one, the elements avoiding all minimal primes are precisely the nonzerodivisors.
public lemma notMem_minimalPrimes_iff_mem_nonZeroDivisors_of_depth_eq_one
{A : Type*} [CommRing A] [IsLocalRing A] [IsNoetherianRing A]
(hdim : ringKrullDim A = 1) (hdepth : Module.depth A (maximalIdeal A) A = 1) (f : A) :
(∀ p ∈ minimalPrimes A, f ∉ p) ↔ f ∈ nonZeroDivisors A
IsLocalRing.notMem_minimalPrimes_iff_localizationAway_equiv_fractionRing_of_depth_eq_one, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/DeltaInvariant/Parameters.lean, line 239. The attribute's comment: “part (5)”.
At depth one, avoiding all minimal primes is equivalent to localization away from the element being the total ring of fractions.
public lemma notMem_minimalPrimes_iff_localizationAway_equiv_fractionRing_of_depth_eq_one
{A : Type*} [CommRing A] [IsLocalRing A] [IsNoetherianRing A]
(hdim : ringKrullDim A = 1) (hdepth : Module.depth A (maximalIdeal A) A = 1)
{f : A} (hf : f ∈ maximalIdeal A) :
(∀ p ∈ minimalPrimes A, f ∉ p) ↔
Nonempty (Localization.Away f ≃ₐ[A] FractionRing A)
IsLocalRing.depth_eq_one_of_isReduced, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/DeltaInvariant/Parameters.lean, line 276. The attribute's comment: “reduced rings have depth one”.
A reduced one-dimensional Noetherian local ring has depth one.
public lemma depth_eq_one_of_isReduced
{A : Type*} [CommRing A] [IsLocalRing A] [IsNoetherianRing A] [IsReduced A]
(hdim : ringKrullDim A = 1) :
Module.depth A (maximalIdeal A) A = 1
IsLocalRing.notMem_minimalPrimes_iff_localizationAway_equiv_pi_residueField_of_isReduced, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/DeltaInvariant/Parameters.lean, line 292. The attribute's comment: “part (6)”.
In a reduced one-dimensional Noetherian local ring, avoiding all minimal primes is equivalent to localization away from the element being the product of the residue fields at the minimal primes.
public lemma notMem_minimalPrimes_iff_localizationAway_equiv_pi_residueField_of_isReduced
{A : Type*} [CommRing A] [IsLocalRing A] [IsNoetherianRing A] [IsReduced A]
(hdim : ringKrullDim A = 1) {f : A} (hf : f ∈ maximalIdeal A) :
(∀ p ∈ minimalPrimes A, f ∉ p) ↔
Nonempty (Localization.Away f ≃ₐ[A]
(∀ p : minimalPrimes A, @Ideal.ResidueField A _ p.1 p.2.1.1))
Tag 0C3S, a lemma
Tag 0C3S in the Stacks Project.
isNormalRing_integralClosure_fractionRing, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/DeltaInvariant/Normalization.lean, line 149. The attribute's comment: “normality”. References: EGA II (7.4.6), “affine case, 𝒜=R(X)”.
The integral closure of a reduced Noetherian ring in its total ring of fractions is a normal ring.
public lemma isNormalRing_integralClosure_fractionRing
{A : Type*} [CommRing A] [IsNoetherianRing A] [IsReduced A] :
IsNormalRing ↥(integralClosure A (FractionRing A))
module_finite_integralClosure_fractionRing, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/DeltaInvariant/Normalization.lean, line 178. The attribute's comment: “finiteness”. References: EGA IV (7.6.1), “more general”.
The integral closure of a reduced Nagata ring in its total ring of fractions is finite over the original ring.
public lemma module_finite_integralClosure_fractionRing
{A : Type*} [CommRing A] [IsReduced A]
(hA : IsNagataRing A) :
Module.Finite A ↥(integralClosure A (FractionRing A))
isNagataRing_integralClosure_fractionRing, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/DeltaInvariant/Normalization.lean, line 189. The attribute's comment: “Nagata”. References: EGA IV (7.8.3), “(vii)”.
The integral closure of a reduced Nagata ring in its total ring of fractions is Nagata.
public lemma isNagataRing_integralClosure_fractionRing
{A : Type*} [CommRing A] [IsReduced A]
(hA : IsNagataRing A) :
IsNagataRing ↥(integralClosure A (FractionRing A))
isFiniteLength_integralClosure_quotient, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/DeltaInvariant/Normalization.lean, line 202. The attribute's comment: “finite length”. References: EGA IV (7.6.1), “finiteness of A' over A”; EGA IV (7.8.3), “(vii), special case”.
For a reduced one-dimensional Nagata local ring, the quotient of its integral closure in the total ring of fractions by the original ring has finite length.
public lemma isFiniteLength_integralClosure_quotient
{A : Type*} [CommRing A] [IsLocalRing A] [IsReduced A]
(hA : IsNagataRing A) (hdim : ringKrullDim A = 1) :
IsFiniteLength A
(↥(integralClosure A (FractionRing A)) ⧸
LinearMap.range (Algebra.linearMap A ↥(integralClosure A (FractionRing A))))
Tag 0C3T, a definition
Tag 0C3T in the Stacks Project.
Ring.deltaInvariant, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/DeltaInvariant/Defs.lean, line 31. References: SGA 7 X (2.10).
The delta invariant of a commutative ring is the length of the quotient of its integral closure in its total ring of fractions by the image of the ring. For a reduced one-dimensional Nagata local ring, this quotient has finite length.
public noncomputable abbrev Ring.deltaInvariant (A : Type*) [CommRing A] : ℕ∞
Tag 0C3U, a lemma
Tag 0C3U in the Stacks Project.
Ring.deltaInvariant_eq_zero_iff_isDiscreteValuationRing, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/DeltaInvariant/Vanishing.lean, line 66.
A reduced one-dimensional Nagata local ring has delta invariant zero if and only if it is a discrete valuation ring.
public lemma deltaInvariant_eq_zero_iff_isDiscreteValuationRing
{A : Type*} [CommRing A] [IsLocalRing A] [IsReduced A]
(hA : IsNagataRing A) (hdim : ringKrullDim A = 1) :
deltaInvariant A = 0 ↔ ∃ _ : IsDomain A, IsDiscreteValuationRing A
Tag 0C3V, a lemma
Tag 0C3V in the Stacks Project.
IsLocalRing.isReduced_adicCompletion_maximalIdeal_of_isNagataRing, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/DeltaInvariant/Completion.lean, line 55. The attribute's comment: “completion_properties”. References: EGA IV (7.6.1), “more general”.
The maximal-ideal-adic completion of a reduced Nagata local ring is reduced.
public theorem isReduced_adicCompletion_maximalIdeal_of_isNagataRing
{A : Type*} [CommRing A] [IsLocalRing A] [IsReduced A]
(hA : IsNagataRing A) : IsReduced (AdicCompletion (maximalIdeal A) A)
IsLocalRing.isNagataRing_adicCompletion_maximalIdeal, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/DeltaInvariant/Completion.lean, line 63. The attribute's comment: “completion_properties”.
The maximal-ideal-adic completion of a Noetherian local ring is a Nagata ring.
public theorem isNagataRing_adicCompletion_maximalIdeal
{A : Type*} [CommRing A] [IsLocalRing A] [IsNoetherianRing A] :
IsNagataRing (AdicCompletion (maximalIdeal A) A)
IsLocalRing.ringKrullDim_adicCompletion_maximalIdeal, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/DeltaInvariant/Completion.lean, line 70. The attribute's comment: “completion_properties”. References: EGA IV (7.3.19), “dim(Â) = 1”.
Completion of a Noetherian local ring at its maximal ideal preserves Krull dimension.
public theorem ringKrullDim_adicCompletion_maximalIdeal
{A : Type*} [CommRing A] [IsLocalRing A] [IsNoetherianRing A] :
ringKrullDim (AdicCompletion (maximalIdeal A) A) = ringKrullDim A
IsLocalRing.IsHenselization.isReduced, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/DeltaInvariant/Henselization.lean, line 376. The attribute's comment: “henselization_properties”. References: EGA IV (18.6.9), “(i), special case”.
The henselization of a reduced local ring is reduced.
public lemma isReduced [IsReduced A] : IsReduced Ah
IsLocalRing.IsHenselization.isNagataRing, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/DeltaInvariant/Henselization.lean, line 383. The attribute's comment: “henselization_properties”. References: EGA IV (18.7.3), “Forward implication”.
The henselization of a Nagata local ring is Nagata.
public lemma isNagataRing (hNagata : IsNagataRing A) : IsNagataRing Ah
IsLocalRing.IsHenselization.ringKrullDim_eq, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/DeltaInvariant/Henselization.lean, line 399. The attribute's comment: “henselization_properties”.
Henselization preserves the Krull dimension of a local ring.
public lemma ringKrullDim_eq : ringKrullDim Ah = ringKrullDim A
IsLocalRing.strictHenselization_isReduced, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/DeltaInvariant/Henselization.lean, line 413. The attribute's comment: “strict_henselization_properties”. References: EGA IV (18.8.12), “(i)”.
A strict henselization of a reduced local ring is reduced.
public lemma strictHenselization_isReduced
(ksep : Type v) [Field ksep] [Algebra (IsLocalRing.ResidueField A) ksep]
[IsSepClosure (IsLocalRing.ResidueField A) ksep]
[IsLocalRing.IsHenselization A ksep Ash] [IsReduced A] : IsReduced Ash
IsLocalRing.strictHenselization_isNagataRing, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/DeltaInvariant/Henselization.lean, line 433. The attribute's comment: “strict_henselization_properties”.
A strict henselization of a Nagata local ring is Nagata.
public lemma strictHenselization_isNagataRing
(ksep : Type v) [Field ksep] [Algebra (IsLocalRing.ResidueField A) ksep]
[IsSepClosure (IsLocalRing.ResidueField A) ksep]
[IsLocalRing.IsHenselization A ksep Ash]
(hA : IsNagataRing A) : IsNagataRing Ash
IsLocalRing.strictHenselization_ringKrullDim, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/DeltaInvariant/Henselization.lean, line 458. The attribute's comment: “strict_henselization_properties”. References: SGA 5 I (3.1.3), “more general”.
A local ring and a strict henselization of it have the same Krull dimension.
public lemma strictHenselization_ringKrullDim
(ksep : Type v) [Field ksep] [Algebra (IsLocalRing.ResidueField A) ksep]
[IsSepClosure (IsLocalRing.ResidueField A) ksep]
[IsLocalRing.IsHenselization A ksep Ash] : ringKrullDim Ash = ringKrullDim A
IsLocalRing.exists_fractionRing_map_and_tensorProduct_range_eq_integralClosure_completion, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/DeltaInvariant/IntegralClosureCompletion.lean, line 89. The attribute's comment: “completion_integral_closure”.
The base change to the completion of the integral closure of a reduced one-dimensional Nagata local ring in its total ring of fractions is the integral closure of the completion in its total ring of fractions.
public lemma exists_fractionRing_map_and_tensorProduct_range_eq_integralClosure_completion
{A : Type u} [CommRing A] [IsLocalRing A] [IsReduced A]
(hA : IsNagataRing A) (hdim : ringKrullDim A = 1) :
let B := AdicCompletion (maximalIdeal A) A
∃ q : FractionRing A →ₐ[A] FractionRing B,
∃ g : (integralClosure A (FractionRing A) ⊗[A] B) →ₐ[A] FractionRing B,
Function.Injective g ∧
g.range = (integralClosure B (FractionRing B)).restrictScalars A ∧
g.comp
(Algebra.TensorProduct.includeLeft :
integralClosure A (FractionRing A) →ₐ[A]
(integralClosure A (FractionRing A) ⊗[A] B)) =
q.comp (integralClosure A (FractionRing A)).val ∧
g.comp
(Algebra.TensorProduct.includeRight :
B →ₐ[A] (integralClosure A (FractionRing A) ⊗[A] B)) =
IsScalarTower.toAlgHom A B (FractionRing B)
IsLocalRing.tensorProduct_integralClosure_isIntegralClosure_strictHenselization, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/DeltaInvariant/IntegralClosureHenselization.lean, line 190. The attribute's comment: “strict_henselization_integral_closure”.
Stacks Project, Tag 0C3V. After strict henselization, the base change of the integral closure in the total ring of fractions is the integral closure in the new total ring of fractions.
public lemma tensorProduct_integralClosure_isIntegralClosure_strictHenselization
{A Ash : Type u} [CommRing A] [IsLocalRing A] [IsReduced A]
[CommRing Ash] [IsLocalRing Ash] [Algebra A Ash]
(K : Type v) [Field K] [Algebra (ResidueField A) K]
[IsSepClosure (ResidueField A) K] [IsHenselization A K Ash]
(hA : IsNagataRing A) (hdim : ringKrullDim A = 1) :
∃ q : FractionRing A →ₐ[A] FractionRing Ash,
∃ g : (integralClosure A (FractionRing A) ⊗[A] Ash) →ₐ[A] FractionRing Ash,
Function.Injective g ∧
g.range = (integralClosure Ash (FractionRing Ash)).restrictScalars A ∧
g.comp (Algebra.TensorProduct.includeLeft :
integralClosure A (FractionRing A) →ₐ[A]
(integralClosure A (FractionRing A) ⊗[A] Ash)) =
q.comp (integralClosure A (FractionRing A)).val ∧
g.comp (Algebra.TensorProduct.includeRight :
Ash →ₐ[A] (integralClosure A (FractionRing A) ⊗[A] Ash)) =
IsScalarTower.toAlgHom A Ash (FractionRing Ash)
IsLocalRing.exists_integralClosure_henselization_map, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/DeltaInvariant/IntegralClosureHenselization.lean, line 266. The attribute's comment: “henselization_integral_closure”.
Stacks Project, Tag 0C3V. The base change to a henselization of the integral closure in the total ring of fractions is the integral closure of the henselization in its total ring of fractions.
public theorem exists_integralClosure_henselization_map
(hA : IsNagataRing A) (hdim : ringKrullDim A = 1) :
∃ q : FractionRing A →ₐ[A] FractionRing Ah,
∃ g : (integralClosure A (FractionRing A) ⊗[A] Ah) →ₐ[A] FractionRing Ah,
Function.Injective g ∧
g.range = (integralClosure Ah (FractionRing Ah)).restrictScalars A ∧
g.comp (Algebra.TensorProduct.includeLeft :
integralClosure A (FractionRing A) →ₐ[A]
(integralClosure A (FractionRing A) ⊗[A] Ah)) =
q.comp (integralClosure A (FractionRing A)).val ∧
g.comp (Algebra.TensorProduct.includeRight :
Ah →ₐ[A] (integralClosure A (FractionRing A) ⊗[A] Ah)) =
IsScalarTower.toAlgHom A Ah (FractionRing Ah)
Declarations registered for the tag:
AdicCompletion.isLocalRing_of_fgregistered withadd_to_stacksin StacksFrontier/AlgebraicGeometry/Variety/DeltaInvariant/Completion.lean, line 39 (StacksFrontier): “completion_properties”. References: EGA IV (8.11.4), “Â is a local ring”; SGA 3 VIIB (0.1.1), “special case”; SGA 3 X (4.0), “partial”.
Tag 0C3W, a lemma
Tag 0C3W in the Stacks Project.
Stacks.Curves.deltaInvariant_henselization, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/DeltaInvariant/BaseChangeDelta.lean, line 206. The attribute's comment: “henselization”.
Henselization preserves the delta invariant of a reduced one-dimensional Nagata local ring.
public theorem deltaInvariant_henselization
(A Ah : Type u) [CommRing A] [IsLocalRing A] [IsReduced A]
[CommRing Ah] [IsLocalRing Ah] [Algebra A Ah]
[IsLocalRing.IsHenselization A (ResidueField A) Ah]
(hA : IsNagataRing A) (hdim : ringKrullDim A = 1) :
Ring.deltaInvariant Ah = Ring.deltaInvariant A
Stacks.Curves.deltaInvariant_strictHenselization, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/DeltaInvariant/BaseChangeDelta.lean, line 224. The attribute's comment: “strict henselization”.
Strict henselization preserves the delta invariant of a reduced one-dimensional Nagata local ring.
public theorem deltaInvariant_strictHenselization
(A Ash : Type u) [CommRing A] [IsLocalRing A] [IsReduced A]
[CommRing Ash] [IsLocalRing Ash] [Algebra A Ash]
(ksep : Type v) [Field ksep] [Algebra (ResidueField A) ksep]
[IsSepClosure (ResidueField A) ksep] [IsLocalRing.IsHenselization A ksep Ash]
(hA : IsNagataRing A) (hdim : ringKrullDim A = 1) :
Ring.deltaInvariant Ash = Ring.deltaInvariant A
Stacks.Curves.deltaInvariant_adicCompletion_maximalIdeal, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/DeltaInvariant/BaseChangeDelta.lean, line 244. The attribute's comment: “completion”. References: SGA 7 X (2.26), “partial”.
Completion at the maximal ideal preserves the delta invariant of a reduced one-dimensional Nagata local ring.
public theorem deltaInvariant_adicCompletion_maximalIdeal
(A : Type u) [CommRing A] [IsLocalRing A] [IsReduced A]
(hA : IsNagataRing A) (hdim : ringKrullDim A = 1) :
Ring.deltaInvariant (AdicCompletion (maximalIdeal A) A) = Ring.deltaInvariant A
Tag 0C1T, a definition
Tag 0C1T in the Stacks Project.
Ring.deltaInvariant, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/DeltaInvariant/Defs.lean, line 31. The attribute's comment: “the invariant of a scheme at a point, as the invariant of the local ring there”. References: SGA 7 X (2.10).
The delta invariant of a commutative ring is the length of the quotient of its integral closure in its total ring of fractions by the image of the ring. For a reduced one-dimensional Nagata local ring, this quotient has finite length.
public noncomputable abbrev Ring.deltaInvariant (A : Type*) [CommRing A] : ℕ∞
Tag 0C3X, a lemma
Tag 0C3X in the Stacks Project.
AlgebraicGeometry.deltaInvariant_mul_length_quotient_le_of_flat_local_hom, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/OneDimensional/DeltaInvariantFieldChange.lean, line 226. The attribute's comment: “sharpened by the length of the closed fibre: the source states the inequality without that factor”.
The delta invariant under a flat local homomorphism, with the length of the closed fibre as a factor. For a flat local homomorphism
f : A → Bof local rings, the delta invariant ofAtimes the length ofB / 𝔪_A Bis at most the delta invariant ofB.The base change
B ⊗[A] (A'/A)injects intoB'/B, so its length boundsδ(B); the length of a base change along a flat local homomorphism is the length of the module times the length of the closed fibre (length_baseChange_eq_length_mul_length_quotient, Tag 02M1), which is the left-hand side. Dropping the factor — it is at least one — gives Tag 0C3X itself,AlgebraicGeometry.deltaInvariant_le_of_flat_local_hom.
public lemma deltaInvariant_mul_length_quotient_le_of_flat_local_hom
(A B : Type u) [CommRing A] [IsLocalRing A] [CommRing B] [IsLocalRing B]
(f : A →+* B) (hlocal : IsLocalHom f) (hflat : f.Flat) :
Ring.deltaInvariant A *
Module.length B (B ⧸ Ideal.map f (IsLocalRing.maximalIdeal A)) ≤
Ring.deltaInvariant B
AlgebraicGeometry.deltaInvariant_stalk_le_baseChange, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/OneDimensional/DeltaInvariantFieldChange.lean, line 274.
Stacks Project, Tag 0C3X. The delta invariant of a scheme locally of finite type over a field at a point cannot decrease under an extension of the ground field.
public lemma deltaInvariant_stalk_le_baseChange
(k K : Type u) [Field k] [Field K] [Algebra k K]
{X : Scheme.{u}} (f : X ⟶ Spec (.of k)) [LocallyOfFiniteType f]
(x : X)
(y : (pullback f (Spec.map (CommRingCat.ofHom (algebraMap k K))) : Scheme.{u}))
(hy : pullback.fst f (Spec.map (CommRingCat.ofHom (algebraMap k K))) y = x) :
Ring.deltaInvariant (X.presheaf.stalk x) ≤
Ring.deltaInvariant
((pullback f
(Spec.map (CommRingCat.ofHom (algebraMap k K))) : Scheme.{u}).presheaf.stalk y)
AlgebraicGeometry.deltaInvariant_mul_length_specialFibre_stalk_le_baseChange, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/OneDimensional/DeltaInvariantFieldChange.lean, line 303. The attribute's comment: “sharpened by the length of the special fibre of the map on local rings: the source states the inequality without that factor”.
The delta invariant of a stalk under extension of the ground field, with the length of the special fibre as a factor. The delta invariant at
xtimes the length of the quotient of the local ring at a pointyabovexby the extension of the maximal ideal atxis at most the delta invariant aty.Dropping the factor — it is at least one — gives Stacks Tag 0C3X itself,
AlgebraicGeometry.deltaInvariant_stalk_le_baseChange. Keeping it turns a delta invariant that does not grow into a bound on the special fibre: when both delta invariants equal one the quotient has length one, so the maximal ideal atxalready generates the maximal ideal aty.
public lemma deltaInvariant_mul_length_specialFibre_stalk_le_baseChange
(k K : Type u) [Field k] [Field K] [Algebra k K]
{X : Scheme.{u}} (f : X ⟶ Spec (.of k))
(y : (pullback f (Spec.map (CommRingCat.ofHom (algebraMap k K))) : Scheme.{u})) :
Ring.deltaInvariant
(X.presheaf.stalk
((pullback.fst f (Spec.map (CommRingCat.ofHom (algebraMap k K)))).base y)) *
Module.length
((pullback f (Spec.map (CommRingCat.ofHom (algebraMap k K))) :
Scheme.{u}).presheaf.stalk y)
((pullback f (Spec.map (CommRingCat.ofHom (algebraMap k K))) :
Scheme.{u}).presheaf.stalk y ⧸
Ideal.map
((pullback.fst f
(Spec.map (CommRingCat.ofHom (algebraMap k K)))).stalkMap y).hom
(IsLocalRing.maximalIdeal
(X.presheaf.stalk
((pullback.fst f
(Spec.map (CommRingCat.ofHom (algebraMap k K)))).base y)))) ≤
Ring.deltaInvariant
((pullback f
(Spec.map (CommRingCat.ofHom (algebraMap k K))) : Scheme.{u}).presheaf.stalk y)
Tag 0C3Y, a lemma
Tag 0C3Y in the Stacks Project.
AlgebraicGeometry.deltaInvariant_stalk_baseChange, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/OneDimensional/DeltaInvariantSeparableFieldChange.lean, line 701.
The delta invariant of a reduced one-dimensional point whose normalization has separable residue fields is unchanged at any one-dimensional point above it after extending the field.
public lemma deltaInvariant_stalk_baseChange
(k K : Type u) [Field k] [Field K] [Algebra k K]
{X : Scheme.{u}} (f : X ⟶ Spec (.of k)) [LocallyOfFiniteType f]
(x : X)
(y : (pullback f (Spec.map (CommRingCat.ofHom (algebraMap k K))) : Scheme.{u}))
(hy : pullback.fst f (Spec.map (CommRingCat.ofHom (algebraMap k K))) y = x)
(hred : _root_.IsReduced (X.presheaf.stalk x))
(hdimX : ringKrullDim (X.presheaf.stalk x) = 1)
(hsep :
let Xnorm := normalizationSchemeOverField k f
let ν := normalizationOverField k f
∀ x' : Xnorm, ν x' = x →
letI : Algebra k (Xnorm.residueField x') :=
((Scheme.ΓSpecIso (.of k)).inv ≫ (ν ≫ f).appTop ≫ Xnorm.Γevaluation x').hom.toAlgebra
Algebra.IsSeparableExtension k (Xnorm.residueField x'))
(hdimY : ringKrullDim
((pullback f (Spec.map (CommRingCat.ofHom (algebraMap k K))) : Scheme.{u}).presheaf.stalk y)
= 1) :
Ring.deltaInvariant (X.presheaf.stalk x) =
Ring.deltaInvariant
((pullback f
(Spec.map (CommRingCat.ofHom (algebraMap k K))) : Scheme.{u}).presheaf.stalk y)
Sources
Section33.40 The number of branches#
Section 33.40 of the Stacks Project, Tag 0C3Z. 6 tags here are carried by 8 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0C1S, a lemma
Tag 0C1S in the Stacks Project.
AlgebraicGeometry.numberOfBranches_eq_encard_normalizationFiber, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/OneDimensional/NormalizationBranches.lean, line 77. The attribute's comment: “branches”.
The number of branches at a point equals the number of points of the normalization above it.
public theorem numberOfBranches_eq_encard_normalizationFiber
(X : Scheme.{u})
(hX : ∀ U : X.Opens, IsCompact (U : Set X) → (irreducibleComponents U).Finite)
(x : X) :
AlgebraicGeometry.numberOfBranches X x =
Set.encard {y : Scheme.normalizationScheme X hX |
Scheme.normalization X hX y = x}
AlgebraicGeometry.numberOfGeometricBranches_eq_card_sigma_sepDegree_normalization, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/OneDimensional/NormalizationBranches.lean, line 112. The attribute's comment: “geometric_branches”.
The number of geometric branches at a point is the sum, over the points of the normalization above it, of the separable degrees of the corresponding residue-field extensions, interpreted as the extended cardinality of the sigma type of these multiplicities.
public theorem numberOfGeometricBranches_eq_card_sigma_sepDegree_normalization
(X : Scheme.{u})
(hX : ∀ U : X.Opens, IsCompact (U : Set X) → (irreducibleComponents U).Finite)
(x : X) :
AlgebraicGeometry.numberOfGeometricBranches X x =
ENat.card (Σ y : {y : Scheme.normalizationScheme X hX //
Scheme.normalization X hX y = x},
letI := (((X.residueFieldCongr y.property).inv ≫
(Scheme.normalization X hX).residueFieldMap y).hom).toAlgebra
(Field.sepDegree (X.residueField x)
((Scheme.normalizationScheme X hX).residueField y)).ord.ToType)
Tag 0C40, a lemma
Tag 0C40 in the Stacks Project.
AlgebraicGeometry.numberOfGeometricBranches_baseChange_fieldExtension, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/OneDimensional/GeometricBranchesFieldChange.lean, line 1030.
The number of geometric branches at a point of a scheme locally of finite type over a field is unchanged after extending the ground field and choosing a point above it.
public theorem numberOfGeometricBranches_baseChange_fieldExtension
(k K : Type u) [Field k] [Field K] [Algebra k K]
(X : Scheme.{u}) (f : X ⟶ Spec (.of k)) [LocallyOfFiniteType f]
(x : X)
(y : (pullback f (Spec.map (CommRingCat.ofHom (algebraMap k K))) : Scheme.{u}))
(hy : (pullback.fst f (Spec.map (CommRingCat.ofHom (algebraMap k K)))).base y = x) :
AlgebraicGeometry.numberOfGeometricBranches X x =
AlgebraicGeometry.numberOfGeometricBranches
(pullback f (Spec.map (CommRingCat.ofHom (algebraMap k K))) : Scheme.{u}) y
Tag 0C55, a lemma
Tag 0C55 in the Stacks Project.
AlgebraicGeometry.isGeometricallyUnibranchAt_iff_of_fieldExtension, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/OneDimensional/GeometricBranchesFieldChange.lean, line 1125. References: EGA IV (6.15.7), “loc. finite type, at x”.
Stacks Project, Tag 0C55. Geometric unibranchness at a point is invariant under extension of the ground field for a scheme locally of finite type over that field.
public theorem isGeometricallyUnibranchAt_iff_of_fieldExtension
(k K : Type u) [Field k] [Field K] [Algebra k K]
(X : Scheme.{u}) (f : X ⟶ Spec (.of k)) [LocallyOfFiniteType f]
(x : X)
(y : (pullback f (Spec.map (CommRingCat.ofHom (algebraMap k K))) : Scheme.{u}))
(hy : (pullback.fst f (Spec.map (CommRingCat.ofHom (algebraMap k K)))).base y = x) :
IsGeometricallyUnibranchAt X x ↔
IsGeometricallyUnibranchAt
(pullback f (Spec.map (CommRingCat.ofHom (algebraMap k K))) : Scheme.{u}) y
Tag 0C41, a definition
Tag 0C41 in the Stacks Project.
IsLocalRing.IsWedge, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/Branches/Wedge.lean, line 65.
A local ring
Ais a wedge of the nonempty finite familyBif their residue fields can be identified andAis isomorphic to the subring of the product consisting of tuples with a common residue.
public def IsWedge (A : Type u) {n : ℕ} (B : Fin (n + 1) → Type v)
[CommRing A] [IsLocalRing A] [∀ i, CommRing (B i)] [∀ i, IsLocalRing (B i)] : Prop
Tag 0C42, a lemma
Tag 0C42 in the Stacks Project.
Ring.deltaInvariant_ge_numberOfGeometricBranches_sub_one_of_strictlyHenselian, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/OneDimensional/DeltaBranchBound.lean, line 78. The attribute's comment: “delta_ge_branches_sub_one”.
The delta invariant of a strictly henselian reduced Nagata local ring is at least the number of its geometric branches minus one.
public lemma deltaInvariant_ge_numberOfGeometricBranches_sub_one_of_strictlyHenselian
(A : Type u) [CommRing A] [IsReduced A]
[StrictlyHenselianLocalRing A]
(hA : IsNagataRing A) :
Ring.deltaInvariant A ≥
numberOfGeometricBranchesOfLocalRing A - 1
Ring.exists_isWedge_of_deltaInvariant_eq_numberOfGeometricBranches_sub_one, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/OneDimensional/DeltaBranchBound.lean, line 350. The attribute's comment: “equality_implies_wedge”.
A strictly henselian, reduced, one-dimensional Nagata local ring attaining the lower bound for its delta invariant is a wedge of a nonempty finite family of strictly henselian discrete valuation rings.
public theorem exists_isWedge_of_deltaInvariant_eq_numberOfGeometricBranches_sub_one
(A : Type u) [CommRing A] [IsReduced A]
[StrictlyHenselianLocalRing A]
(hA : IsNagataRing A) (hdim : ringKrullDim A = 1)
(hdelta : Ring.deltaInvariant A =
numberOfGeometricBranchesOfLocalRing A - 1) :
∃ (n : ℕ) (B : Fin (n + 1) → Type u)
(_ : ∀ i, CommRing (B i)) (_ : ∀ i, IsDomain (B i))
(_ : ∀ i, IsLocalRing (B i)) (_ : ∀ i, IsDiscreteValuationRing (B i))
(_ : ∀ i, StrictlyHenselianLocalRing (B i)),
IsLocalRing.IsWedge A B
Tag 0C43, a lemma
Tag 0C43 in the Stacks Project.
Ring.deltaInvariant_ge_numberOfGeometricBranches_sub_one, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/DeltaBranches/LowerBound.lean, line 65.
The delta invariant of a reduced one-dimensional Nagata local ring is at least the number of its geometric branches minus one.
public lemma deltaInvariant_ge_numberOfGeometricBranches_sub_one
(A : Type*) [CommRing A] [IsLocalRing A] [IsReduced A]
(hA : IsNagataRing A) (hdim : ringKrullDim A = 1) :
Ring.deltaInvariant A ≥
numberOfGeometricBranchesOfLocalRing A - 1
Sources
Section33.41 Normalization of one dimensional schemes#
Section 33.41 of the Stacks Project, Tag 0C44. 2 tags here are carried by 20 declarations of the repository (all in StacksFrontier) and 9 registered declarations, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0C45, a lemma
Tag 0C45 in the Stacks Project.
AlgebraicGeometry.normalization_of_isLocallyNoetherian_dimension_one, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/OneDimensional/NormalizationNoetherianDimensionOne.lean, line 140. References: EGA IV (18.9.7.8), “more general”.
Stacks Project, Tag 0C45. Let
Xbe a locally Noetherian scheme of dimension1and letν : X^ν → Xbe its normalization. Then
νis integral, surjective, and induces a bijection on irreducible components,- there is a factorization
X^ν → X_red → Xand the morphismX^ν → X_redis the normalization ofX_red,X^ν → X_redis birational,- for every closed point
x ∈ Xthe stalk(ν_* 𝒪_{X^ν})_xis the integral closure of𝒪_{X,x}in the total ring of fractions of(𝒪_{X,x})_red = 𝒪_{X_red,x},- the fibres of
νare finite and the residue field extensions are finite,X^νis a disjoint union of integral normal locally Noetherian schemes and each affine open is the spectrum of a finite product of Dedekind domains.
theorem normalization_of_isLocallyNoetherian_dimension_one (X : Scheme.{u})
[IsLocallyNoetherian X] (hdim : topologicalKrullDim X = 1) :
-- (1)
(IsIntegralHom X.normalizationOfIsLocallyNoetherian ∧
Surjective X.normalizationOfIsLocallyNoetherian ∧
Set.BijOn (fun C ↦ closure (X.normalizationOfIsLocallyNoetherian.base '' C))
(irreducibleComponents X.normalizationSchemeOfIsLocallyNoetherian)
(irreducibleComponents X)) ∧
-- (2) and (3)
(∃ g : X.normalizationSchemeOfIsLocallyNoetherian ⟶ X.nilradical.subscheme,
g ≫ X.nilradical.subschemeι = X.normalizationOfIsLocallyNoetherian ∧
IsBirational g ∧
∃ e : X.normalizationSchemeOfIsLocallyNoetherian ≅
X.nilradical.subscheme.normalizationScheme
(X.finite_irreducibleComponents_reduction
(finite_irreducibleComponents_of_isCompact X)),
e.hom ≫ X.nilradical.subscheme.normalization
(X.finite_irreducibleComponents_reduction
(finite_irreducibleComponents_of_isCompact X)) = g) ∧
-- (4)
(∀ x : X, IsClosed ({x} : Set X) →
letI := normalizationPushforwardStalkAlgebra X
(finite_irreducibleComponents_of_isCompact X) x
letI : Algebra (X.presheaf.stalk x)
(FractionRing (X.presheaf.stalk x ⧸ nilradical (X.presheaf.stalk x))) :=
(reductionFractionRingHom (X.presheaf.stalk x)).toAlgebra
Nonempty (normalizationPushforwardStalk X
(finite_irreducibleComponents_of_isCompact X) x ≃ₐ[X.presheaf.stalk x]
integralClosure (X.presheaf.stalk x)
(FractionRing (X.presheaf.stalk x ⧸ nilradical (X.presheaf.stalk x)))) ∧
∀ z : X.nilradical.subscheme, X.nilradical.subschemeι z = x →
Nonempty ((X.presheaf.stalk x ⧸ nilradical (X.presheaf.stalk x)) ≃+*
X.nilradical.subscheme.presheaf.stalk z)) ∧
-- (5)
((∀ x : X, (X.normalizationOfIsLocallyNoetherian.base ⁻¹' {x}).Finite) ∧
∀ y : X.normalizationSchemeOfIsLocallyNoetherian,
(X.normalizationOfIsLocallyNoetherian.residueFieldMap y).hom.Finite) ∧
-- (6)
((∃ (ι : Type u) (Y : ι → Scheme.{u}) (_ : ∀ i, IsIntegral (Y i))
(_ : ∀ i, IsNormal (Y i)) (_ : ∀ i, IsLocallyNoetherian (Y i)),
Nonempty (X.normalizationSchemeOfIsLocallyNoetherian ≅ ∐ Y)) ∧
∀ W : X.normalizationSchemeOfIsLocallyNoetherian.Opens, IsAffineOpen W →
Stacks.IsFiniteProductOfDedekindDomains
Γ(X.normalizationSchemeOfIsLocallyNoetherian, W))
Tag 0C1R, a lemma
Tag 0C1R in the Stacks Project.
AlgebraicGeometry.Scheme.isBirational_normalization_morphismRestrict, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/Birational/RestrictOpen.lean, line 104. The attribute's comment: “finite_normalization”.
Stacks Project, Tag 0C1R. Over every open of a reduced scheme, the normalization morphism is birational.
public theorem isBirational_normalization_morphismRestrict (X : Scheme.{u}) [IsReduced X]
(hX : ∀ U : X.Opens, IsCompact (U : Set X) → (irreducibleComponents U).Finite)
(V : X.Opens) : IsBirational (X.normalization hX ∣_ V)
Stacks.AlgebraicGeometry.NormalizationQuotient.existsUnique_linearEquiv_quotient_adicCompletion_normalizationPushforwardStalk, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/NormalizationQuotient/Completion.lean, line 138. The attribute's comment: “quotient_completion”.
Stacks Project, Tag 0C1R. Let
Xbe a reduced scheme of dimension one with normalizationν, letx ∈ X, writeA = 𝒪_{X,x}andA' = (ν_* 𝒪_{X^ν})_x, and complete at the maximal ideal ofA. There is exactly oneA-linear isomorphismA'/A ≅ A'^∧/A^∧compatible with the canonical maps to the completions.The closedness of the point assumed in the source is not used; the dimension hypothesis is.
public theorem existsUnique_linearEquiv_quotient_adicCompletion_normalizationPushforwardStalk
(X : Scheme.{u}) [IsReduced X] (hNagata : IsNagataScheme X)
(hdim : topologicalKrullDim X = 1)
(hX : ∀ U : X.Opens, IsCompact (U : Set X) → (irreducibleComponents U).Finite) (x : X) :
letI : Algebra (X.presheaf.stalk x) (normalizationPushforwardStalk X hX x) :=
normalizationPushforwardStalkAlgebra X hX x
∃! e :
(normalizationPushforwardStalk X hX x ⧸
LinearMap.range (Algebra.linearMap (X.presheaf.stalk x)
(normalizationPushforwardStalk X hX x))) ≃ₗ[X.presheaf.stalk x]
(AdicCompletion (IsLocalRing.maximalIdeal (X.presheaf.stalk x))
(normalizationPushforwardStalk X hX x) ⧸
LinearMap.range (AdicCompletion.map
(IsLocalRing.maximalIdeal (X.presheaf.stalk x))
(Algebra.linearMap (X.presheaf.stalk x)
(normalizationPushforwardStalk X hX x)))),
∀ a : normalizationPushforwardStalk X hX x,
e (Submodule.mkQ _ a) = Submodule.mkQ _
(AdicCompletion.of (IsLocalRing.maximalIdeal (X.presheaf.stalk x))
(normalizationPushforwardStalk X hX x) a)
Stacks.AlgebraicGeometry.NormalizationQuotient.normalizationQuotient_iso_coproduct_skyscraperModule, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/NormalizationQuotient/DirectSum.lean, line 60. The attribute's comment: “quotient_sheaf”.
Stacks Project, Tag 0C1R(2). For a reduced Nagata scheme of dimension one the quotient
ν_* 𝒪_{X^ν} / 𝒪_Xis the direct sum of the skyscraper sheaves of its stalks at the singular points: the quotient's stalk vanishes at every regular point, and the singular locus is closed and discrete.
public theorem normalizationQuotient_iso_coproduct_skyscraperModule (X : Scheme.{u})
[IsReduced X] (hX : IsNagataScheme X) (hdim : topologicalKrullDim X = 1) :
Nonempty
(normalizationQuotient X (finite_irreducibleComponents_of_isNagataScheme X hX) ≅
∐ fun z : singularLocus X =>
skyscraperModule X z.1
(normalizationQuotientStalk X
(finite_irreducibleComponents_of_isNagataScheme X hX) z.1))
Stacks.AlgebraicGeometry.NormalizationQuotient.normalizationQuotientStalk_linearEquiv_quotient_range, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/NormalizationQuotient/StalkLength.lean, line 441. The attribute's comment: “delta_length”.
Stacks Project, Tag 0C1R. The stalk of the normalization quotient
ν_* 𝒪_{X^ν} / 𝒪_Xat a point of a reduced scheme is the normalization stalk modulo the image of the local ring.Neither the Nagata hypothesis, nor the dimension of
X, nor closedness of the point is needed.
public theorem normalizationQuotientStalk_linearEquiv_quotient_range
(X : Scheme.{u}) [IsReduced X]
(hX : ∀ U : X.Opens, IsCompact (U : Set X) → (irreducibleComponents U).Finite) (x : X) :
letI : Algebra (X.presheaf.stalk x) (normalizationPushforwardStalk X hX x) :=
normalizationPushforwardStalkAlgebra X hX x
Nonempty (normalizationQuotientStalk X hX x ≃ₗ[X.presheaf.stalk x]
(normalizationPushforwardStalk X hX x ⧸
LinearMap.range (Algebra.linearMap (X.presheaf.stalk x)
(normalizationPushforwardStalk X hX x))))
Stacks.AlgebraicGeometry.NormalizationQuotient.length_normalizationQuotientStalk, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/NormalizationQuotient/StalkLength.lean, line 582. The attribute's comment: “delta_length”.
Stacks Project, Tag 0C1R. The length of the stalk of the normalization quotient is the delta invariant of the local ring.
Neither the Nagata hypothesis, nor the dimension of
X, nor closedness of the point is needed; without them both sides may be infinite.
public theorem length_normalizationQuotientStalk (X : Scheme.{u}) [IsReduced X]
(hX : ∀ U : X.Opens, IsCompact (U : Set X) → (irreducibleComponents U).Finite) (x : X) :
Module.length (X.presheaf.stalk x) (normalizationQuotientStalk X hX x) =
Ring.deltaInvariant (X.presheaf.stalk x)
Stacks.AlgebraicGeometry.NormalizationQuotient.isFiniteLength_normalizationQuotientStalk, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/NormalizationQuotient/StalkLength.lean, line 625. The attribute's comment: “delta_length”.
Stacks Project, Tag 0C1R. On a reduced Nagata scheme of dimension one the stalk of the normalization quotient has finite length.
Closedness of the point is not needed, and the dimension hypothesis is used only through the dimension of the local ring at
x.
public theorem isFiniteLength_normalizationQuotientStalk (X : Scheme.{u}) [IsReduced X]
(hNagata : IsNagataScheme X) (hdim : topologicalKrullDim X = 1)
(hX : ∀ U : X.Opens, IsCompact (U : Set X) → (irreducibleComponents U).Finite) (x : X) :
IsFiniteLength (X.presheaf.stalk x) (normalizationQuotientStalk X hX x)
Stacks.AlgebraicGeometry.NormalizationQuotientDirectSum.normalizationQuotientIsoCoproductSkyscraper, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/NormalizationQuotientDirectSum/Basic.lean, line 41. The attribute's comment: “quotient_sheaf”.
For a reduced Nagata scheme
Xof dimension one, the normalization quotient ofXis isomorphic to the direct sum, over the singular pointsxofX, of the skyscraper modules atxof its stalks.
public theorem normalizationQuotientIsoCoproductSkyscraper (X : Scheme.{u}) [IsReduced X]
(hX : IsNagataScheme X) (hdim : topologicalKrullDim X = 1) :
Nonempty
(normalizationQuotient X
(Stacks.AlgebraicGeometry.Normalization.finite_irreducibleComponents_of_isNagataScheme
X hX) ≅
∐ fun x : singularLocus X =>
skyscraperModule X x.1
(normalizationQuotientStalk X
(Stacks.AlgebraicGeometry.Normalization.finite_irreducibleComponents_of_isNagataScheme
X hX) x.1))
AlgebraicGeometry.existsUnique_algHom_normalizationPushforwardStalk_fractionRing, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/NormalizationStalkAmbient/UniqueEmbedding.lean, line 108. The attribute's comment: “normalization_stalk”.
Stacks Project, Tag 0C1R. At a point of a reduced scheme the stalk of the pushforward of the structure sheaf of the normalization carries exactly one injective algebra map into the total ring of fractions of the local ring whose image is the integral closure: the canonical embedding of the normalization stalk.
Neither the dimension-one hypothesis nor the closedness of the point is used, and the Nagata hypothesis of the source enters only through the finiteness of irreducible components needed to form the normalization.
public theorem existsUnique_algHom_normalizationPushforwardStalk_fractionRing
(X : Scheme.{u}) [IsReduced X]
(hX : ∀ U : X.Opens, IsCompact (U : Set X) → (irreducibleComponents U).Finite) (x : X) :
letI : Algebra (X.presheaf.stalk x) (normalizationPushforwardStalk X hX x) :=
normalizationPushforwardStalkAlgebra X hX x
∃! f : normalizationPushforwardStalk X hX x →ₐ[X.presheaf.stalk x]
FractionRing (X.presheaf.stalk x),
Function.Injective f ∧
f.range = integralClosure (X.presheaf.stalk x) (FractionRing (X.presheaf.stalk x))
AlgebraicGeometry.exists_pi_isDiscreteValuationRing_adicCompletion_normalizationStalk, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/OneDimensional/NormalizationStalkCompletion.lean, line 417. The attribute's comment: “complete_dvr_product”.
Stacks Project, Tag 0C1R. At a point of a reduced Nagata scheme whose local ring has dimension one, the completion of the stalk of the pushforward of the structure sheaf of the normalization, along the ideal generated by the maximal ideal of the local ring, is a nonempty finite product of complete discrete valuation rings.
Neither the dimension of
Xnor the closedness of the point is needed: the dimension hypothesis of the source enters only through the dimension of the local ring atx.
public theorem exists_pi_isDiscreteValuationRing_adicCompletion_normalizationStalk
(X : Scheme.{u}) [IsReduced X] (hNagata : IsNagataScheme X)
(hX : ∀ U : X.Opens, IsCompact (U : Set X) → (irreducibleComponents U).Finite) (x : X)
(hxdim : ringKrullDim (X.presheaf.stalk x) = 1) :
letI : Algebra (X.presheaf.stalk x) (normalizationPushforwardStalk X hX x) :=
normalizationPushforwardStalkAlgebra X hX x
∃ (n : ℕ) (D : Fin n → Type u) (_ : ∀ i, CommRing (D i)) (_ : ∀ i, IsDomain (D i))
(_ : ∀ i, IsDiscreteValuationRing (D i)),
0 < n ∧ (∀ i, IsAdicComplete (maximalIdeal (D i)) (D i)) ∧
Nonempty (AdicCompletion
((maximalIdeal (X.presheaf.stalk x)).map
(algebraMap (X.presheaf.stalk x) (normalizationPushforwardStalk X hX x)))
(normalizationPushforwardStalk X hX x) ≃+* ∀ i, D i)
AlgebraicGeometry.exists_injective_range_eq_integralClosure_adicCompletion_normalizationStalk, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/OneDimensional/NormalizationStalkCompletion.lean, line 471. The attribute's comment: “normalization_after_completion”. References: EGA IV (7.6.1), “special case”.
Stacks Project, Tag 0C1R. Completing the stalk of the pushforward of the structure sheaf of the normalization of a reduced one-dimensional Nagata scheme, along the ideal generated by the maximal ideal of the local ring at the point, gives the integral closure of the completed local ring in its own total ring of fractions.
The two compatibility equations say that the resulting embedding extends the structure map of the completed local ring and the given embedding
f₀of the normalization stalk; the embeddingf₀exists and is unique byexistsUnique_algHom_normalizationPushforwardStalk_fractionRing.Closedness of the point is not needed. The points whose local ring is zero-dimensional are covered: there the local ring is a field and both completions are trivial.
public theorem exists_injective_range_eq_integralClosure_adicCompletion_normalizationStalk
(X : Scheme.{u}) [IsReduced X] (hNagata : IsNagataScheme X)
(hdim : topologicalKrullDim X = 1)
(hX : ∀ U : X.Opens, IsCompact (U : Set X) → (irreducibleComponents U).Finite) (x : X) :
letI : Algebra (X.presheaf.stalk x) (normalizationPushforwardStalk X hX x) :=
normalizationPushforwardStalkAlgebra X hX x
let A := X.presheaf.stalk x
let A' := normalizationPushforwardStalk X hX x
let Ac := AdicCompletion (maximalIdeal A) A
let J := (maximalIdeal A).map (algebraMap A A')
let C := AdicCompletion J A'
let k : Ac →+* C := adicCompletionMap (algebraMap A A') (maximalIdeal A) J le_rfl
∀ f₀ : A' →ₐ[A] FractionRing A, Function.Injective f₀ →
f₀.range = integralClosure A (FractionRing A) →
∃ q : FractionRing A →+* FractionRing Ac,
(∀ a : A, q (algebraMap A (FractionRing A) a) =
algebraMap Ac (FractionRing Ac) (algebraMap A Ac a)) ∧
∃ g : C →+* FractionRing Ac,
Function.Injective g ∧
g.range = (integralClosure Ac (FractionRing Ac)).toSubring ∧
(∀ y : Ac, g (k y) = algebraMap Ac (FractionRing Ac) y) ∧
(∀ a' : A', g (algebraMap A' C a') = q (f₀ a'))
AlgebraicGeometry.Scheme.isFinite_surjective_isBirational_normalization, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/OneDimensional/PrepareDeltaInvariant.lean, line 85. The attribute's comment: “part (1): ν is finite, surjective and birational”. References: EGA II (6.3.8), “special case”.
Stacks Project, Tag 0C1R, part (1). The normalization
ν : X^ν ⟶ Xof a reduced Nagata scheme is finite, surjective and birational.The dimension of
Xis not used.
public theorem isFinite_surjective_isBirational_normalization (X : Scheme.{u}) [IsReduced X]
(hX : IsNagataScheme X) :
IsFinite (X.normalization (finite_irreducibleComponents_of_isNagataScheme X hX)) ∧
Surjective (X.normalization (finite_irreducibleComponents_of_isNagataScheme X hX)) ∧
IsBirational (X.normalization (finite_irreducibleComponents_of_isNagataScheme X hX))
AlgebraicGeometry.normalizationQuotient_mono_iso_coproduct_skyscraperModule, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/OneDimensional/PrepareDeltaInvariant.lean, line 120. The attribute's comment: “part (2): O_X ⊂ ν_*O, the quotient a sum of skyscrapers Q_x at singular points”.
Stacks Project, Tag 0C1R, part (2). For a reduced Nagata scheme
Xof dimension one,𝒪_X ⊂ ν_* 𝒪_{X^ν}— the map is a monomorphism both of sheaves of rings and of𝒪_X-modules — and the quotientν_* 𝒪_{X^ν} / 𝒪_Xis the direct sum, over the singular pointsxofX, of the skyscraper sheaves atxwith value𝒬_x, the stalk of the quotient atx; that stalk is nonzero exactly at the singular points.
public theorem normalizationQuotient_mono_iso_coproduct_skyscraperModule (X : Scheme.{u})
[IsReduced X] (hX : IsNagataScheme X) (hdim : topologicalKrullDim X = 1) :
Mono (Scheme.Hom.toRingCatSheafHom
(X.normalization (finite_irreducibleComponents_of_isNagataScheme X hX))) ∧
Mono (normalizationModuleMap X (finite_irreducibleComponents_of_isNagataScheme X hX)) ∧
Nonempty
(normalizationQuotient X (finite_irreducibleComponents_of_isNagataScheme X hX) ≅
∐ fun z : singularLocus X =>
skyscraperModule X z.1
(normalizationQuotientStalk X
(finite_irreducibleComponents_of_isNagataScheme X hX) z.1)) ∧
∀ x : X, ¬ IsZero (normalizationQuotientStalk X
(finite_irreducibleComponents_of_isNagataScheme X hX) x) ↔ x ∈ singularLocus X
AlgebraicGeometry.normalizationQuotientStalk_finiteLength_eq_deltaInvariant, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/OneDimensional/PrepareDeltaInvariant.lean, line 144. The attribute's comment: “part (4): Q_x = A'/A has finite length equal to the δ-invariant”.
Stacks Project, Tag 0C1R, part (4). On a reduced Nagata scheme of dimension one, the stalk
𝒬_xofν_* 𝒪_{X^ν} / 𝒪_XatxisA' / A, whereA = 𝒪_{X,x}andA' = (ν_* 𝒪_{X^ν})_x; it has finite length overA, and that length is theδ-invariant ofXatx.
public theorem normalizationQuotientStalk_finiteLength_eq_deltaInvariant (X : Scheme.{u})
[IsReduced X] (hX : IsNagataScheme X) (hdim : topologicalKrullDim X = 1) (x : X) :
letI : Algebra (X.presheaf.stalk x)
(normalizationPushforwardStalk X (finite_irreducibleComponents_of_isNagataScheme X hX) x) :=
normalizationPushforwardStalkAlgebra X _ x
Nonempty (normalizationQuotientStalk X (finite_irreducibleComponents_of_isNagataScheme X hX) x
≃ₗ[X.presheaf.stalk x]
(normalizationPushforwardStalk X (finite_irreducibleComponents_of_isNagataScheme X hX) x ⧸
LinearMap.range (Algebra.linearMap (X.presheaf.stalk x)
(normalizationPushforwardStalk X
(finite_irreducibleComponents_of_isNagataScheme X hX) x)))) ∧
IsFiniteLength (X.presheaf.stalk x)
(normalizationQuotientStalk X (finite_irreducibleComponents_of_isNagataScheme X hX) x) ∧
Module.length (X.presheaf.stalk x)
(normalizationQuotientStalk X (finite_irreducibleComponents_of_isNagataScheme X hX) x) =
Ring.deltaInvariant (X.presheaf.stalk x)
AlgebraicGeometry.normalizationPushforwardStalk_semilocal_finiteProductOfDedekindDomains, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/OneDimensional/PrepareDeltaInvariant.lean, line 170. The attribute's comment: “part (5): A' is semi-local and a finite product of Dedekind domains”.
Stacks Project, Tag 0C1R, part (5). On a Nagata scheme of dimension one, the stalk
A' = (ν_* 𝒪_{X^ν})_xis a semi-local ring — it has finitely many maximal ideals — which is a finite product of Dedekind domains.Reducedness of
Xis not used.
public theorem normalizationPushforwardStalk_semilocal_finiteProductOfDedekindDomains
(X : Scheme.{u}) (hX : IsNagataScheme X) (hdim : topologicalKrullDim X = 1) (x : X) :
Finite (MaximalSpectrum
(normalizationPushforwardStalk X (finite_irreducibleComponents_of_isNagataScheme X hX) x)) ∧
IsDiscreteValuationRing.IsFiniteProductOfDedekindDomains
(normalizationPushforwardStalk X (finite_irreducibleComponents_of_isNagataScheme X hX) x)
AlgebraicGeometry.adicCompletion_stalk_reduced_noetherian_complete_local_dim_one, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/OneDimensional/PrepareDeltaInvariant.lean, line 188. The attribute's comment: “part (6): A^ is reduced Noetherian complete local of dimension 1 (dim A = 1)”. References: EGA IV (7.3.19), “dim(Â)=1”.
Stacks Project, Tag 0C1R, part (6), at a point whose local ring has dimension one. For a reduced Nagata scheme
Xand a pointxwithdim 𝒪_{X,x} = 1, the completionA^∧ofA = 𝒪_{X,x}at its maximal ideal is a reduced Noetherian complete local ring of dimension one.The hypothesis on
dim 𝒪_{X,x}corrects the source: at a closed point of a one-dimensional scheme whose local ring is a field (an isolated point),A^∧ = Ahas dimension zero. Everything except the dimension holds without it.
public theorem adicCompletion_stalk_reduced_noetherian_complete_local_dim_one (X : Scheme.{u})
[IsReduced X] (hX : IsNagataScheme X) (x : X)
(hxdim : ringKrullDim (X.presheaf.stalk x) = 1) :
_root_.IsReduced (AdicCompletion (maximalIdeal (X.presheaf.stalk x)) (X.presheaf.stalk x)) ∧
IsNoetherianRing (AdicCompletion (maximalIdeal (X.presheaf.stalk x)) (X.presheaf.stalk x)) ∧
∃ _ : IsLocalRing
(AdicCompletion (maximalIdeal (X.presheaf.stalk x)) (X.presheaf.stalk x)),
IsAdicComplete
(maximalIdeal
(AdicCompletion (maximalIdeal (X.presheaf.stalk x)) (X.presheaf.stalk x)))
(AdicCompletion (maximalIdeal (X.presheaf.stalk x)) (X.presheaf.stalk x)) ∧
ringKrullDim
(AdicCompletion (maximalIdeal (X.presheaf.stalk x)) (X.presheaf.stalk x)) = 1
AlgebraicGeometry.adicCompletion_stalk_reduced_noetherian_complete_local_ringKrullDim_eq, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/OneDimensional/PrepareDeltaInvariant.lean, line 218. The attribute's comment: “part (6) at every point: A^ reduced Noetherian complete local, dim A^ = dim A ≤ 1”. References: EGA IV (7.3.19), “dim(Â)=1”.
Stacks Project, Tag 0C1R, part (6), at every point. Let
Xbe a reduced Nagata scheme of dimension one,x ∈ XandA = 𝒪_{X,x}. The completionA^∧ofAat its maximal ideal is a reduced Noetherian complete local ring withdim A^∧ = dim A; moreoverdim A ≤ 1, withdim A = 1exactly whenAis not a field. So the source's "of dimension 1" is precisely the casedim A = 1, the oneadicCompletion_stalk_reduced_noetherian_complete_local_dim_onestates.Part (6) as printed fails when
Ais a field, which happens at an isolated point: the schemeX = Spec (k × k[t])is reduced, Nagata and of dimension one, its pointSpec kis closed, and thereA = A^∧ = khas dimension zero. Neither closedness ofxnor any hypothesis ondim Ais used.
public theorem adicCompletion_stalk_reduced_noetherian_complete_local_ringKrullDim_eq
(X : Scheme.{u}) [IsReduced X] (hX : IsNagataScheme X) (hdim : topologicalKrullDim X = 1)
(x : X) :
_root_.IsReduced (AdicCompletion (maximalIdeal (X.presheaf.stalk x)) (X.presheaf.stalk x)) ∧
IsNoetherianRing (AdicCompletion (maximalIdeal (X.presheaf.stalk x)) (X.presheaf.stalk x)) ∧
(∃ _ : IsLocalRing
(AdicCompletion (maximalIdeal (X.presheaf.stalk x)) (X.presheaf.stalk x)),
IsAdicComplete
(maximalIdeal
(AdicCompletion (maximalIdeal (X.presheaf.stalk x)) (X.presheaf.stalk x)))
(AdicCompletion (maximalIdeal (X.presheaf.stalk x)) (X.presheaf.stalk x)) ∧
ringKrullDim
(AdicCompletion (maximalIdeal (X.presheaf.stalk x)) (X.presheaf.stalk x)) =
ringKrullDim (X.presheaf.stalk x)) ∧
ringKrullDim (X.presheaf.stalk x) ≤ 1 ∧
(ringKrullDim (X.presheaf.stalk x) = 1 ↔ ¬ IsField (X.presheaf.stalk x))
AlgebraicGeometry.exists_injective_range_eq_integralClosure_adicCompletion_normalizationStalk_of_isNagataScheme, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/OneDimensional/PrepareDeltaInvariant.lean, line 266. The attribute's comment: “part (7): (A')^ is the integral closure of A^ in its total ring of fractions”.
Stacks Project, Tag 0C1R, part (7). Let
Xbe a reduced Nagata scheme of dimension one,A = 𝒪_{X,x}andA' = (ν_* 𝒪_{X^ν})_x. The completion(A')^∧ofA'along𝔪_A A'is the integral closure ofA^∧in its total ring of fractions: there is an injective ring map(A')^∧ → Frac(A^∧)extending the structure map ofA^∧, whose image is the integral closure ofA^∧inFrac(A^∧).Closedness of the point is not needed.
public theorem
exists_injective_range_eq_integralClosure_adicCompletion_normalizationStalk_of_isNagataScheme
(X : Scheme.{u}) [IsReduced X] (hX : IsNagataScheme X) (hdim : topologicalKrullDim X = 1)
(x : X) :
letI : Algebra (X.presheaf.stalk x)
(normalizationPushforwardStalk X (finite_irreducibleComponents_of_isNagataScheme X hX) x) :=
normalizationPushforwardStalkAlgebra X _ x
let A := X.presheaf.stalk x
let A' :=
normalizationPushforwardStalk X (finite_irreducibleComponents_of_isNagataScheme X hX) x
let Ac := AdicCompletion (maximalIdeal A) A
let J := (maximalIdeal A).map (algebraMap A A')
let C := AdicCompletion J A'
let k : Ac →+* C := adicCompletionMap (algebraMap A A') (maximalIdeal A) J le_rfl
∃ g : C →+* FractionRing Ac,
Function.Injective g ∧
g.range = (integralClosure Ac (FractionRing Ac)).toSubring ∧
∀ y : Ac, g (k y) = algebraMap Ac (FractionRing Ac) y
AlgebraicGeometry.finite_maximalSpectrum_normalizationPushforwardStalk, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/OneDimensional/SemilocalDedekind.lean, line 151. The attribute's comment: “semilocal_dedekind”.
Stacks Project, Tag 0C1R. The stalk of the pushforward of the structure sheaf of the normalization of a Nagata scheme is semilocal: it has finitely many maximal ideals.
The point is not assumed closed, and the dimension hypothesis of the source is not used.
public theorem finite_maximalSpectrum_normalizationPushforwardStalk
(X : Scheme.{u}) (hNagata : IsNagataScheme X)
(hX : ∀ U : X.Opens, IsCompact (U : Set X) → (irreducibleComponents U).Finite) (x : X) :
letI : Algebra (X.presheaf.stalk x) (normalizationPushforwardStalk X hX x) :=
normalizationPushforwardStalkAlgebra X hX x
Finite (MaximalSpectrum (normalizationPushforwardStalk X hX x))
AlgebraicGeometry.isFiniteProductOfDedekindDomains_normalizationPushforwardStalk, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/OneDimensional/SemilocalDedekind.lean, line 174. The attribute's comment: “semilocal_dedekind”.
Stacks Project, Tag 0C1R. On a Nagata scheme of dimension one, the stalk of the pushforward of the structure sheaf of the normalization is a finite product of Dedekind domains.
The point is not assumed closed.
public theorem isFiniteProductOfDedekindDomains_normalizationPushforwardStalk
(X : Scheme.{u}) (hNagata : IsNagataScheme X) (hdim : topologicalKrullDim X = 1)
(hX : ∀ U : X.Opens, IsCompact (U : Set X) → (irreducibleComponents U).Finite) (x : X) :
IsDiscreteValuationRing.IsFiniteProductOfDedekindDomains
(normalizationPushforwardStalk X hX x)
Declarations registered for the tag:
AlgebraicGeometry.Scheme.isFinite_normalization, declared in the repository, registered withadd_to_stacksin StacksFrontier/AlgebraicGeometry/Morphisms/Birational/RestrictOpen.lean, line 113 (StacksFrontier): “finite_normalization”.AlgebraicGeometry.Scheme.surjective_normalization, declared in the repository, registered withadd_to_stacksin StacksFrontier/AlgebraicGeometry/Morphisms/Birational/RestrictOpen.lean, line 114 (StacksFrontier): “finite_normalization”.Stacks.AlgebraicGeometry.Normalization.mono_toRingCatSheafHom_normalization, declared in the repository, registered withadd_to_stacksin StacksFrontier/AlgebraicGeometry/NormalizationQuotient/DirectSum.lean, line 77 (StacksFrontier): “quotient_sheaf”.normalizationQuotientStalk_nonzero_iff_mem_singularLocusregistered withadd_to_stacksin StacksFrontier/AlgebraicGeometry/NormalizationQuotient/DirectSum.lean, line 80 (StacksFrontier): “quotient_sheaf”.AdicCompletion.isNoetherianRing, declared in the repository, registered withadd_to_stacksin StacksFrontier/AlgebraicGeometry/Variety/DeltaInvariant/Completion.lean, line 44 (StacksFrontier): “completed_local_ring”.AdicCompletion.isLocalRing_of_fgregistered withadd_to_stacksin StacksFrontier/AlgebraicGeometry/Variety/DeltaInvariant/Completion.lean, line 45 (StacksFrontier): “completed_local_ring”. References: EGA IV (8.11.4), “Â is a local ring”; SGA 3 VIIB (0.1.1), “special case”; SGA 3 X (4.0), “partial”.AdicCompletion.isAdicComplete_of_fgregistered withadd_to_stacksin StacksFrontier/AlgebraicGeometry/Variety/DeltaInvariant/Completion.lean, line 46 (StacksFrontier): “completed_local_ring”. References: EGA 0 (7.2.12), “special case”.IsLocalRing.isReduced_adicCompletion_maximalIdeal_of_isNagataRing, declared in the repository, registered withadd_to_stacksin StacksFrontier/AlgebraicGeometry/Variety/DeltaInvariant/Completion.lean, line 77 (StacksFrontier): “completed_local_ring”.IsLocalRing.ringKrullDim_adicCompletion_maximalIdeal, declared in the repository, registered withadd_to_stacksin StacksFrontier/AlgebraicGeometry/Variety/DeltaInvariant/Completion.lean, line 79 (StacksFrontier): “completed_local_ring”.
Sources
Section33.42 Finding affine opens#
Section 33.42 of the Stacks Project, Tag 09NF. 7 tags here are carried by 7 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 09NG, a lemma
Tag 09NG in the Stacks Project.
AlgebraicGeometry.isOpenImmersion_of_openCover_source_of_separated_of_genericPoints_injOn, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/FindingAffineOpens/OpenImmersionCriterion.lean, line 189.
Stacks Project, Tag 09NG. A separated morphism that is locally an open immersion on the source and injective on generic points of irreducible components is an open immersion.
public theorem isOpenImmersion_of_openCover_source_of_separated_of_genericPoints_injOn
{X Y : Scheme.{u}} (f : X ⟶ Y) [IsSeparated f] (𝒰 : X.OpenCover)
(h𝒰 : ∀ i, IsOpenImmersion (𝒰.f i ≫ f))
(hinj : Set.InjOn f (genericPoints X)) :
IsOpenImmersion f
Tag 09NH, a lemma
Tag 09NH in the Stacks Project.
AlgebraicGeometry.exists_isOpenImmersion_res_of_isIso_stalkMap, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/FindingAffineOpens/LocalIsomorphism.lean, line 81.
Stacks Project, Tag 09NH. If the local-ring map of a locally finite-type morphism is an isomorphism at
x, and the target is reduced with finitely many irreducible components, then the morphism is an open immersion nearx.
public theorem exists_isOpenImmersion_res_of_isIso_stalkMap
{X S : Scheme.{u}} (f : X ⟶ S) (x : X)
[IsReduced S] [LocallyOfFiniteType f]
(hcomponents : (irreducibleComponents S).Finite)
(hstalk : IsIso (f.stalkMap x)) :
∃ U : X.Opens, x ∈ U ∧ IsOpenImmersion (U.ι ≫ f)
Tag 09NI, a lemma
Tag 09NI in the Stacks Project.
AlgebraicGeometry.exists_isAffineOpen_containing_image_of_genericPoints_injOn, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/FindingAffineOpens/CommonAffineOpenOfStalks.lean, line 420.
[Stacks, Tag 09NI]. Let
f : T ⟶ Xbe a morphism of schemes withTaffine andXquasi-separated with finitely many generic points. Iffcarries the generic points of the irreducible components ofTinto those ofXand does so injectively, and if the canonical map of local rings at each member of a finite family of points ofTis an isomorphism, then the images of that family lie in a common affine open ofX.
public theorem exists_isAffineOpen_containing_image_of_genericPoints_injOn
{T X : Scheme.{u}} (f : T ⟶ X) [IsAffine T] [QuasiSeparatedSpace X]
(hX : (genericPoints X).Finite)
(hgeneric : Set.MapsTo f (genericPoints T) (genericPoints X))
(hinj : Set.InjOn f (genericPoints T))
{ι : Type v} [Finite ι] (t : ι → T)
(hstalk : ∀ i, IsIso (f.stalkMap (t i))) :
∃ U : X.Opens, IsAffineOpen U ∧ ∀ i, f (t i) ∈ U
Tag 09NJ, a lemma
Tag 09NJ in the Stacks Project.
AlgebraicGeometry.exists_isAffineOpen_containing_of_stalk_krullDimLE_one, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/FindingAffineOpens/CommonAffineOpenOfDimensionOnePoints.lean, line 179.
[Stacks, Tag 09NJ] A finite family of points on an integral separated scheme, whose local rings are Noetherian of Krull dimension at most one, lies in a common affine open.
theorem exists_isAffineOpen_containing_of_stalk_krullDimLE_one
(X : Scheme.{u}) [IsIntegral X] [X.IsSeparated]
{ι : Type v} [Finite ι] (x : ι → X)
(h_noetherian : ∀ i, IsNoetherianRing (X.presheaf.stalk (x i)))
(h_dimension : ∀ i, Ring.KrullDimLE 1 (X.presheaf.stalk (x i))) :
∃ U : X.Opens, IsAffineOpen U ∧ ∀ i, x i ∈ U
Tag 09NK, a lemma
Tag 09NK in the Stacks Project.
Ideal.exists_lift_avoiding_primes, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/Defs/AvoidingPrimes.lean, line 33.
If an ideal is contained in none of a finite family of prime ideals, every class modulo that ideal has a representative outside all of the primes.
public theorem exists_lift_avoiding_primes
{A : Type u} [CommRing A] (I : Ideal A) {r : ℕ} (p : Fin r → Ideal A)
(hp : ∀ i, (p i).IsPrime) (hI : ∀ i, ¬ I ≤ p i) (fbar : A ⧸ I) :
∃ f : A, (∀ i, f ∉ p i) ∧ Ideal.Quotient.mk I f = fbar
Tag 09NM, a lemma
Tag 09NM in the Stacks Project.
AlgebraicGeometry.exists_isAffineOpen_containing_of_components, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/FindingAffineOpens/CommonAffineOpenOfComponents.lean, line 471.
[Stacks, Tag 09NM]. Let
Xbe a scheme with finitely many irreducible components andT ⊆ Xa finite set of points. If for every irreducible componentZthe setT ∩ Zis contained in an affine open of the reduced induced closed subscheme onZ, thenTis contained in an affine open subscheme ofX.
public theorem exists_isAffineOpen_containing_of_components
(X : Scheme.{u}) {T : Set X} (hT : T.Finite)
(hcomponents : (irreducibleComponents X).Finite)
(hlocal : ∀ Z : Closeds X, (Z : Set X) ∈ irreducibleComponents X →
∃ U : (Scheme.IdealSheafData.vanishingIdeal Z).subscheme.Opens,
IsAffineOpen U ∧
T ∩ (Z : Set X) ⊆
Set.range (U.ι ≫ (Scheme.IdealSheafData.vanishingIdeal Z).subschemeι)) :
∃ U : X.Opens, IsAffineOpen U ∧ T ⊆ U
Tag 09NN, a proposition
Tag 09NN in the Stacks Project.
AlgebraicGeometry.exists_isAffineOpen_containing_of_stalk_krullDimLE_one_of_finite_components, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/FindingAffineOpens/CommonAffineOpenOfDimensionOnePointsFiniteComponents.lean, line 80.
[Stacks, Tag 09NN] Let
Xbe a separated scheme such that every quasi-compact open ofXhas finitely many irreducible components. A finite family of points ofXwhose local rings are Noetherian of Krull dimension at most one is contained in an affine open subscheme ofX.
theorem exists_isAffineOpen_containing_of_stalk_krullDimLE_one_of_finite_components
(X : Scheme.{u}) [X.IsSeparated]
(hX : ∀ U : X.Opens, IsCompact (U : Set X) → (irreducibleComponents U).Finite)
{ι : Type v} [Finite ι] (x : ι → X)
(h_noetherian : ∀ i, IsNoetherianRing (X.presheaf.stalk (x i)))
(h_dimension : ∀ i, Ring.KrullDimLE 1 (X.presheaf.stalk (x i))) :
∃ U : X.Opens, IsAffineOpen U ∧ ∀ i, x i ∈ U
Sources
Section33.43 Curves#
Section 33.43 of the Stacks Project, Tag 0A22. 11 tags here are carried by 20 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0A23, a definition
Tag 0A23 in the Stacks Project.
AlgebraicGeometry.IsCurve, a class in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/Curve/Defs.lean, line 46. References: EGA II (7.4.2), “special case”.
Stacks Project, Tag 0A23. A curve over a field is a variety of Krull dimension one.
public class IsCurve (k : Type u) [Field k] {X : Scheme.{u}} (f : X ⟶ Spec (.of k)) : Prop
extends IsVariety k f
Tag 0A24, a lemma
Tag 0A24 in the Stacks Project.
AlgebraicGeometry.not_isProper_compl_singleton, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/Curve/Proper.lean, line 44.
Stacks 0A24. Removing a closed point from an irreducible scheme of positive dimension gives an open subscheme which is not proper over any base over which the scheme is separated.
public lemma not_isProper_compl_singleton
{X S : Scheme.{u}} (f : X ⟶ S)
[IsSeparated f] [IrreducibleSpace X] (x : X) (hx : IsClosed ({x} : Set X))
(hdim : 0 < topologicalKrullDim X) :
let U : X.Opens := ⟨{x}ᶜ, hx.isOpen_compl⟩
¬ IsProper (U.ι ≫ f)
Tag 0A25, a lemma
Tag 0A25 in the Stacks Project.
Stacks.HQuasiProjectiveDimensionOne.isHQuasiProjective_of_topologicalKrullDim_eq_zero, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/HQuasiProjectiveDimensionOne/Basic.lean, line 159. The attribute's comment: “for a scheme of topological Krull dimension zero, where reducedness is not needed because such a scheme is affine and the structure sheaf of an affine scheme is ample”.
A separated scheme of finite type over a field
kof topological Krull dimension zero is H-quasi-projective overk.
theorem isHQuasiProjective_of_topologicalKrullDim_eq_zero {k : Type u} [Field k] {X : Scheme.{u}}
(f : X ⟶ Spec (CommRingCat.of k)) [IsSeparated f] [LocallyOfFiniteType f] [QuasiCompact f]
(hdim : topologicalKrullDim (X : Type u) = 0) :
AlgebraicGeometry.IsHQuasiProjective f
Stacks.HQuasiProjectiveDimensionOne.isHQuasiProjective_of_dimension_le_one, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/HQuasiProjectiveDimensionOne/Basic.lean, line 180.
A separated scheme of finite type over a field
kwhose topological Krull dimension is at most one is H-quasi-projective overk.
theorem isHQuasiProjective_of_dimension_le_one
{k : Type u} [Field k] {X : Scheme.{u}}
(f : X ⟶ Spec (CommRingCat.of k)) [IsSeparated f] [LocallyOfFiniteType f] [QuasiCompact f]
(hdim : topologicalKrullDim (X : Type u) ≤ 1) :
AlgebraicGeometry.IsHQuasiProjective f
Tag 0A26, a lemma
Tag 0A26 in the Stacks Project.
Stacks.HQuasiProjectiveDimensionOne.isProjectiveMorphism_of_isProper_of_topologicalKrullDim_le_one, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/HQuasiProjectiveDimensionOne/Basic.lean, line 203.
A proper scheme over a field
kwhose topological Krull dimension is at most one is H-projective overk.
theorem isProjectiveMorphism_of_isProper_of_topologicalKrullDim_le_one
{k : Type u} [Field k] {X : Scheme.{u}} (f : X ⟶ Spec (.of k)) [IsProper f]
(hdim : topologicalKrullDim (X : Type u) ≤ 1) :
IsProjectiveMorphism f
Tag 0BXV, a lemma
Tag 0BXV in the Stacks Project.
Stacks.CurveProjectiveCompletion.exists_projective_completion_of_dimension_le_one, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/Curve/ProjectiveCompletion.lean, line 286. The attribute's comment: “the whole tag: all three clauses, for every separated scheme of finite type over k of dimension at most one”.
Let
Xbe a separated scheme of finite type over a fieldkwithdim(X) ≤ 1. Then there is an open immersionj : X ⟶ X̄such that
X̄is H-projective overk, a closed subscheme ofℙᵈ_kfor somed;j(X)is dense and scheme-theoretically dense inX̄;X̄ \ j(X)is a finite set of closed points ofX̄.
theorem exists_projective_completion_of_dimension_le_one
(k : Type u) [Field k] {X : Scheme.{u}} (f : X ⟶ Spec (CommRingCat.of k))
[IsSeparated f] [LocallyOfFiniteType f] [QuasiCompact f]
(hdim : topologicalKrullDim (X : Type u) ≤ 1) :
∃ (Y : Scheme.{u}) (q : Y ⟶ Spec (CommRingCat.of k)) (j : X ⟶ Y) (hj : IsOpenImmersion j),
letI : IsOpenImmersion j := hj
j ≫ q = f ∧ IsProjectiveMorphism q ∧ IsDominant j ∧
Scheme.Opens.IsSchemeTheoreticallyDense j.opensRange ∧
((Set.range j.base)ᶜ).Finite ∧
∀ y : Y, y ∉ Set.range j.base → IsClosed ({y} : Set Y)
Tag 0BXW, a lemma
Tag 0BXW in the Stacks Project.
Stacks.CurveProjectiveCompletion.exists_projective_completion_discreteValuation_of_isReduced, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/Curve/ProjectiveCompletionDiscreteValuation.lean, line 304.
[Stacks, Tag 0BXW]. Let
Xbe a reduced separated scheme of finite type over a fieldkwithdim(X) ≤ 1. Then there is an open immersionj : X ⟶ X'such thatX'is H-projective overk, the image ofjis dense and scheme-theoretically dense inX', the complementX' ∖ j(X)is a finite set of closed points, and the local ring ofX'at each of those points is a discrete valuation ring.The first step of the proof, [Stacks, Tag 0A25], is used in its reduced case
Stacks.CurveProjectiveCompletion.isHQuasiProjective_of_isReduced.
theorem exists_projective_completion_discreteValuation_of_isReduced
(k : Type u) [Field k] {X : Scheme.{u}} (p : X ⟶ Spec (CommRingCat.of k))
[IsSeparated p] [LocallyOfFiniteType p] [QuasiCompact p] [AlgebraicGeometry.IsReduced X]
(hdim : topologicalKrullDim (X : Type u) ≤ 1) :
∃ (Y : Scheme.{u}) (q : Y ⟶ Spec (CommRingCat.of k)) (j : X ⟶ Y) (hj : IsOpenImmersion j),
letI : IsOpenImmersion j := hj
j ≫ q = p ∧ IsProjectiveMorphism q ∧ IsDominant j ∧
Scheme.Opens.IsSchemeTheoreticallyDense j.opensRange ∧
((Set.range j.base)ᶜ).Finite ∧
∀ y : Y, y ∉ Set.range j.base →
IsClosed ({y} : Set Y) ∧
∃ _ : IsDomain (Y.presheaf.stalk y),
IsDiscreteValuationRing (Y.presheaf.stalk y)
Tag 0GK5, a lemma
Tag 0GK5 in the Stacks Project.
AlgebraicGeometry.exists_isPurelyInseparable_smooth_normalization, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/OneDimensional/SmoothNormalizationPurelyInseparable.lean, line 132. The attribute's comment: “clauses (1) and (2), with ν smooth over k'; clauses (3), (4), (5) not established”. References: SGA 4 XIV (1.11).
[Stacks, Tag 0GK5], clauses (1) and (2), with the normalization smooth over
k'. Letkbe a field and letXbe a scheme of finite type overkwithdim X ≤ 1. There is a finite purely inseparable extensionk'/ksuch that the normalization ofX_{k'}is smooth overk'.Clauses (3), (4) and (5) of the source — the compactification
jwith dense image, the finite separable extensionsk'_i/k'and the smooth projective geometrically irreducible pieces over them — are not established here; see the module docstring.
public theorem exists_isPurelyInseparable_smooth_normalization (k : Type u) [Field k]
{X : Scheme.{u}} (p : X ⟶ Spec (.of k)) [LocallyOfFiniteType p] [QuasiCompact p]
(hdim : topologicalKrullDim X ≤ 1) :
∃ (k' : Type u) (_ : Field k') (_ : Algebra k k') (_ : Module.Finite k k')
(_ : IsPurelyInseparable k k'),
Smooth (normalizationOverField k' (pullback.fst (spectrumMap k k') p) ≫
pullback.fst (spectrumMap k k') p)
AlgebraicGeometry.exists_isPurelyInseparable_dense_openImmersion_smooth_projective_of_isReduced, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/OneDimensional/SmoothProjectiveCompactificationCurve.lean, line 117. The attribute's comment: “clauses (3), (4) and (5) -- the whole diagram -- for a REDUCED X. The source's first move is to replace X by its reduction; everything after that move is proved here. The normalization of X_{k'} is exhibited as a DENSE OPEN SUBSCHEME of the disjoint union of the compactifications Ybar_i (clause 3), each of which is SMOOTH, PROJECTIVE and GEOMETRICALLY IRREDUCIBLE of dimension at most one over a finite SEPARABLE extension k'_i/k' (clauses 4 and 5), and the diagram commutes over Spec k'. What is NOT covered: the reduction step, i.e. the case of an X that is not reduced.”. References: EGA IV (17.15.14), “special case”; SGA 4 XIV (1.11), “special case”.
[Stacks, Tag 0GK5] for a reduced
X. Letkbe a field and letXbe a reduced separated scheme of finite type overkwithdim(X) ≤ 1. There is a finite purely inseparable extensionk'/k, a finite family of schemesȲᵢoverSpec k', and a dense open immersionjfrom the normalization ofX_{k'}into their disjoint union overSpec k', such that eachȲᵢis smooth, H-projective and geometrically irreducible of dimension at most one over a finite separable extensionk'ᵢ/k'.
public theorem exists_isPurelyInseparable_dense_openImmersion_smooth_projective_of_isReduced
(k : Type u) [Field k] {X : Scheme.{u}} (p : X ⟶ Spec (.of k))
[IsSeparated p] [LocallyOfFiniteType p] [QuasiCompact p] [AlgebraicGeometry.IsReduced X]
(hdim : topologicalKrullDim (X : Type u) ≤ 1) :
∃ (k' : Type u) (_ : Field k') (_ : Algebra k k') (_ : Module.Finite k k')
(_ : IsPurelyInseparable k k') (ι : Type u) (_ : Finite ι) (Ybar : ι → Scheme.{u})
(sbar : (∐ Ybar) ⟶ Spec (.of k'))
(K : ι → Type u) (_ : ∀ i, Field (K i)) (_ : ∀ i, Algebra k' (K i))
(_ : ∀ i, Module.Finite k' (K i)) (_ : ∀ i, Algebra.IsSeparable k' (K i))
(rbar : ∀ i, Ybar i ⟶ Spec (.of (K i)))
(j : normalizationSchemeOverField k' (pullback.fst (spectrumMap k k') p) ⟶ ∐ Ybar)
(_ : IsOpenImmersion j),
Dense (Set.range j.base) ∧
j ≫ sbar = normalizationOverField k' (pullback.fst (spectrumMap k k') p) ≫
pullback.fst (spectrumMap k k') p ∧
(∀ i, rbar i ≫ Spec.map (CommRingCat.ofHom (algebraMap k' (K i)))
= Sigma.ι Ybar i ≫ sbar) ∧
∀ i, Smooth (rbar i) ∧ IsProjectiveMorphism (rbar i) ∧
GeometricallyIrreducible (rbar i) ∧ topologicalKrullDim (Ybar i : Type u) ≤ 1
AlgebraicGeometry.exists_isPurelyInseparable_dense_openImmersion_smooth_projective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/OneDimensional/SmoothProjectiveCompactificationCurve.lean, line 252. References: EGA IV (17.15.14), “special case”; SGA 4 XIV (1.11), “special case”.
[Stacks, Tag 0GK5]. Let
kbe a field and letXbe a separated scheme of finite type overkwithdim(X) ≤ 1. There is a finite purely inseparable extensionk'/k(clause 1) such that the normalization ofX_{k'}(clause 2) is a dense open subscheme (clause 3) of a finite disjoint union of schemesȲᵢ, each smooth, H-projective and geometrically irreducible of dimension at most one (clause 5) over a finite separable extensionk'ᵢ/k'(clause 4), the whole diagram commuting overSpec k'.
public theorem exists_isPurelyInseparable_dense_openImmersion_smooth_projective
(k : Type u) [Field k] {X : Scheme.{u}} (p : X ⟶ Spec (.of k))
[IsSeparated p] [LocallyOfFiniteType p] [QuasiCompact p]
(hdim : topologicalKrullDim (X : Type u) ≤ 1) :
∃ (k' : Type u) (_ : Field k') (_ : Algebra k k') (_ : Module.Finite k k')
(_ : IsPurelyInseparable k k') (ι : Type u) (_ : Finite ι) (Ybar : ι → Scheme.{u})
(sbar : (∐ Ybar) ⟶ Spec (.of k'))
(K : ι → Type u) (_ : ∀ i, Field (K i)) (_ : ∀ i, Algebra k' (K i))
(_ : ∀ i, Module.Finite k' (K i)) (_ : ∀ i, Algebra.IsSeparable k' (K i))
(rbar : ∀ i, Ybar i ⟶ Spec (.of (K i)))
(j : normalizationSchemeOverField k' (pullback.fst (spectrumMap k k') p) ⟶ ∐ Ybar)
(_ : IsOpenImmersion j),
Dense (Set.range j.base) ∧
j ≫ sbar = normalizationOverField k' (pullback.fst (spectrumMap k k') p) ≫
pullback.fst (spectrumMap k k') p ∧
(∀ i, rbar i ≫ Spec.map (CommRingCat.ofHom (algebraMap k' (K i)))
= Sigma.ι Ybar i ≫ sbar) ∧
∀ i, Smooth (rbar i) ∧ IsProjectiveMorphism (rbar i) ∧
GeometricallyIrreducible (rbar i) ∧ topologicalKrullDim (Ybar i : Type u) ≤ 1
AlgebraicGeometry.exists_isPurelyInseparable_normalization_coproduct_smooth_projective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/OneDimensional/SmoothProjectiveNormalizationProper.lean, line 88. The attribute's comment: “clauses (3), (4) and (5) for a PROPER X, where the open immersion j of clause (3) is an isomorphism and the compactifications Ybar_i are the components Y_i of the normalization themselves. Clauses (1) and (2) -- the finite purely inseparable k'/k and the normalization of X_{k'} -- are reproved here as part of the diagram. What the general separated case still needs is the compactification of Stacks 0BXW applied to X before k' is chosen, together with the identification of the normalization of X_{k'} with the open part of the normalization of that compactification.”. References: EGA IV (17.15.14), “Proper case of 17.15.14”; SGA 4 XIV (1.11), “special case”.
[Stacks, Tag 0GK5] for a proper
X. Letkbe a field and letXbe proper overkwithdim(X) ≤ 1. There is a finite purely inseparable extensionk'/ksuch that the normalization ofX_{k'}is a finite coproduct of schemesYᵢ, each smooth, H-projective and geometrically irreducible of dimension at most one over a finite separable extensionk'ᵢ/k', compatibly with the structure morphisms.
public theorem exists_isPurelyInseparable_normalization_coproduct_smooth_projective
(k : Type u) [Field k] {X : Scheme.{u}} (p : X ⟶ Spec (.of k)) [IsProper p]
(hdim : topologicalKrullDim (X : Type u) ≤ 1) :
∃ (k' : Type u) (_ : Field k') (_ : Algebra k k') (_ : Module.Finite k k')
(_ : IsPurelyInseparable k k') (ι : Type u) (_ : Finite ι) (Y : ι → Scheme.{u})
(e : normalizationSchemeOverField k' (pullback.fst (spectrumMap k k') p) ≅ ∐ Y)
(K : ι → Type u) (_ : ∀ i, Field (K i)) (_ : ∀ i, Algebra k' (K i))
(_ : ∀ i, Module.Finite k' (K i)) (_ : ∀ i, Algebra.IsSeparable k' (K i))
(r : ∀ i, Y i ⟶ Spec (.of (K i))),
(∀ i, r i ≫ Spec.map (CommRingCat.ofHom (algebraMap k' (K i))) =
Sigma.ι Y i ≫ e.inv ≫
normalizationOverField k' (pullback.fst (spectrumMap k k') p) ≫
pullback.fst (spectrumMap k k') p) ∧
∀ i, Smooth (r i) ∧ IsProjectiveMorphism (r i) ∧ GeometricallyIrreducible (r i) ∧
topologicalKrullDim (Y i : Type u) ≤ 1
AlgebraicGeometry.exists_isSeparable_smooth_isProjectiveMorphism_geometricallyIrreducible, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/OneDimensional/SmoothProperConnectedComponent.lean, line 98. The attribute's comment: “clauses (4) and (5), at one component: for a CONNECTED scheme Z smooth and proper over a field k with dim Z <= 1 -- that is, for one of the compactified pieces Ybar_i of the diagram -- the field k'_i = Gamma(Z, O_Z) of clause (4) is a finite SEPARABLE extension of k, and Z is SMOOTH, PROJECTIVE and GEOMETRICALLY IRREDUCIBLE of dimension at most one over it, which is clause (5). The assembly of the diagram -- decomposing the normalization into its components and transporting along the open immersion j of clause (3) -- is not done here; clauses (1) and (2) are carried by AlgebraicGeometry.exists_isPurelyInseparable_smooth_normalization.”.
[Stacks, Tag 0GK5], clauses (4) and (5) at one component. Let
Zbe a connected scheme, smooth and proper over a fieldk, of dimension at most one. Then there is a finite separable extensionK/kand a morphismr : Z ⟶ Spec Koverkwhich is smooth, H-projective and geometrically irreducible, withdim(Z) ≤ 1.The field is
K = Γ(Z, 𝒪_Z)and the morphism is the canonicalZ ⟶ Spec Γ(Z, 𝒪_Z), exactly as in the source.
public theorem exists_isSeparable_smooth_isProjectiveMorphism_geometricallyIrreducible
(k : Type u) [Field k] {Z : Scheme.{u}} (q : Z ⟶ Spec (.of k))
[IsProper q] [Smooth q] [ConnectedSpace Z]
(hdim : topologicalKrullDim (Z : Type u) ≤ 1) :
∃ (K : Type u) (_ : Field K) (_ : Algebra k K) (_ : Module.Finite k K)
(_ : Algebra.IsSeparable k K) (r : Z ⟶ Spec (.of K)),
r ≫ Spec.map (CommRingCat.ofHom (algebraMap k K)) = q ∧
Smooth r ∧ IsProjectiveMorphism r ∧ GeometricallyIrreducible r ∧
topologicalKrullDim (Z : Type u) ≤ 1
Tag 0B8Y, a lemma
Tag 0B8Y in the Stacks Project.
AlgebraicGeometry.isDiscreteValuationRing_stalk_tfae_of_isCurve, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/CurveLocalRing/Basic.lean, line 144. The attribute's comment: “(1), (2) and (3)”. References: EGA II (7.4.5); EGA II (7.1.6), “curve stalk case”; EGA IV (6.7.5), “partial”; SGA 7 IX (3.2.1), “special case”.
Items (1), (2) and (3) of [Stacks, Tag 0B8Y]. At a closed point
xof a curve over a field the local ring𝒪_{X,x}is regular if and only if it is normal if and only if it is a discrete valuation ring.
public theorem isDiscreteValuationRing_stalk_tfae_of_isCurve [IsCurve k f] {x : X}
(hx : IsClosed ({x} : Set X)) :
List.TFAE [IsRegularLocalRing (X.presheaf.stalk x), IsNormalRing (X.presheaf.stalk x),
IsDiscreteValuationRing (X.presheaf.stalk x)]
AlgebraicGeometry.isEffectiveCartierDivisor_closedPoint_tfae_of_isCurve, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/CurveLocalRing/EffectiveCartier.lean, line 130. The attribute's comment: “(1), (2), (3), (4) and (5)”. References: EGA II (7.4.5); EGA II (7.1.6), “curve stalk case”; EGA IV (6.7.5), “partial”.
At a closed point
xof a curve over a field the following are equivalent:𝒪_{X,x}is regular;𝒪_{X,x}is normal;𝒪_{X,x}is a discrete valuation ring; and the sheaf of ideals of the reduced closed subscheme{x}is an invertible𝒪_X-module, which is to say thatxis an effective Cartier divisor onX.
public theorem isEffectiveCartierDivisor_closedPoint_tfae_of_isCurve [IsCurve k f] {x : X}
(hx : IsClosed ({x} : Set X)) :
List.TFAE [IsRegularLocalRing (X.presheaf.stalk x), IsNormalRing (X.presheaf.stalk x),
IsDiscreteValuationRing (X.presheaf.stalk x),
Stacks.Divisors.IsEffectiveCartierDivisor
(Scheme.IdealSheafData.vanishingIdeal (⟨{x}, hx⟩ : Closeds X))]
AlgebraicGeometry.smoothAt_closedPoint_tfae_of_isCurve_of_isSeparable, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/CurveLocalRing/Smooth.lean, line 49. The attribute's comment: “(1), (2), (3), (4), (5) and (6), for κ(x) separable over k”. References: EGA IV (17.15.1), “the smoothness item”; SGA 1 II (5.4), “κ(x)/k separable”.
Smoothness at a closed point of a curve, for a separable residue field. Let
kbe a field, letXbe a curve overkand letxbe a closed point ofXwhose residue field is separable overk. Then the following are equivalent:𝒪_{X,x}is regular;𝒪_{X,x}is normal;𝒪_{X,x}is a discrete valuation ring; the sheaf of ideals of the reduced closed subscheme{x}is an invertible𝒪_X-module, which is to say thatxis an effective Cartier divisor onX; andX → Spec kis smooth atx.
public theorem smoothAt_closedPoint_tfae_of_isCurve_of_isSeparable [IsCurve k f] {x : X}
(hx : IsClosed ({x} : Set X))
(hsep : letI : Algebra k (X.residueField x) :=
((Scheme.ΓSpecIso (.of k)).inv ≫ f.appTop ≫ X.Γevaluation x).hom.toAlgebra
Algebra.IsSeparableExtension k (X.residueField x)) :
List.TFAE [IsRegularLocalRing (X.presheaf.stalk x), IsNormalRing (X.presheaf.stalk x),
IsDiscreteValuationRing (X.presheaf.stalk x),
Stacks.Divisors.IsEffectiveCartierDivisor
(Scheme.IdealSheafData.vanishingIdeal (⟨{x}, hx⟩ : Closeds X)),
InfinitesimalLifting.SmoothAt f x]
AlgebraicGeometry.smoothAt_closedPoint_tfae_of_isCurve_of_perfectField, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/CurveLocalRing/Smooth.lean, line 73. The attribute's comment: “(1), (2), (3), (4), (5) and (6), for k perfect”. References: EGA IV (17.15.2), “the smoothness item”; EGA IV (6.7.5), “special case”; SGA 1 II (5.4), “k perfect”.
Smoothness at a closed point of a curve, over a perfect field. Let
kbe a perfect field, letXbe a curve overkand letxbe a closed point ofX. Then the following are equivalent:𝒪_{X,x}is regular;𝒪_{X,x}is normal;𝒪_{X,x}is a discrete valuation ring; the sheaf of ideals of the reduced closed subscheme{x}is an invertible𝒪_X-module, which is to say thatxis an effective Cartier divisor onX; andX → Spec kis smooth atx.
public theorem smoothAt_closedPoint_tfae_of_isCurve_of_perfectField [PerfectField k] [IsCurve k f]
{x : X} (hx : IsClosed ({x} : Set X)) :
List.TFAE [IsRegularLocalRing (X.presheaf.stalk x), IsNormalRing (X.presheaf.stalk x),
IsDiscreteValuationRing (X.presheaf.stalk x),
Stacks.Divisors.IsEffectiveCartierDivisor
(Scheme.IdealSheafData.vanishingIdeal (⟨{x}, hx⟩ : Closeds X)),
InfinitesimalLifting.SmoothAt f x]
Tag 0H1F, a remark
Tag 0H1F in the Stacks Project.
AlgebraicGeometry.exists_isRegular_isProjectiveMorphism_compactification, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/Curve/RegularCompactification.lean, line 141. The attribute's comment: “the regular projective compactification”.
Let
kbe a field and letXbe a regular curve overk. Then there is a nonsingular projective curveX̄overkand an open immersionj : X ⟶ X̄overkwhose complement is a finite set of closed points ofX̄.
public theorem exists_isRegular_isProjectiveMorphism_compactification
(k : Type u) [Field k] {X : Scheme.{u}} (p : X ⟶ Spec (.of k)) [IsCurve k p]
(hX : IsRegular X) :
∃ (Y : Scheme.{u}) (q : Y ⟶ Spec (.of k)) (j : X ⟶ Y) (hj : IsOpenImmersion j),
letI : IsOpenImmersion j := hj
j ≫ q = p ∧ IsCurve k q ∧ IsProjectiveMorphism q ∧ IsRegular Y ∧
((Set.range j.base)ᶜ).Finite ∧
∀ y : Y, y ∉ Set.range j.base → IsClosed ({y} : Set Y)
AlgebraicGeometry.exists_smooth_isProjectiveMorphism_compactification_of_perfectField, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/Curve/RegularCompactification.lean, line 181. The attribute's comment: “the smooth projective compactification over a perfect field”.
Let
kbe a perfect field and letXbe a regular curve overk. ThenXis smooth overk, and there is a nonsingular projective curveX̄overk, smooth overk, with an open immersionj : X ⟶ X̄overkwhose complement is a finite set of closed points ofX̄.
public theorem exists_smooth_isProjectiveMorphism_compactification_of_perfectField
(k : Type u) [Field k] [PerfectField k] {X : Scheme.{u}} (p : X ⟶ Spec (.of k))
[IsCurve k p] (hX : IsRegular X) :
Smooth p ∧ ∃ (Y : Scheme.{u}) (q : Y ⟶ Spec (.of k)) (j : X ⟶ Y) (hj : IsOpenImmersion j),
letI : IsOpenImmersion j := hj
j ≫ q = p ∧ IsCurve k q ∧ IsProjectiveMorphism q ∧ IsRegular Y ∧ Smooth q ∧
((Set.range j.base)ᶜ).Finite ∧
∀ y : Y, y ∉ Set.range j.base → IsClosed ({y} : Set Y)
Tag 0A27, a lemma
Tag 0A27 in the Stacks Project.
AlgebraicGeometry.isAffine_or_isProjectiveMorphism, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/Curve/AffineOrProjective.lean, line 209.
Let
kbe a field and letXbe a curve overk. ThenXis an affine scheme orXis H-projective overk.
theorem isAffine_or_isProjectiveMorphism
(k : Type u) [Field k] {X : Scheme.{u}} (f : X ⟶ Spec (.of k)) [IsCurve k f] :
IsAffine X ∨ IsProjectiveMorphism f
Tag 0A28, a lemma
Tag 0A28 in the Stacks Project.
AlgebraicGeometry.isAffine_of_topologicalKrullDim_le_one_of_forall_component_not_isProper, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/OneDimensional/AffineOfNoProperComponent.lean, line 205.
[Stacks, Tag 0A28]. Let
kbe a field and letXbe a separated scheme of finite type overkwithdim(X) ≤ 1. If no irreducible component ofX, taken with its reduced induced closed subscheme structure, is proper overkof dimension one, thenXis an affine scheme.Each component is integral, and separated and of finite type over
kof dimension at most one. A one-dimensional component is therefore a curve overk, so [Stacks, Tag 0A27] makes it affine or H-projective overk, and the latter would make it proper overk, whichhcomponentforbids; a zero-dimensional component is affine by [Stacks, Tag 06LH]. The components are finitely many, their coproduct is affine, and the induced morphism toXis finite and surjective, so [Stacks, Tag 01YQ] makesXaffine.
theorem isAffine_of_topologicalKrullDim_le_one_of_forall_component_not_isProper
(k : Type u) [Field k]
{X : Scheme.{u}} (f : X ⟶ Spec (.of k))
[IsSeparated f] [LocallyOfFiniteType f] [QuasiCompact f]
(hdim : topologicalKrullDim X ≤ 1)
(hcomponent : ∀ Z : irreducibleComponents X,
topologicalKrullDim (Scheme.IdealSheafData.vanishingIdeal
(⟨Z.1, isClosed_of_mem_irreducibleComponents Z.1 Z.2⟩ : Closeds X)).subscheme = 1 →
¬ IsProper ((Scheme.IdealSheafData.vanishingIdeal
(⟨Z.1, isClosed_of_mem_irreducibleComponents Z.1 Z.2⟩ : Closeds X)).subschemeι ≫ f)) :
IsAffine X
Sources
Section33.44 Degrees on curves#
Section 33.44 of the Stacks Project, Tag 0AYQ. 17 tags here are carried by 43 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0AYR, a definition
Tag 0AYR in the Stacks Project.
AlgebraicGeometry.curveDegree, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/Curve/Degree.lean, line 82. The attribute's comment: “finite locally free case”.
The degree of a finite locally free sheaf of constant rank on a proper scheme of dimension at most one over a field.
public noncomputable def curveDegree (k : Type u) [Field k]
{X : Scheme.{u}} (f : X ⟶ Spec (.of k)) [IsProper f]
(_hdim : topologicalKrullDim X ≤ 1) (E : X.Modules) (rank : ℕ)
[SheafOfModules.IsFiniteLocallyFreeOfRank.{u, u, u} E rank] : ℤ
AlgebraicGeometry.invertibleCurveDegree, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/Curve/Degree.lean, line 106. The attribute's comment: “invertible case”.
The degree of an invertible sheaf on a proper scheme of dimension at most one over a field: its Euler characteristic minus the Euler characteristic of the structure sheaf.
public noncomputable def invertibleCurveDegree (k : Type u) [Field k]
{X : Scheme.{u}} (f : X ⟶ Spec (.of k)) [IsProper f]
(_hdim : topologicalKrullDim X ≤ 1) (L : X.Modules)
[SheafOfModules.IsInvertible X.presheaf X.ringCatSheaf.2 L] : ℤ
Tag 0B59, a lemma
Tag 0B59 in the Stacks Project.
AlgebraicGeometry.curveDegree_baseChange_field, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/Curve/DegreeFieldExtension.lean, line 68.
Stacks Project, Tag 0B59. Let
k'/kbe an extension of fields, letXbe a proper scheme of dimension at most one overkand letℰbe a finite locally free𝒪_X-module of constant rank. Then the degree ofℰoverkequals the degree of its inverse image on the base changeX_{k'}overk'.
theorem curveDegree_baseChange_field (k k' : Type u) [Field k] [Field k'] [Algebra k k']
{X' X : Scheme.{u}} (g' : X' ⟶ X) (f' : X' ⟶ Spec (.of k')) (f : X ⟶ Spec (.of k))
(h : IsPullback g' f' f (Spec.map (CommRingCat.ofHom (algebraMap k k')))) [IsProper f]
(hdim : topologicalKrullDim X ≤ 1) (E : X.Modules) (rank : ℕ)
[SheafOfModules.IsFiniteLocallyFreeOfRank.{u, u, u} E rank] :
@curveDegree k' _ X' f' (MorphismProperty.of_isPullback (P := @IsProper) h inferInstance)
((topologicalKrullDim_baseChange k k' g' f' f h).trans_le hdim)
((Scheme.Modules.pullback g').obj E) rank
(isFiniteLocallyFreeOfRank_pullback g' E rank) =
curveDegree k f hdim E rank
Tag 0AYS, a lemma
Tag 0AYS in the Stacks Project.
AlgebraicGeometry.curveDegree_add_of_shortExact_of_isProper, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/Curve/DegreeAdditivityUnconditional.lean, line 49. The attribute's comment: “deg(ℰ₂) = deg(ℰ₁) + deg(ℰ₃) for a short exact sequence of locally free modules of finite constant rank on a proper scheme of dimension at most one over a field”.
Let
kbe a field and letXbe a scheme proper overkof dimension at most one. For a short exact sequence0 ⟶ ℰ₁ ⟶ ℰ₂ ⟶ ℰ₃ ⟶ 0of locally free𝒪_X-modules of finite constant ranksr₁,r₂,r₃,deg(ℰ₂) = deg(ℰ₁) + deg(ℰ₃).
public theorem curveDegree_add_of_shortExact_of_isProper (k : Type u) [Field k] {X : Scheme.{u}}
(f : X ⟶ Spec (.of k)) [IsProper f] (hdim : topologicalKrullDim X ≤ 1)
(S : ShortComplex X.Modules) (hS : S.ShortExact) (r₁ r₂ r₃ : ℕ)
[SheafOfModules.IsFiniteLocallyFreeOfRank.{u, u, u} S.X₁ r₁]
[SheafOfModules.IsFiniteLocallyFreeOfRank.{u, u, u} S.X₂ r₂]
[SheafOfModules.IsFiniteLocallyFreeOfRank.{u, u, u} S.X₃ r₃] :
curveDegree k f hdim S.X₂ r₂ =
curveDegree k f hdim S.X₁ r₁ + curveDegree k f hdim S.X₃ r₃
AlgebraicGeometry.curveDegree_add_of_shortExact_of_cohomologyFiniteDimensional, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/EulerChar/CoherentFiniteness.lean, line 252. The attribute's comment: “deg(ℰ₂) = deg(ℰ₁) + deg(ℰ₃); hfin is [Stacks, Tag 02O6] for X”.
Additivity of the degree along a short exact sequence. For a short exact sequence
0 ⟶ ℰ₁ ⟶ ℰ₂ ⟶ ℰ₃ ⟶ 0of finite locally free𝒪_X-modules of constant ranksr₁,r₂,r₃on a schemeXproper over a fieldkand of dimension at most one,deg(ℰ₂) = deg(ℰ₁) + deg(ℰ₃).The single hypothesis
hfinis [Stacks, Tag 02O6] forX; everything else the source uses — additivity of the Euler characteristic, additivity of the constant rank, and the empty scheme — is discharged.hfinis now itself a theorem, so the tag is additionally registered on the form that takes no finiteness hypothesis at all,AlgebraicGeometry.curveDegree_add_of_shortExact_of_isProperofStacksFrontier/AlgebraicGeometry/Variety/Curve/DegreeAdditivityUnconditional.lean, which applies this theorem toAlgebraicGeometry.forall_finiteDimensional_cohomologyOverField_of_isProper.
public theorem curveDegree_add_of_shortExact_of_cohomologyFiniteDimensional (k : Type u)
[Field k] {X : Scheme.{u}} (f : X ⟶ Spec (.of k)) [IsProper f]
(hfin : CohomologyFiniteDimensionalOverFieldOn k f) (hdim : topologicalKrullDim X ≤ 1)
(S : ShortComplex X.Modules) (hS : S.ShortExact) (r₁ r₂ r₃ : ℕ)
[SheafOfModules.IsFiniteLocallyFreeOfRank.{u, u, u} S.X₁ r₁]
[SheafOfModules.IsFiniteLocallyFreeOfRank.{u, u, u} S.X₂ r₂]
[SheafOfModules.IsFiniteLocallyFreeOfRank.{u, u, u} S.X₃ r₃] :
curveDegree k f hdim S.X₂ r₂ =
curveDegree k f hdim S.X₁ r₁ + curveDegree k f hdim S.X₃ r₃
Tag 0AYU, a lemma
Tag 0AYU in the Stacks Project.
AlgebraicGeometry.curveDegree_pullback_eq_of_bijOn_genericPointsOne, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/CurveDegreeInvariance/Morphism.lean, line 497. References: SGA 6 X (4.4), “special case”.
[Stacks, Tag 0AYU], the "more generally" statement. Let
kbe a field and letg : X' ⟶ Xbe a morphism overkbetween schemes proper overkand of dimension at most one which induces a bijection between the generic points of the one-dimensional irreducible components ofX'and those ofX, and isomorphisms of local rings at the points ofX'involved. Letℰbe finite locally free of constant ranknonX. Then
deg(g^*ℰ) = deg(ℰ).
hbijandhstalkare the tag's own hypotheses — the bijection on the generic points of the one-dimensional components and the isomorphisms of local rings at the corresponding points — and the source's "more generally" clause implies its first, birational, sentence, which is not separately derived here. The finiteness input [Stacks, Tag 02O6] over a field is not assumed: it isAlgebraicGeometry.cohomologyFiniteDimensionalOverField_of_isProper. The projection formula [Stacks, Tag 01E8] atg, the source's displayed equationg_*g^*ℰ ≅ ℰ ⊗_{𝒪_X} g_*𝒪_{X'}, is proved rather than assumed, byprojectionFormula_iso_of_isFiniteLocallyFreeOfRankabove.The proof is the source's. The bijection on generic points makes
gfinite, so the cohomology ofX'is read onXthroughg_*; the isomorphisms of local rings make the kernel and the cokernel of𝒪_X ⟶ g_*𝒪_{X'}vanish at the generic points of the one-dimensional components, hence give them zero-dimensional support, so clause (5) of [Stacks, Tag 0AYT] applies at both; and the computation ofCurveDegreeInvariance/Basic.leancollapses the difference of the two degrees to zero.
theorem curveDegree_pullback_eq_of_bijOn_genericPointsOne (k : Type u) [Field k]
{X' X : Scheme.{u}} (p' : X' ⟶ Spec (.of k)) (p : X ⟶ Spec (.of k))
[IsProper p'] [IsProper p]
(hdimX' : topologicalKrullDim (X' : Type u) ≤ 1)
(hdimX : topologicalKrullDim (X : Type u) ≤ 1)
(g : X' ⟶ X) (hgOver : g ≫ p = p')
(hbij : Set.BijOn g (genericPointsOne X') (genericPointsOne X))
(E : X.Modules) (n : ℕ) [SheafOfModules.IsFiniteLocallyFreeOfRank.{u, u, u} E n]
(hstalk : ∀ z ∈ genericPointsOne X', IsIso (g.stalkMap z)) :
@curveDegree k _ X' p' _ hdimX' ((Scheme.Modules.pullback g).obj E) n
(isFiniteLocallyFreeOfRank_pullback g E n) =
curveDegree k p hdimX E n
AlgebraicGeometry.curveDegree_pullback_eq_of_bijOn_genericPointsOne_of_isProper, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/CurveDegreeInvariance/Unconditional.lean, line 66. The attribute's comment: “the 'more generally' statement, with no hypothesis beyond the tag's own”. References: SGA 6 X (4.4), “special case”.
[Stacks, Tag 0AYU], the "more generally" statement, with no hypothesis beyond the tag's own. Let
kbe a field and letg : X' ⟶ Xbe a morphism overkbetween schemes proper overkand of dimension at most one which induces a bijection between the generic points of the one-dimensional irreducible components ofX'and those ofX, and isomorphisms of the local rings at the points ofX'involved. Letℰbe finite locally free of constant ranknonX. Then
deg(g^*ℰ) = deg(ℰ).
hbijandhstalkare the tag's own hypotheses, and they are all thatcurveDegree_pullback_eq_of_bijOn_genericPointsOnetakes: [Stacks, Tag 02O6] over a field and the projection formula atgare proved there rather than carried.
theorem curveDegree_pullback_eq_of_bijOn_genericPointsOne_of_isProper (k : Type u) [Field k]
{X' X : Scheme.{u}} (p' : X' ⟶ Spec (.of k)) (p : X ⟶ Spec (.of k))
[IsProper p'] [IsProper p]
(hdimX' : topologicalKrullDim (X' : Type u) ≤ 1)
(hdimX : topologicalKrullDim (X : Type u) ≤ 1)
(g : X' ⟶ X) (hgOver : g ≫ p = p')
(hbij : Set.BijOn g (genericPointsOne X') (genericPointsOne X))
(E : X.Modules) (n : ℕ) [SheafOfModules.IsFiniteLocallyFreeOfRank.{u, u, u} E n]
(hstalk : ∀ z ∈ genericPointsOne X', IsIso (g.stalkMap z)) :
@curveDegree k _ X' p' _ hdimX' ((Scheme.Modules.pullback g).obj E) n
(isFiniteLocallyFreeOfRank_pullback g E n) =
curveDegree k p hdimX E n
Tag 0AYV, a lemma
Tag 0AYV in the Stacks Project.
AlgebraicGeometry.exists_eulerCharacteristic_tensorSheaf_eq_fiberRank_mul_curveDegree_add_of_isCurve, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/CurveTensorEulerUnit/Unconditional.lean, line 65.
[Stacks, Tag 0AYV], with no hypothesis. Let
kbe a field, letXbe a proper curve overkwith generic pointξ, letℰbe finite locally free of ranknand letℱbe coherent. Then
χ(X, ℰ ⊗ ℱ) = r·deg(ℰ) + n·χ(X, ℱ),where
r = dim_{κ(ξ)} ℱ_ξis the rank ofℱat the generic point.
public theorem exists_eulerCharacteristic_tensorSheaf_eq_fiberRank_mul_curveDegree_add_of_isCurve
(k : Type u) [Field k] {X : Scheme.{u}} (f : X ⟶ Spec (.of k))
[IsCurve k f] [IsProper f] (E : X.Modules) (n : ℕ)
[SheafOfModules.IsFiniteLocallyFreeOfRank.{u, u, u} E n]
(F : X.Modules) [SheafOfModules.IsCoherent F] :
∃ h : ((((Stacks.SheafOfModules.Tensor.sheafTensor
⟨((X.toRingedSpace)).presheaf, ((X.toRingedSpace)).IsSheaf⟩).obj (E)).obj (F))).IsCoherent,
@eulerCharacteristic k _ X f _
((((Stacks.SheafOfModules.Tensor.sheafTensor
⟨((X.toRingedSpace)).presheaf, ((X.toRingedSpace)).IsSheaf⟩).obj (E)).obj (F))) h =
(Scheme.Modules.fiberRank F (genericPoint X) : ℤ) *
curveDegree k f (le_of_eq (IsCurve.topologicalKrullDim_eq_one (f := f))) E n +
(n : ℤ) * eulerCharacteristic k f F
AlgebraicGeometry.eulerCharacteristic_tensorSheaf_eq_fiberRank_mul_curveDegree_add, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/CurveTensorEulerUnit/Unconditional.lean, line 92.
[Stacks, Tag 0AYV], with the coherence
hofℰ ⊗ ℱtaken as an argument instead of produced existentially: forℰfinite locally free of ranknandℱcoherent on a proper curveXover a fieldk,χ(X, ℰ ⊗ ℱ) = r·deg(ℰ) + n·χ(X, ℱ), wherer = dim_{κ(ξ)} ℱ_ξis the rank ofℱat the generic pointξ.
public theorem eulerCharacteristic_tensorSheaf_eq_fiberRank_mul_curveDegree_add
(k : Type u) [Field k] {X : Scheme.{u}} (f : X ⟶ Spec (.of k))
[IsCurve k f] [IsProper f] (E : X.Modules) (n : ℕ)
[SheafOfModules.IsFiniteLocallyFreeOfRank.{u, u, u} E n]
(F : X.Modules) [SheafOfModules.IsCoherent F]
(h : ((((Stacks.SheafOfModules.Tensor.sheafTensor ⟨((X.toRingedSpace)).presheaf,
((X.toRingedSpace)).IsSheaf⟩).obj (E)).obj (F))).IsCoherent) :
@eulerCharacteristic k _ X f _
((((Stacks.SheafOfModules.Tensor.sheafTensor
⟨((X.toRingedSpace)).presheaf, ((X.toRingedSpace)).IsSheaf⟩).obj (E)).obj (F))) h =
(Scheme.Modules.fiberRank F (genericPoint X) : ℤ) *
curveDegree k f (le_of_eq (IsCurve.topologicalKrullDim_eq_one (f := f))) E n +
(n : ℤ) * eulerCharacteristic k f F
Tag 0AYW, a lemma
Tag 0AYW in the Stacks Project.
Stacks.AlgebraicGeometry.ComponentDegreeDevissage.curveDegree_eq_finsum_componentDegree, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/ComponentDegreeDevissage/Basic.lean, line 407.
The degree of a finite locally free module of constant rank on a scheme proper over a field and of dimension at most one is the multiplicity-weighted sum of its degrees on the reduced one-dimensional components:
deg(ℰ) = ∑ᶠ ξ, m(ξ) · deg(ℰ|_{C(ξ)}).
theorem curveDegree_eq_finsum_componentDegree [IsProper f]
(hX : topologicalKrullDim X ≤ 1) (E : X.Modules) (rank : ℕ)
[_root_.AlgebraicGeometry.SheafOfModules.IsFiniteLocallyFreeOfRank.{u, u, u} E rank] :
curveDegree k f hX E rank =
∑ᶠ ξ : genericPointsOne X,
(componentMultiplicity X ξ : ℤ) * componentDegree k f hX E rank ξ
Stacks.AlgebraicGeometry.ComponentDegreeDevissage.exists_curveDegree_eq_finsum, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/ComponentDegreeDevissage/Basic.lean, line 431.
The component formula for the degree in existential form: each reduced one-dimensional component is proper over the base, has dimension at most one and carries a restriction of
ℰthat is again finite locally free of the same rank, and the component formula holds with respect to those three proofs.
theorem exists_curveDegree_eq_finsum [IsProper f]
(hX : topologicalKrullDim X ≤ 1) (E : X.Modules) (rank : ℕ)
[_root_.AlgebraicGeometry.SheafOfModules.IsFiniteLocallyFreeOfRank.{u, u, u} E rank] :
∃ (hproper : ∀ ξ : genericPointsOne X, IsProper (reducedComponentι X ξ ≫ f))
(hdimC : ∀ ξ : genericPointsOne X, topologicalKrullDim (reducedComponent X ξ) ≤ 1)
(hrank : ∀ ξ : genericPointsOne X,
_root_.AlgebraicGeometry.SheafOfModules.IsFiniteLocallyFreeOfRank.{u, u, u}
((Scheme.Modules.pullback (reducedComponentι X ξ)).obj E) rank),
curveDegree k f hX E rank =
∑ᶠ ξ : genericPointsOne X,
(componentMultiplicity X ξ : ℤ) *
@curveDegree k _ (reducedComponent X ξ) (reducedComponentι X ξ ≫ f)
(hproper ξ) (hdimC ξ)
((Scheme.Modules.pullback (reducedComponentι X ξ)).obj E) rank (hrank ξ)
Stacks.AlgebraicGeometry.ComponentDegrees.curveDegree_eq_finsum_componentDegree, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/ComponentMultiplicity/Devissage.lean, line 198. The attribute's comment: “the component formula, from the two steps of the source argument”.
Stacks 0AYW. The degree of a finite locally free module of constant rank on a proper scheme of dimension at most one over a field is the multiplicity-weighted sum of its degrees on the reduced one-dimensional components.
theorem curveDegree_eq_finsum_componentDegree
(hreduce : curveDegree k f hX E rank =
∑ᶠ ξ : genericPointsOne X, @curveDegree k _ (Y ξ) (i ξ ≫ f) (hproper ξ) (hdimY ξ)
((Scheme.Modules.pullback (i ξ)).obj E) rank
(_root_.AlgebraicGeometry.isFiniteLocallyFreeOfRank_pullback (i ξ) E rank))
(hirreducible : ∀ ξ : genericPointsOne X,
@curveDegree k _ (Y ξ) (i ξ ≫ f) (hproper ξ) (hdimY ξ)
((Scheme.Modules.pullback (i ξ)).obj E) rank
(_root_.AlgebraicGeometry.isFiniteLocallyFreeOfRank_pullback (i ξ) E rank) =
(componentMultiplicity X ξ : ℤ) * componentDegree k f hX E rank ξ) :
curveDegree k f hX E rank =
∑ᶠ ξ : genericPointsOne X,
(componentMultiplicity X ξ : ℤ) * componentDegree k f hX E rank ξ
Stacks.AlgebraicGeometry.ComponentDegrees.exists_curveDegree_eq_finsum, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/ComponentMultiplicity/Devissage.lean, line 219. The attribute's comment: “the existential form the source states”.
Stacks 0AYW, in the existential form the source states: each reduced one-dimensional component is proper over the base, has dimension at most one and carries a restriction of
ℰthat is again finite locally free of the same rank, and the component formula holds with respect to those three proofs.
theorem exists_curveDegree_eq_finsum
(hreduce : curveDegree k f hX E rank =
∑ᶠ ξ : genericPointsOne X, @curveDegree k _ (Y ξ) (i ξ ≫ f) (hproper ξ) (hdimY ξ)
((Scheme.Modules.pullback (i ξ)).obj E) rank
(_root_.AlgebraicGeometry.isFiniteLocallyFreeOfRank_pullback (i ξ) E rank))
(hirreducible : ∀ ξ : genericPointsOne X,
@curveDegree k _ (Y ξ) (i ξ ≫ f) (hproper ξ) (hdimY ξ)
((Scheme.Modules.pullback (i ξ)).obj E) rank
(_root_.AlgebraicGeometry.isFiniteLocallyFreeOfRank_pullback (i ξ) E rank) =
(componentMultiplicity X ξ : ℤ) * componentDegree k f hX E rank ξ) :
∃ (hproperC : ∀ ξ : genericPointsOne X, IsProper (reducedComponentι X ξ ≫ f))
(hdimC : ∀ ξ : genericPointsOne X, topologicalKrullDim (reducedComponent X ξ) ≤ 1)
(hrank : ∀ ξ : genericPointsOne X,
_root_.AlgebraicGeometry.SheafOfModules.IsFiniteLocallyFreeOfRank.{u, u, u}
((Scheme.Modules.pullback (reducedComponentι X ξ)).obj E) rank),
curveDegree k f hX E rank =
∑ᶠ ξ : genericPointsOne X,
(componentMultiplicity X ξ : ℤ) *
@curveDegree k _ (reducedComponent X ξ) (reducedComponentι X ξ ≫ f)
(hproperC ξ) (hdimC ξ)
((Scheme.Modules.pullback (reducedComponentι X ξ)).obj E) rank (hrank ξ)
Stacks.AlgebraicGeometry.ComponentDegrees.curveDegree_eq_sum_componentDegree, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/ComponentMultiplicity/Devissage.lean, line 246. The attribute's comment: “the component formula as a finite sum”.
Stacks 0AYW with the locally finite sum read as a finite sum over the components. This is the shape in which a consumer that already has the components as a
Fintypeuses the formula.
theorem curveDegree_eq_sum_componentDegree [Fintype (genericPointsOne X)]
(hreduce : curveDegree k f hX E rank =
∑ᶠ ξ : genericPointsOne X, @curveDegree k _ (Y ξ) (i ξ ≫ f) (hproper ξ) (hdimY ξ)
((Scheme.Modules.pullback (i ξ)).obj E) rank
(_root_.AlgebraicGeometry.isFiniteLocallyFreeOfRank_pullback (i ξ) E rank))
(hirreducible : ∀ ξ : genericPointsOne X,
@curveDegree k _ (Y ξ) (i ξ ≫ f) (hproper ξ) (hdimY ξ)
((Scheme.Modules.pullback (i ξ)).obj E) rank
(_root_.AlgebraicGeometry.isFiniteLocallyFreeOfRank_pullback (i ξ) E rank) =
(componentMultiplicity X ξ : ℤ) * componentDegree k f hX E rank ξ) :
curveDegree k f hX E rank =
∑ ξ : genericPointsOne X,
(componentMultiplicity X ξ : ℤ) * componentDegree k f hX E rank ξ
Stacks.AlgebraicGeometry.ComponentDegrees.curveDegree_eq_finsum_componentDegree_of_stalk_bijective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/ComponentMultiplicity/Devissage.lean, line 273. The attribute's comment: “the component formula, from the reduction to the irreducible case”.
Stacks 0AYW, with the first paragraph of the source proof discharged from the reduction to a finite family of closed subschemes.
The family
Zsis the source'sXᵢ, the scheme-theoretic closures of the complements of the other components, enumerated by0, …, N - 1;σpicks out the member attached to a given one-dimensional component, andhzerosays the remaining members — the zero-dimensional components — contribute nothing.
theorem curveDegree_eq_finsum_componentDegree_of_stalk_bijective
{Zs : ℕ → Scheme.{u}} (ι : ∀ j, Zs j ⟶ X) [∀ j, IsClosedImmersion (ι j)] (N : ℕ)
(σ : genericPointsOne X → Fin N) (hσ : Function.Injective σ)
(Z : Set X) (hZfin : Z.Finite) (hZcl : ∀ x ∈ Z, IsClosed ({x} : Set X))
(hbij : ∀ x ∉ Z, Function.Bijective (ConcreteCategory.hom
((_root_.AlgebraicGeometry.SheafOfModules.stalkAddCommGroupFunctor X.ringCatSheaf x).map
(Scheme.Modules.pushforwardUnitSeriesMap ι N))))
(hirreducible : ∀ ξ : genericPointsOne X,
@curveDegree k _ (Zs (σ ξ)) (ι (σ ξ) ≫ f) _
(le_trans (IsClosedImmersion.isClosedEmbedding
(ι (σ ξ))).isInducing.topologicalKrullDim_le hX)
((Scheme.Modules.pullback (ι (σ ξ))).obj E) rank
(_root_.AlgebraicGeometry.isFiniteLocallyFreeOfRank_pullback (ι (σ ξ)) E rank) =
(componentMultiplicity X ξ : ℤ) * componentDegree k f hX E rank ξ)
(hzero : ∀ j : Fin N, (∀ ξ : genericPointsOne X, σ ξ ≠ j) →
@curveDegree k _ (Zs j) (ι j ≫ f) _
(le_trans (IsClosedImmersion.isClosedEmbedding
(ι j)).isInducing.topologicalKrullDim_le hX)
((Scheme.Modules.pullback (ι j)).obj E) rank
(_root_.AlgebraicGeometry.isFiniteLocallyFreeOfRank_pullback (ι j) E rank) = 0) :
curveDegree k f hX E rank =
∑ᶠ ξ : genericPointsOne X,
(componentMultiplicity X ξ : ℤ) * componentDegree k f hX E rank ξ
Stacks.AlgebraicGeometry.ComponentDegrees.curveDegree_eq_finsum_componentDegree_of_isProper, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/ComponentMultiplicity/Unconditional.lean, line 455.
[Stacks, Tag 0AYW]. The degree of a finite locally free module of constant rank on a proper scheme of dimension at most one over a field is the multiplicity-weighted sum of its degrees on the reduced one-dimensional components.
The four steps are: the degree is the quantity
D(𝒫) = χ(𝒫 ⊗ ℰ) − n·χ(𝒫)of [Stacks, Tag 0AYU] at𝒫 = 𝒪_X;Dis additive along the dévissage of [Stacks, Tag 01YF] applied to𝒪_X; at each layerDis the weighted sum of the component degrees, the weights being the lengths of the layer at the generic points; and those lengths add up to the multiplicities.
theorem curveDegree_eq_finsum_componentDegree_of_isProper (k : Type u) [Field k]
{X : Scheme.{u}} (f : X ⟶ Spec (.of k)) [IsProper f] (hX : topologicalKrullDim X ≤ 1)
(E : X.Modules) (rank : ℕ)
[_root_.AlgebraicGeometry.SheafOfModules.IsFiniteLocallyFreeOfRank.{u, u, u} E rank] :
_root_.AlgebraicGeometry.curveDegree k f hX E rank =
∑ᶠ ξ : genericPointsOne X,
(componentMultiplicity X ξ : ℤ) * componentDegree k f hX E rank ξ
Stacks.AlgebraicGeometry.ComponentDegrees.exists_curveDegree_eq_finsum_of_isProper, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/ComponentMultiplicity/Unconditional.lean, line 526. The attribute's comment: “the existential form the source states, with no hypothesis”.
[Stacks, Tag 0AYW], in the existential form the source states: each reduced one-dimensional component is proper over the base, has dimension at most one and carries a restriction of
ℰthat is again finite locally free of the same rank, and the component formula holds with respect to those three proofs.
theorem exists_curveDegree_eq_finsum_of_isProper (k : Type u) [Field k]
{X : Scheme.{u}} (f : X ⟶ Spec (.of k)) [IsProper f] (hX : topologicalKrullDim X ≤ 1)
(E : X.Modules) (rank : ℕ)
[_root_.AlgebraicGeometry.SheafOfModules.IsFiniteLocallyFreeOfRank.{u, u, u} E rank] :
∃ (hproperC : ∀ ξ : genericPointsOne X, IsProper (reducedComponentι X ξ ≫ f))
(hdimC : ∀ ξ : genericPointsOne X, topologicalKrullDim (reducedComponent X ξ) ≤ 1)
(hrank : ∀ ξ : genericPointsOne X,
_root_.AlgebraicGeometry.SheafOfModules.IsFiniteLocallyFreeOfRank.{u, u, u}
((Scheme.Modules.pullback (reducedComponentι X ξ)).obj E) rank),
_root_.AlgebraicGeometry.curveDegree k f hX E rank =
∑ᶠ ξ : genericPointsOne X,
(componentMultiplicity X ξ : ℤ) *
@curveDegree k _ (reducedComponent X ξ) (reducedComponentι X ξ ≫ f)
(hproperC ξ) (hdimC ξ)
((Scheme.Modules.pullback (reducedComponentι X ξ)).obj E) rank (hrank ξ)
Tag 0AYX, a lemma
Tag 0AYX in the Stacks Project.
AlgebraicGeometry.curveDegree_tensorSheaf_eq_add, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/CurveDegreeTensor/Cohomological.lean, line 185. The attribute's comment: “on a proper curve; the whole tag, on a proper scheme of dimension at most one, is AlgebraicGeometry.curveDegree_tensorSheaf_eq_add_of_topologicalKrullDim_le_one”.
[Stacks, Tag 0AYX] on a proper curve. For
ℰand𝒱finite locally free of constant ranksnandmon a proper curve over a field,
deg(ℰ ⊗ 𝒱) = m · deg(ℰ) + n · deg(𝒱).No hypothesis beyond the source's own, apart from the curve hypothesis discussed in the module docstring. The rank of the tensor product is
AlgebraicGeometry.SheafOfModules.isFiniteLocallyFreeOfRank_tensorSheaf, and the two instances of [Stacks, Tag 02O6] over a field that [Stacks, Tag 0AYV] needs are supplied byAlgebraicGeometry.forall_finiteDimensional_cohomologyOverField_of_isProper.The proof is the arithmetic of [Stacks, Tag 0AYX]: the Euler characteristic of
ℰ ⊗ 𝒱ism · deg(ℰ) + n · χ(𝒱)by [Stacks, Tag 0AYV], whose rank input is the fibre rank of𝒱at the generic point and hencem; every degree is then unfolded into Euler characteristics byAlgebraicGeometry.curveDegree_eq_eulerCharacteristic_sub, where the identity is linear arithmetic.
public theorem curveDegree_tensorSheaf_eq_add
(k : Type u) [Field k] {X : Scheme.{u}} (f : X ⟶ Spec (.of k)) [IsCurve k f] [IsProper f]
(hdim : topologicalKrullDim X ≤ 1) (E V : X.Modules) (n m : ℕ)
[SheafOfModules.IsFiniteLocallyFreeOfRank.{u, u, u} E n]
[SheafOfModules.IsFiniteLocallyFreeOfRank.{u, u, u} V m] :
@curveDegree k _ X f _ hdim
((((Stacks.SheafOfModules.Tensor.sheafTensor
⟨((X.toRingedSpace)).presheaf, ((X.toRingedSpace)).IsSheaf⟩).obj (E)).obj (V))) (n * m)
(SheafOfModules.isFiniteLocallyFreeOfRank_tensorSheaf X E V n m) =
(m : ℤ) * curveDegree k f hdim E n + (n : ℤ) * curveDegree k f hdim V m
AlgebraicGeometry.curveDegree_tensorSheaf_eq_add_of_topologicalKrullDim_le_one, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/CurveDegreeTensor/Devissage.lean, line 599.
For
ℰand𝒱finite locally free of constant ranksnandmon a schemeXproper of dimension at most one over a fieldk,
deg(ℰ ⊗ 𝒱) = m · deg(ℰ) + n · deg(𝒱).
theorem curveDegree_tensorSheaf_eq_add_of_topologicalKrullDim_le_one (k : Type u) [Field k]
{X : Scheme.{u}} (f : X ⟶ Spec (.of k)) [IsProper f]
(hdim : topologicalKrullDim X ≤ 1) (E V : X.Modules) (n m : ℕ)
[SheafOfModules.IsFiniteLocallyFreeOfRank.{u, u, u} E n]
[SheafOfModules.IsFiniteLocallyFreeOfRank.{u, u, u} V m] :
@curveDegree k _ X f _ hdim
((((Stacks.SheafOfModules.Tensor.sheafTensor ⟨((X.toRingedSpace)).presheaf,
((X.toRingedSpace)).IsSheaf⟩).obj (E)).obj (V))) (n * m)
(SheafOfModules.isFiniteLocallyFreeOfRank_tensorSheaf X E V n m) =
(m : ℤ) * curveDegree k f hdim E n + (n : ℤ) * curveDegree k f hdim V m
Tag 0DJ5, a lemma
Tag 0DJ5 in the Stacks Project.
AlgebraicGeometry.curveDegree_eq_curveDegree_exteriorPower_eq_invertibleCurveDegree_determinant, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/Curve/DegreeExteriorDeterminant.lean, line 147.
[Stacks, Tag 0DJ5]. Let
kbe a field,Xa proper scheme of dimension at most one overkandℰa finite locally free𝒪_X-module of constant rankn. Then
deg(ℰ) = deg(⋀ⁿ ℰ) = deg(det(ℰ)).Both equalities are asserted, under exactly the source's hypotheses.
det(ℰ)is the determinant of [Stacks, Tag 0FJN],AlgebraicGeometry.Scheme.Modules.determinant, and its invertibility — whichAlgebraicGeometry.invertibleCurveDegreeneeds and the source does not assume — is derived from the rank ofℰbyAlgebraicGeometry.Scheme.Modules.isInvertible_determinant.The first equality is
AlgebraicGeometry.curveDegree_eq_curveDegree_exteriorPower_of_isProper: the source's dévissage on a proper curve, passed toXthrough the one-dimensional components ([Stacks, Tag 0AYW]). The second is the identification⋀ⁿ ℰ ≅ det(ℰ)of [Stacks, Tag 0B37] together with the agreement of the invertible degree with the rank-one degree.
theorem curveDegree_eq_curveDegree_exteriorPower_eq_invertibleCurveDegree_determinant
(k : Type u) [Field k] {X : Scheme.{u}} (f : X ⟶ Spec (.of k)) [IsProper f]
(hdim : topologicalKrullDim X ≤ 1) (E : X.Modules) (n : ℕ)
[SheafOfModules.IsFiniteLocallyFreeOfRank.{u, u, u} E n] :
curveDegree k f hdim E n =
@curveDegree k _ X f _ hdim (Scheme.Modules.exteriorPower E (n : ℤ)) 1
(Scheme.Modules.isFiniteLocallyFreeOfRank_exteriorPower_self E n) ∧
@curveDegree k _ X f _ hdim (Scheme.Modules.exteriorPower E (n : ℤ)) 1
(Scheme.Modules.isFiniteLocallyFreeOfRank_exteriorPower_self E n) =
@invertibleCurveDegree k _ X f _ hdim (Scheme.Modules.determinant E)
(Scheme.Modules.isInvertible_determinant E n)
Tag 0AYY, a lemma
Tag 0AYY in the Stacks Project.
AlgebraicGeometry.isFinite_and_curveDegree_tensorSheaf_invertibleSheaf, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/Curve/DivisorTwistDegree.lean, line 270.
[Stacks, Tag 0AYY]. Let
kbe a field, letXbe a proper scheme of dimension at most one overkand letDbe an effective Cartier divisor onX. ThenDis finite overSpec(k), of degree
deg(D) = dim_k Γ(D, 𝒪_D),and for a finite locally free
ℰof rankn,
deg(ℰ(D)) = n · deg(D) + deg(ℰ), whereℰ(D) = ℰ ⊗_{𝒪_X} 𝒪_X(D).The three assertions are about one and the same number
dim_k Γ(D, 𝒪_D): it is the rank of the finite locally free morphismD ⟶ Spec(k)— which is what "finite of degreedeg(D)" asserts — and it is the coefficient ofnin the twist formula.Finiteness and the degree are
AlgebraicGeometry.isFinite_divisorSubschemeandAlgebraicGeometry.isFiniteLocallyFreeOfRank_divisorSubscheme. The twist formula is [Stacks, Tag 0AYX], i.e.AlgebraicGeometry.curveDegree_tensorSheaf_eq_add_of_topologicalKrullDim_le_one, atℰand𝒪_X(D), whosedeg(𝒪_X(D))term isAlgebraicGeometry.curveDegree_invertibleSheaf_eq_finrank_globalSections.
theorem isFinite_and_curveDegree_tensorSheaf_invertibleSheaf (E : X.Modules) (n : ℕ)
[SheafOfModules.IsFiniteLocallyFreeOfRank.{u, u, u} E n] :
letI : Algebra k Γ(D.subscheme, ⊤) :=
((Scheme.ΓSpecIso (.of k)).inv ≫ (D.subschemeι ≫ f).appTop).hom.toAlgebra
IsFinite (D.subschemeι ≫ f) ∧
Stacks.Morphisms.IsFiniteLocallyFreeOfRank (D.subschemeι ≫ f)
(Module.finrank k Γ(D.subscheme, ⊤)) ∧
@curveDegree k _ X f _ hdim
((((Stacks.SheafOfModules.Tensor.sheafTensor
⟨((X.toRingedSpace)).presheaf, ((X.toRingedSpace)).IsSheaf⟩).obj (E)).obj
((Stacks.Divisors.invertibleSheaf' D)))) n
(isFiniteLocallyFreeOfRank_tensorSheaf_invertibleSheaf D E n) =
(n : ℤ) * (Module.finrank k Γ(D.subscheme, ⊤) : ℤ) + curveDegree k f hdim E n
Tag 0C6P, a lemma
Tag 0C6P in the Stacks Project.
AlgebraicGeometry.isField_and_finite_globalSections, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/Curve/DegreeDivisibility.lean, line 103. The attribute's comment: “the global sections are a finite field extension”.
For a proper scheme over a field which is reduced and connected, the ring of global sections is a finite field extension of the base field.
theorem isField_and_finite_globalSections (k : Type u) [Field k] {X : Scheme.{u}}
(f : X ⟶ Spec (.of k)) [IsProper f] [IsReduced X] [ConnectedSpace X] :
letI : Algebra k Γ(X, ⊤) := ((Scheme.ΓSpecIso (.of k)).inv ≫ f.appTop).hom.toAlgebra
IsField Γ(X, ⊤) ∧ Module.Finite k Γ(X, ⊤)
AlgebraicGeometry.finrank_globalSections_dvd_curveDegree, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/Curve/DegreeDivisibility.lean, line 156. The attribute's comment: “w divides the degree of a finite locally free sheaf”.
For a proper scheme over a field which is reduced and connected and of dimension at most one, the degree of the extension
Γ(X, 𝒪_X)/kdivides the degree of every finite locally free sheaf of constant rank onX.
theorem finrank_globalSections_dvd_curveDegree (k : Type u) [Field k] {X : Scheme.{u}}
(f : X ⟶ Spec (.of k)) [IsProper f] [IsReduced X] [ConnectedSpace X]
(hdim : topologicalKrullDim X ≤ 1) (E : X.Modules) (rank : ℕ)
[SheafOfModules.IsFiniteLocallyFreeOfRank.{u, u, u} E rank] :
letI : Algebra k Γ(X, ⊤) := ((Scheme.ΓSpecIso (.of k)).inv ≫ f.appTop).hom.toAlgebra
(Module.finrank k Γ(X, ⊤) : ℤ) ∣ curveDegree k f hdim E rank
AlgebraicGeometry.finrank_globalSections_dvd_finrank_residueField, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/Curve/DegreeDivisibility.lean, line 173. The attribute's comment: “w divides the degree of a residue field”.
For a proper scheme over a field which is reduced and connected, the degree of the extension
Γ(X, 𝒪_X)/kdivides the degree overkof the residue field at every point.
theorem finrank_globalSections_dvd_finrank_residueField (k : Type u) [Field k] {X : Scheme.{u}}
(f : X ⟶ Spec (.of k)) [IsProper f] [IsReduced X] [ConnectedSpace X] (x : X) :
letI : Algebra k Γ(X, ⊤) := ((Scheme.ΓSpecIso (.of k)).inv ≫ f.appTop).hom.toAlgebra
letI : Algebra k (X.residueField x) :=
((Scheme.ΓSpecIso (.of k)).inv ≫ f.appTop ≫ X.Γevaluation x).hom.toAlgebra
Module.finrank k Γ(X, ⊤) ∣ Module.finrank k (X.residueField x)
AlgebraicGeometry.finrank_globalSections_dvd_finrank_globalSections_of_dimension_zero, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/Curve/DegreeDivisibility.lean, line 186. The attribute's comment: “w divides the degree of a zero-dimensional closed subscheme”.
Let
Xbe a proper scheme over a field which is reduced and connected and letD ⊆ Xbe a closed subscheme of dimension zero. ThenDis finite locally free overkof rankdim_k Γ(D, 𝒪_D), and the degree of the extensionΓ(X, 𝒪_X)/kdivides it.
theorem finrank_globalSections_dvd_finrank_globalSections_of_dimension_zero (k : Type u)
[Field k] {X D : Scheme.{u}} (f : X ⟶ Spec (.of k)) [IsProper f] [IsReduced X]
[ConnectedSpace X] (i : D ⟶ X) [IsClosedImmersion i] (hdimD : topologicalKrullDim D = 0) :
letI : Algebra k Γ(X, ⊤) := ((Scheme.ΓSpecIso (.of k)).inv ≫ f.appTop).hom.toAlgebra
letI : Algebra k Γ(D, ⊤) := ((Scheme.ΓSpecIso (.of k)).inv ≫ (i ≫ f).appTop).hom.toAlgebra
Stacks.Morphisms.IsFiniteLocallyFreeOfRank (i ≫ f) (Module.finrank k Γ(D, ⊤)) ∧
Module.finrank k Γ(X, ⊤) ∣ Module.finrank k Γ(D, ⊤)
Tag 0AYZ, a lemma
Tag 0AYZ in the Stacks Project.
AlgebraicGeometry.curveDegree_pullback_eq_degreeOver_mul, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/Curve/PullbackDegree.lean, line 332.
Let
kbe a field, letf : X ⟶ Ybe a nonconstant morphism of proper curves overkand letℰbe a finite locally free𝒪_Y-module of constant rankn. Then
deg(f^*ℰ) = deg(X/Y)·deg(ℰ),where
deg(X/Y) = [R(X) : R(Y)]isAlgebraicGeometry.degreeOver([Stacks, Tag 02NY]) anddegisAlgebraicGeometry.curveDegree([Stacks, Tag 0AYR]).
theorem curveDegree_pullback_eq_degreeOver_mul (k : Type u) [Field k] {X Y : Scheme.{u}}
(πX : X ⟶ Spec (.of k)) (πY : Y ⟶ Spec (.of k))
[IsCurve k πX] [IsCurve k πY] [IsProper πX] [IsProper πY]
(f : X ⟶ Y) (hf : f ≫ πY = πX) (hnc : ¬ ∃ y : Y, ∀ x : X, f.base x = y)
(E : Y.Modules) (n : ℕ) [SheafOfModules.IsFiniteLocallyFreeOfRank.{u, u, u} E n] :
@curveDegree k _ X πX _ (le_of_eq (IsCurve.topologicalKrullDim_eq_one (f := πX)))
((Scheme.Modules.pullback f).obj E) n (isFiniteLocallyFreeOfRank_pullback f E n) =
(@degreeOver X Y f _ _ (locallyOfFiniteType_of_isCurve_comp k πX πY f hf)
(isDominant_of_not_constant k πX πY f hnc) : ℤ) *
curveDegree k πY (le_of_eq (IsCurve.topologicalKrullDim_eq_one (f := πY))) E n
AlgebraicGeometry.curveDegree_pullback_eq_degreeOver_mul_of_isFiniteLocallyFree, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/Curve/PullbackDegree.lean, line 422. References: SGA 6 X (4.4), “(4.4.3), special case”.
Let
kbe a field, letf : X ⟶ Ybe a nonconstant morphism of proper curves overkand letℰbe a finite locally free𝒪_Y-module. Then
deg(f^*ℰ) = deg(X/Y)·deg(ℰ),where
deg(X/Y) = [R(X) : R(Y)]isAlgebraicGeometry.degreeOver([Stacks, Tag 02NY]) anddegisAlgebraicGeometry.curveDegree([Stacks, Tag 0AYR]), both degrees taken at the fibre rank ofℰat the generic point ofY.
theorem curveDegree_pullback_eq_degreeOver_mul_of_isFiniteLocallyFree (k : Type u) [Field k]
{X Y : Scheme.{u}} (πX : X ⟶ Spec (.of k)) (πY : Y ⟶ Spec (.of k))
[IsCurve k πX] [IsCurve k πY] [IsProper πX] [IsProper πY]
(f : X ⟶ Y) (hf : f ≫ πY = πX) (hnc : ¬ ∃ y : Y, ∀ x : X, f.base x = y)
(E : Y.Modules)
[SheafOfModules.IsFiniteLocallyFree.{u, u, u} (R := Y.ringCatSheaf) E] :
letI _hrank : SheafOfModules.IsFiniteLocallyFreeOfRank.{u, u, u} E
(Scheme.Modules.fiberRank E (genericPoint (Y : Type u))) :=
Scheme.Modules.isFiniteLocallyFreeOfRank_of_fiberRank_eq E
(Scheme.Modules.fiberRank E (genericPoint (Y : Type u)))
(genericPoint (Y : Type u)) rfl
@curveDegree k _ X πX _ (le_of_eq (IsCurve.topologicalKrullDim_eq_one (f := πX)))
((Scheme.Modules.pullback f).obj E)
(Scheme.Modules.fiberRank E (genericPoint (Y : Type u)))
(isFiniteLocallyFreeOfRank_pullback f E
(Scheme.Modules.fiberRank E (genericPoint (Y : Type u)))) =
(@degreeOver X Y f _ _ (locallyOfFiniteType_of_isCurve_comp k πX πY f hf)
(isDominant_of_not_constant k πX πY f hnc) : ℤ) *
curveDegree k πY (le_of_eq (IsCurve.topologicalKrullDim_eq_one (f := πY))) E
(Scheme.Modules.fiberRank E (genericPoint (Y : Type u)))
Tag 0B40, a lemma
Tag 0B40 in the Stacks Project.
AlgebraicGeometry.invertibleCurveDegree_nonneg_of_eval_top_ne_zero, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/Curve/SectionDegree.lean, line 272. The attribute's comment: “part (1)”.
The degree of an invertible module with a nonzero global section is nonnegative, on a proper integral scheme of dimension at most one over a field.
theorem invertibleCurveDegree_nonneg_of_eval_top_ne_zero [IsProper f] [IsIntegral X]
(hdim : topologicalKrullDim X ≤ 1) (L : X.Modules)
[hL : SheafOfModules.IsInvertible X.sheaf.obj X.ringCatSheaf.property L] (s : L.sections)
(hs : s.eval (op ⊤) ≠ 0) :
0 ≤ @invertibleCurveDegree k _ X f _ hdim L hL
AlgebraicGeometry.invertibleCurveDegree_pos_of_eval_top_ne_zero, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/Curve/SectionDegree.lean, line 377. The attribute's comment: “part (2)”.
A nonzero section with a zero forces positive degree. On a proper integral scheme of dimension at most one over a field, a nonzero global section of an invertible module which vanishes at some point forces the degree of that module to be positive.
theorem invertibleCurveDegree_pos_of_eval_top_ne_zero [IsProper f] [IsIntegral X]
(hdim : topologicalKrullDim X ≤ 1) (L : X.Modules)
[hL : SheafOfModules.IsInvertible X.sheaf.obj X.ringCatSheaf.property L] (s : L.sections)
(hs : s.eval (op ⊤) ≠ 0)
(hzero : ∃ y : X, y ∉ nonvanishingLocus (X := X.toRingedSpace) L s) :
0 < @invertibleCurveDegree k _ X f _ hdim L hL
AlgebraicGeometry.isIso_unitHomEquiv_symm_of_invertibleCurveDegree_nonpos, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/Curve/SectionDegree.lean, line 432. The attribute's comment: “part (4), in the stronger form the source's proof supports and the text does not state: the multiplication map O_X -> L of the given section is itself an isomorphism, not merely L isomorphic to O_X abstractly. The weaker reading is the corollary isTrivial_of_invertibleCurveDegree_nonpos beside it”.
A nonzero section of a module of nonpositive degree trivializes it. On a proper integral scheme of dimension at most one over a field, let
ℒbe an invertible module withdeg(ℒ) ≤ 0and a nonzero global sections. Then multiplication bysis an isomorphism𝒪_X ⟶ ℒ.
theorem isIso_unitHomEquiv_symm_of_invertibleCurveDegree_nonpos [IsProper f] [IsIntegral X]
(hdim : topologicalKrullDim X ≤ 1) (L : X.Modules)
[hL : SheafOfModules.IsInvertible X.sheaf.obj X.ringCatSheaf.property L] (s : L.sections)
(hs : s.eval (op ⊤) ≠ 0) (hdeg : @invertibleCurveDegree k _ X f _ hdim L hL ≤ 0) :
IsIso (L.unitHomEquiv.symm s)
AlgebraicGeometry.isTrivial_of_invertibleCurveDegree_nonpos, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/Curve/SectionDegree.lean, line 447. The attribute's comment: “part (4) as stated -- L is isomorphic to O_X”.
An invertible module of nonpositive degree with a nonzero global section is trivial, on a proper integral scheme of dimension at most one over a field.
theorem isTrivial_of_invertibleCurveDegree_nonpos [IsProper f] [IsIntegral X]
(hdim : topologicalKrullDim X ≤ 1) (L : X.Modules)
[hL : SheafOfModules.IsInvertible X.sheaf.obj X.ringCatSheaf.property L] (s : L.sections)
(hs : s.eval (op ⊤) ≠ 0) (hdeg : @invertibleCurveDegree k _ X f _ hdim L hL ≤ 0) :
SheafOfModules.IsTrivial X.presheaf X.ringCatSheaf.property L
AlgebraicGeometry.isTrivial_of_eval_top_ne_zero_of_inverse, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/Curve/SectionDegree.lean, line 537. The attribute's comment: “part (3)”.
An invertible module whose inverse also has a nonzero section is trivial. If an invertible module
ℒon an integral scheme universally closed over a field and its inverseℒ^{⊗ -1}both have nonzero global sections, thenℒ ≅ 𝒪_X.
theorem isTrivial_of_eval_top_ne_zero_of_inverse [IsIntegral X] [UniversallyClosed f]
(L : X.Modules) [hL : SheafOfModules.IsInvertible X.presheaf X.ringCatSheaf.property L]
(s : L.sections) (hs : s.eval (op ⊤) ≠ 0)
(t : (tensorPowerModule L (-1)).sections) (ht : t.eval (op ⊤) ≠ 0) :
SheafOfModules.IsTrivial X.presheaf X.ringCatSheaf.property L
AlgebraicGeometry.invertibleCurveDegree_le_of_hom_ne_zero, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/Curve/SectionDegree.lean, line 706. The attribute's comment: “part (5), the inequality deg(N) <= deg(L)”.
A nonzero morphism of invertible modules does not decrease the degree. On a proper curve over a field, a nonzero morphism
𝒩 ⟶ ℒof invertible modules forcesdeg(𝒩) ≤ deg(ℒ).
theorem invertibleCurveDegree_le_of_hom_ne_zero [IsCurve k f] [IsProper f]
(hdim : topologicalKrullDim X ≤ 1) (N L : X.Modules)
[hN : SheafOfModules.IsInvertible X.presheaf X.ringCatSheaf.property N]
[hL : SheafOfModules.IsInvertible X.presheaf X.ringCatSheaf.property L]
(φ : N ⟶ L) (hφ : φ ≠ 0) :
invertibleCurveDegree k f hdim N ≤ invertibleCurveDegree k f hdim L
AlgebraicGeometry.isIso_of_invertibleCurveDegree_eq_of_hom_ne_zero, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/Curve/SectionDegree.lean, line 724. The attribute's comment: “part (5), the equality case: the morphism is an isomorphism”.
A nonzero morphism of invertible modules of equal degree is an isomorphism, on a proper curve over a field.
theorem isIso_of_invertibleCurveDegree_eq_of_hom_ne_zero [IsCurve k f] [IsProper f]
(hdim : topologicalKrullDim X ≤ 1) (N L : X.Modules)
[hN : SheafOfModules.IsInvertible X.presheaf X.ringCatSheaf.property N]
[hL : SheafOfModules.IsInvertible X.presheaf X.ringCatSheaf.property L]
(φ : N ⟶ L) (hφ : φ ≠ 0)
(heq : invertibleCurveDegree k f hdim N = invertibleCurveDegree k f hdim L) : IsIso φ
AlgebraicGeometry.invertibleCurveDegree_eq_of_isIso, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/Curve/SectionDegree.lean, line 750. The attribute's comment: “part (5), the converse of the equality case: an isomorphism has equal degrees, so the equality holds exactly when the morphism is an isomorphism”.
An isomorphism of invertible modules preserves the degree, on a proper scheme of dimension at most one over a field.
theorem invertibleCurveDegree_eq_of_isIso [IsProper f] (hdim : topologicalKrullDim X ≤ 1)
(N L : X.Modules)
[hN : SheafOfModules.IsInvertible X.presheaf X.ringCatSheaf.property N]
[hL : SheafOfModules.IsInvertible X.presheaf X.ringCatSheaf.property L]
(φ : N ⟶ L) [IsIso φ] :
invertibleCurveDegree k f hdim N = invertibleCurveDegree k f hdim L
Tag 0E22, a lemma
Tag 0E22 in the Stacks Project.
AlgebraicGeometry.subsingleton_globalSections_or_isTrivial_of_invertibleCurveDegree_nonpos, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/Curve/NonpositiveDegreeSection.lean, line 238.
Let
kbe a field andXa proper scheme overkwhich is reduced, connected and equidimensional of dimension one, and letℒbe an invertible𝒪_X-module whose restriction to every irreducible component ofXhas degree≤ 0. Then eitherH⁰(X, ℒ) = 0orℒ ≅ 𝒪_X.
theorem subsingleton_globalSections_or_isTrivial_of_invertibleCurveDegree_nonpos [IsReduced X]
[ConnectedSpace X] (_hequi : TopologicalSpace.Equidimensional (X : Type u))
(hdim : topologicalKrullDim (X : Type u) = 1) (L : X.Modules)
[hL : SheafOfModules.IsInvertible X.presheaf X.ringCatSheaf.2 L]
(hdeg : ∀ (C : Set X) (hC : C ∈ irreducibleComponents (X : Type u)),
haveI : SheafOfModules.IsInvertible
(Scheme.IdealSheafData.vanishingIdeal
⟨C, isClosed_of_mem_irreducibleComponents C hC⟩).subscheme.presheaf
(Scheme.IdealSheafData.vanishingIdeal
⟨C, isClosed_of_mem_irreducibleComponents C hC⟩).subscheme.ringCatSheaf.2
((RingedSpaceModuleAdjunction.modulePullback
(Scheme.IdealSheafData.vanishingIdeal
⟨C, isClosed_of_mem_irreducibleComponents C hC⟩).subschemeι.toLRSHom.toShHom).obj
L) :=
RingedSpaceModuleAdjunction.modulePullback_isInvertible_scheme _ L
invertibleCurveDegree k
((Scheme.IdealSheafData.vanishingIdeal
⟨C, isClosed_of_mem_irreducibleComponents C hC⟩).subschemeι ≫ f)
((StacksTag09NX.topologicalKrullDim_le_of_isClosedImmersion
(Scheme.IdealSheafData.vanishingIdeal
⟨C, isClosed_of_mem_irreducibleComponents C hC⟩).subschemeι).trans hdim.le)
((RingedSpaceModuleAdjunction.modulePullback
(Scheme.IdealSheafData.vanishingIdeal
⟨C, isClosed_of_mem_irreducibleComponents C hC⟩).subschemeι.toLRSHom.toShHom).obj
L) ≤ 0) :
Subsingleton Γ(L, ⊤) ∨ SheafOfModules.IsTrivial X.presheaf X.ringCatSheaf.2 L
Tag 0B5X, a lemma
Tag 0B5X in the Stacks Project.
AlgebraicGeometry.isAmple_iff_invertibleCurveDegree_pos, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/AmpleDegreeCriterion/CurveAmple.lean, line 154. The attribute's comment: “both directions, for a proper curve over a field”.
[Stacks, Tag 0B5X]. Let
kbe a field,Xa proper curve overkand𝓛an invertible𝒪_X-module. Then𝓛is ample if and only ifdeg(𝓛) > 0.The forward direction is
AlgebraicGeometry.invertibleCurveDegree_pos_of_isAmple_of_isCurveof./CurveInputs.lean. The converse composes the source's second paragraph,AlgebraicGeometry.hasAffinePowerOfDegreePos_of_isCurveof./CurveSection.lean, with its third, which enters throughAlgebraicGeometry.isAmple_of_exists_tensorPower_section_of_isCurveabove.
hdimis an explicit argument becauseAlgebraicGeometry.invertibleCurveDegreetakes the dimension bound as one; on a curve it isle_of_eq (IsCurve.topologicalKrullDim_eq_one f), and it is an unused argument of that definition, so any two proofs of it give the same degree.
public theorem isAmple_iff_invertibleCurveDegree_pos [IsCurve k f] [IsProper f]
(hdim : topologicalKrullDim X ≤ 1) (L : X.Modules)
[SheafOfModules.IsInvertible X.presheaf X.ringCatSheaf.2 L] :
Scheme.Modules.IsAmple X L ↔ 0 < invertibleCurveDegree k f hdim L
AlgebraicGeometry.invertibleCurveDegree_pos_of_isAmple_of_isCurve, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/AmpleDegreeCriterion/CurveInputs.lean, line 241. The attribute's comment: “the implication: L ample ⟹ deg(L) > 0, with no hypothesis beyond the tag's own; both directions are registered on isAmple_iff_invertibleCurveDegree_pos”.
The forward direction of [Stacks, Tag 0B5X], at the source's hypotheses. On a proper curve over a field an ample invertible module has positive degree.
This is
AlgebraicGeometry.invertibleCurveDegree_pos_of_isAmple_of_devissagewith each of its four inputs supplied by the theorems above.The converse implication is
AlgebraicGeometry.isAmple_iff_invertibleCurveDegree_posofCurveAmple.lean, which states both directions.
public theorem invertibleCurveDegree_pos_of_isAmple_of_isCurve [IsCurve k f] [IsProper f]
(hdim : topologicalKrullDim X ≤ 1) (L : X.Modules)
[SheafOfModules.IsInvertible X.presheaf X.ringCatSheaf.2 L]
(hL : Scheme.Modules.IsAmple X L) :
0 < invertibleCurveDegree k f hdim L
Tag 0B5Y, a lemma
Tag 0B5Y in the Stacks Project.
AlgebraicGeometry.isAmple_iff_forall_invertibleCurveDegree_reducedComponent_pos, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/AmpleDegreeCriterion/ComponentCriterion.lean, line 302. The attribute's comment: “both directions, at the tag's own indexing by the one-dimensional irreducible components with their reduced induced closed subscheme structure”.
[Stacks, Tag 0B5Y], both directions. Let
kbe a field, letXbe a scheme proper of dimension at most one overkand let𝓛be an invertible𝒪_X-module. Then𝓛is ample if and only if the degree of the restriction of𝓛to every one-dimensional irreducible component ofX, taken with its reduced induced closed subscheme structure, is positive.The components of dimension one are the tag's
C₁, …, C_t: they are indexed by their generic points,Stacks.AlgebraicGeometry.ComponentDegrees.genericPointsOne X, the reduced induced subscheme isStacks.AlgebraicGeometry.ComponentDegrees.reducedComponent, and that it is a proper curve overkis proved with no hypothesis.The implication (1) ⟹ (2) is
AlgebraicGeometry.invertibleCurveDegree_reducedComponent_pos_of_isAmpleof./ComponentPositivity.lean, which has no hypothesis beyond the tag's own.For the implication (2) ⟹ (1) the covering family of the source is formed: all the irreducible components, which are finitely many because a scheme proper over a field is Noetherian. Each has dimension zero or one. On a zero-dimensional one the restriction of
𝓛is ample outright, and on a one-dimensional one positivity of the degree makes it ample by the converse direction of [Stacks, Tag 0B5X]; ampleness then descends toXalong the finite surjection from the disjoint union, by [Stacks, Tag 0B5V] together withAlgebraicGeometry.isAmple_sigma_of_forall_isAmple_pullback_sigmaι.No hypothesis beyond the tag's own.
public theorem isAmple_iff_forall_invertibleCurveDegree_reducedComponent_pos
(k : Type u) [Field k] {X : Scheme.{u}}
(f : X ⟶ Spec (.of k)) [IsProper f]
(hdim : topologicalKrullDim X ≤ 1) (L : X.Modules)
[SheafOfModules.IsInvertible X.toRingedSpace.presheaf
(structureSheafRing X.toRingedSpace).property L] :
Scheme.Modules.IsAmple X L ↔
∀ ζ : genericPointsOne X,
0 < @invertibleCurveDegree k _ (reducedComponent X ζ) (reducedComponentι X ζ ≫ f)
(isProper_reducedComponentι_comp k f ζ)
(topologicalKrullDim_reducedComponent_le X hdim ζ)
((Scheme.Modules.pullback (reducedComponentι X ζ)).obj L)
(SheafOfModules.isInvertible_pullback (reducedComponentι X ζ) L)
AlgebraicGeometry.invertibleCurveDegree_reducedComponent_pos_of_isAmple, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/AmpleDegreeCriterion/ComponentPositivity.lean, line 246. The attribute's comment: “the implication (1) ⟹ (2), at the tag's own indexing by the one-dimensional irreducible components with their reduced induced structure, with no hypothesis beyond the tag's own; the full equivalence is registered on isAmple_iff_forall_invertibleCurveDegree_reducedComponent_pos”.
The implication (1) ⟹ (2) of [Stacks, Tag 0B5Y]. Let
kbe a field, letXbe proper of dimension at most one overkand let𝓛be an ample invertible𝒪_X-module. Then the degree of the restriction of𝓛to every one-dimensional irreducible component ofX, taken with its reduced induced closed subscheme structure, is positive.The components of dimension one are indexed by their generic points,
Stacks.AlgebraicGeometry.ComponentDegrees.genericPointsOne X, and the reduced induced subscheme isStacks.AlgebraicGeometry.ComponentDegrees.reducedComponent; that it is a proper curve overk— integral, separated, of finite type and of dimension exactly one — isStacks.AlgebraicGeometry.ComponentDegrees.isCurve_reducedComponentι_comptogether withStacks.AlgebraicGeometry.ComponentDegrees.isProper_reducedComponentι_comp, both proved with no hypothesis. So this is the tag's own familyC₁, …, C_tand its own conclusion.No hypothesis beyond the tag's own. The reverse implication is
AlgebraicGeometry.isAmple_iff_forall_invertibleCurveDegree_reducedComponent_posofComponentCriterion.lean, which states the full equivalence.
public theorem invertibleCurveDegree_reducedComponent_pos_of_isAmple [IsProper f]
(hdim : topologicalKrullDim X ≤ 1) (L : X.Modules)
[SheafOfModules.IsInvertible X.presheaf X.ringCatSheaf.2 L]
(hL : Scheme.Modules.IsAmple X L) (ξ : genericPointsOne X) :
0 < @invertibleCurveDegree k _ (reducedComponent X ξ) (reducedComponentι X ξ ≫ f)
(isProper_reducedComponentι_comp k f ξ)
(topologicalKrullDim_reducedComponent_le X hdim ξ)
((Scheme.Modules.pullback (reducedComponentι X ξ)).obj L)
(SheafOfModules.isInvertible_pullback (reducedComponentι X ξ) L)
Tag 0B8Z, a lemma
Tag 0B8Z in the Stacks Project.
AlgebraicGeometry.exists_invertible_finrank_cohomologyOverField_zero_eq_one, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Curves/PrescribedLowCohomology.lean, line 237. The attribute's comment: “assertion (1)”.
[Stacks, Tag 0B8Z], assertion (1). On a proper curve over an algebraically closed field there is an invertible module
ℒwithdim_k H⁰(X, ℒ) = 1andH¹(X, ℒ) = 0.Starting from an invertible module with vanishing
H¹and a nonzero global section (AlgebraicGeometry.exists_invertible_isZero_cohomologyOverField_one_and_zero_lt_finrank) and twisting downdim_k H⁰(X, ℒ₀) - 1times byAlgebraicGeometry.exists_pointTwistDown, each step loweringdim_k H⁰by one and preserving the vanishing ofH¹.
public theorem exists_invertible_finrank_cohomologyOverField_zero_eq_one [IsAlgClosed k]
[IsProper f] [IsCurve k f] :
∃ L : X.Modules, SheafOfModules.IsInvertible X.sheaf.obj X.ringCatSheaf.property L ∧
Module.finrank k (cohomologyOverField k f L 0) = 1 ∧
IsZero (cohomologyOverField k f L 1)
AlgebraicGeometry.exists_invertible_isZero_cohomologyOverField_zero_one, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Curves/PrescribedLowCohomology.lean, line 256. The attribute's comment: “assertion (2), the vanishing of both H⁰ and H¹”.
[Stacks, Tag 0B8Z], assertion (2). On a proper curve over an algebraically closed field there is an invertible module
𝒩withH⁰(X, 𝒩) = 0andH¹(X, 𝒩) = 0.The same descent as for assertion (1), run one step further, down to
dim_k H⁰ = 0; the vanishing ofH⁰— rather than only its dimension — comes from the finite dimensionality carried along the induction.
public theorem exists_invertible_isZero_cohomologyOverField_zero_one [IsAlgClosed k] [IsProper f]
[IsCurve k f] :
∃ N : X.Modules, SheafOfModules.IsInvertible X.sheaf.obj X.ringCatSheaf.property N ∧
IsZero (cohomologyOverField k f N 0) ∧ IsZero (cohomologyOverField k f N 1)
Tag 0B90, a lemma
Tag 0B90 in the Stacks Project.
AlgebraicGeometry.isZero_cohomologyOverField_one_of_two_mul_genus_sub_one_le_invertibleCurveDegree, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Curves/LargeDegreeVanishing.lean, line 641. The attribute's comment: “the whole statement: H¹(X, L) = 0 for every invertible O_X-module L with deg(L) ≥ 2g - 1 on a proper curve X over an algebraically closed field, with g the genus”.
[Stacks, Tag 0B90]. Let
kbe an algebraically closed field, letXbe a proper curve overkand letg = dim_k H¹(X, 𝒪_X). ThenH¹(X, ℒ) = 0for every invertible𝒪_X-moduleℒwithdeg(ℒ) ≥ 2g - 1.Let
𝒩be the invertible module of [Stacks, Tag 0B8Z] (2), of degreeg - dim_k H⁰(X, 𝒪_X). Thenℒ ⊗ 𝒩^{⊗ -1}has degreedeg(ℒ) - g + dim_k H⁰(X, 𝒪_X), so
dim_k H⁰(ℒ ⊗ 𝒩^{⊗ -1}) - dim_k H¹(ℒ ⊗ 𝒩^{⊗ -1}) = deg(ℒ) - 2g + 2 dim_k H⁰(X, 𝒪_X) ≥ 1because
dim_k H⁰(X, 𝒪_X) ≥ 1on a proper integral scheme; henceℒ ⊗ 𝒩^{⊗ -1}has a nonzero global section andisZero_cohomologyOverField_one_of_tensorInverse_sectionapplies.
public theorem isZero_cohomologyOverField_one_of_two_mul_genus_sub_one_le_invertibleCurveDegree
[IsAlgClosed k] [IsProper f] [IsCurve k f] (L : X.Modules)
(hL : SheafOfModules.IsInvertible X.sheaf.obj X.ringCatSheaf.property L)
(hdeg : 2 * (genus f : ℤ) - 1 ≤ @invertibleCurveDegree k _ X f _
(IsCurve.topologicalKrullDim_eq_one (k := k) (f := f)).le L hL) :
IsZero (cohomologyOverField k f L 1)
Sources
Section33.45 Numerical intersections#
Section 33.45 of the Stacks Project, Tag 0BEL. 13 tags here are carried by 25 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0BEM, a lemma
Tag 0BEM in the Stacks Project.
AlgebraicGeometry.exists_eulerPolynomial_twistedSheaf_of_isProper, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/TwistedSheaf/EulerPolynomialProper.lean, line 38.
Let
kbe a field, letXbe a scheme proper overk, let𝓛_1, …, 𝓛_rbe invertible𝒪_X-modules and letℱbe a coherent𝒪_X-module. Then the Euler characteristics of the twistsℱ ⊗ 𝓛_1^{⊗ n_1} ⊗ ⋯ ⊗ 𝓛_r^{⊗ n_r}are the values of a polynomial inℚ[n_1, …, n_r]which is zero or of total degree at mostdim Supp ℱ.
theorem exists_eulerPolynomial_twistedSheaf_of_isProper (k : Type u) [Field k] {X : Scheme.{u}}
(f : X ⟶ Spec (.of k)) {r : ℕ} (L : Fin r → X.Modules)
[∀ i, SheafOfModules.IsInvertible X.presheaf X.ringCatSheaf.2 (L i)] [IsProper f]
(F : X.Modules) (hF : _root_.SheafOfModules.IsCoherent F) :
∃ P : MvPolynomial (Fin r) ℚ,
(P = 0 ∨ (P.totalDegree : WithBot ℕ∞) ≤
topologicalKrullDim (_root_.SheafOfModules.supp F)) ∧
∀ n : Fin r → ℤ, MvPolynomial.eval (fun j => (n j : ℚ)) P
= (@eulerCharacteristic k _ X f _ (twistedSheaf F L n)
(@twistedSheaf_isCoherent X r F L _ hF n) : ℚ)
Tag 0BEN, a lemma
Tag 0BEN in the Stacks Project.
AlgebraicGeometry.exists_eulerPolynomial_sub_topDimComponents_totalDegree_lt, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/NumericalIntersectionLeadingTerm.lean, line 981. The attribute's comment: “the Euler characteristic minus the length-weighted Euler characteristics of the top-dimensional components of the support is a numerical polynomial of lower total degree”.
[Stacks, Tag 0BEN]. For
Xproper over a fieldk, a coherent𝒪_X-moduleℱand invertible𝒪_X-modules𝓛_1, …, 𝓛_r, the difference betweenχ(X, ℱ ⊗ 𝓛_1^{⊗ n_1} ⊗ ⋯ ⊗ 𝓛_r^{⊗ n_r})and the sum over the top-dimensional integral componentsZofSupp ℱ, weighted by the length ofℱat the generic point ofZ, ofχ(Z, 𝒪_Z ⊗ 𝓛_1^{⊗ n_1} ⊗ ⋯ ⊗ 𝓛_r^{⊗ n_r})is a numerical polynomial inn_1, …, n_rof total degree strictly less thandim Supp ℱ.
theorem exists_eulerPolynomial_sub_topDimComponents_totalDegree_lt (k : Type u) [Field k]
{X : Scheme.{u}} (f : X ⟶ Spec (.of k)) [IsProper f] {r : ℕ} (L : Fin r → X.Modules)
[∀ i, SheafOfModules.IsInvertible X.presheaf X.ringCatSheaf.2 (L i)]
(F : X.Modules) [F.IsCoherent] :
∃ P : MvPolynomial (Fin r) ℚ,
(P = 0 ∨ ((P.totalDegree : ℕ) : WithBot ℕ∞) <
topologicalKrullDim (_root_.SheafOfModules.supp F)) ∧
∀ n : Fin r → ℤ, MvPolynomial.eval (fun j ↦ (n j : ℚ)) P =
(eulerCharacteristic k f (twistedSheaf F L n) : ℚ) -
∑ᶠ Z : TopDimIntegralSubscheme F,
(Stacks.Chow.sheafMultiplicity F Z.genericPt : ℚ) *
(componentTwistEulerCharacteristic k f L Z n : ℚ)
Tag 0BEP, a definition
Tag 0BEP in the Stacks Project.
AlgebraicGeometry.intersectionNumber, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/NumericalIntersection.lean, line 192. References: SGA 6 XIII (2.1); SGA 6 X (4.4), “defn of (L_1..L_d;F)”.
Stacks 0BEP. The intersection number
(𝓛_1 ⋯ 𝓛_d · Z)ofdinvertible𝒪_X-modules against a closed subschemei : Z ⟶ Xof dimension at mostdof a proper schemeXover a fieldk: the coefficient ofn_1 ⋯ n_din the numerical polynomialχ(Z, 𝓛_1^{⊗ n_1} ⊗ ⋯ ⊗ 𝓛_d^{⊗ n_d}|_Z), computed as thed-fold mixed finite difference
∑_{T ⊆ {1, …, d}} (-1)^{d - |T|} χ(Z, ⨂_{j ∈ T} 𝓛_j|_Z)of that function. This is an honest integer, which is Stacks 0BEQ: only finitely many values of the function are used, so neither polynomiality nor a choice of representing polynomial enters. The Euler characteristic is written out as the alternating sum of the dimensions of the cohomology groups, so that no coherence hypothesis is needed to state the definition;
AlgebraicGeometry.intersectionNumber_eq_sum_eulerCharacteristicis the comparison withAlgebraicGeometry.eulerCharacteristic.
public noncomputable def intersectionNumber (k : Type u) [Field k] {X Z : Scheme.{u}}
(f : X ⟶ Spec (.of k)) [IsProper f] (i : Z ⟶ X) [IsClosedImmersion i]
(d : ℕ) (_hd : topologicalKrullDim Z ≤ d) (L : Fin d → X.Modules)
[∀ j, SheafOfModules.IsInvertible X.presheaf X.ringCatSheaf.2 (L j)] : ℤ
AlgebraicGeometry.intersectionNumber_eq_coeff, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/NumericalIntersection.lean, line 260. The attribute's comment: “the coefficient of n_1 ⋯ n_d”. References: SGA 6 XIII (2.1), “coeff of n_1⋯n_s”; SGA 6 X (4.4), “defn of (L_1..L_d;F)”.
Stacks 0BEP, the coefficient of
n_1 ⋯ n_d. If a rational polynomialPindvariables of total degree at mostdtakes the Euler characteristicsχ(Z, 𝓛_1^{⊗ n_1} ⊗ ⋯ ⊗ 𝓛_d^{⊗ n_d}|_Z)as its values at the integral tuples, then the intersection number(𝓛_1 ⋯ 𝓛_d · Z)is the coefficient ofn_1 ⋯ n_dinP.This is the source's own description of the intersection number. The existence of such a
P, which is Stacks 0BEM, is not assumed: the statement is unconditional inP, and the proof is the monomial computationMvPolynomial.sum_neg_one_pow_mul_eval_indicator_eq_coeff_one.
public theorem intersectionNumber_eq_coeff (k : Type u) [Field k] {X Z : Scheme.{u}}
(f : X ⟶ Spec (.of k)) [IsProper f] (i : Z ⟶ X) [IsClosedImmersion i]
(d : ℕ) (hd : topologicalKrullDim Z ≤ d) (L : Fin d → X.Modules)
[∀ j, SheafOfModules.IsInvertible X.presheaf X.ringCatSheaf.2 (L j)]
(P : MvPolynomial (Fin d) ℚ)
(hP : ∀ n : Fin d → ℤ, MvPolynomial.eval (fun j => (n j : ℚ)) P =
((@eulerCharacteristic k _ Z (i ≫ f) inferInstance
(twistedSheaf (SheafOfModules.unit Z.ringCatSheaf)
(fun j => (Scheme.Modules.pullback i).obj (L j)) n)
(isCoherent_twistedSheafUnitPullback k f i L n) : ℤ) : ℚ))
(hdeg : P.totalDegree ≤ d) :
((intersectionNumber k f i d hd L : ℤ) : ℚ) =
P.coeff (Finsupp.equivFunOnFinite.symm fun _ => 1)
AlgebraicGeometry.selfIntersectionNumber, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/NumericalIntersection.lean, line 311. The attribute's comment: “the self-intersection notation (L^d · Z)”. References: SGA 6 XIII (2.1), “all L_i equal”.
Stacks 0BEP, the self-intersection notation
(𝓛^d · Z). The intersection number of a single invertible𝒪_X-module𝓛repeateddtimes against a closed subschemei : Z ⟶ Xof dimension at mostd.
public noncomputable def selfIntersectionNumber (k : Type u) [Field k] {X Z : Scheme.{u}}
(f : X ⟶ Spec (.of k)) [IsProper f] (i : Z ⟶ X) [IsClosedImmersion i]
(d : ℕ) (hd : topologicalKrullDim Z ≤ d) (L : X.Modules)
[SheafOfModules.IsInvertible X.presheaf X.ringCatSheaf.2 L] : ℤ
Tag 0BEQ, a lemma
Tag 0BEQ in the Stacks Project.
AlgebraicGeometry.intersectionNumber_isInteger, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/NumericalIntersectionIntegrality.lean, line 164.
Stacks 0BEQ. In the situation of Stacks 0BEP —
ka field,Xa scheme proper overk,i : Z ⟶ Xa closed subscheme of dimension at mostd, and𝓛_1, …, 𝓛_dinvertible𝒪_X-modules — the intersection number(𝓛_1 ⋯ 𝓛_d · Z)is an integer.The intersection number is the coefficient of the squarefree monomial
n_1 ⋯ n_din the numerical polynomialχ(Z, 𝓛_1^{⊗ n_1} ⊗ ⋯ ⊗ 𝓛_d^{⊗ n_d}|_Z)of Stacks 0BEM, whose coefficients are a priori only rational; the assertion is that this one is integral. The polynomial is not assumed: Stacks 0BEM, available unconditionally asAlgebraicGeometry.exists_eulerPolynomial_twistedSheaf_of_isProper, produces it, and its total degree is at mostdim Supp 𝒪_Z ≤ dim Z ≤ d. The integer produced isAlgebraicGeometry.intersectionNumber k f i d hd L, byAlgebraicGeometry.intersectionNumber_eq_coeff.The integrality itself is
AlgebraicGeometry.exists_int_coeff_one_of_eval_eq_eulerCharacteristic, which holds for every polynomial of total degree at mostdrepresenting those Euler characteristics.
public theorem intersectionNumber_isInteger (k : Type u) [Field k] {X Z : Scheme.{u}}
(f : X ⟶ Spec (.of k)) [IsProper f] (i : Z ⟶ X) [IsClosedImmersion i]
(d : ℕ) (hd : topologicalKrullDim Z ≤ d) (L : Fin d → X.Modules)
[∀ j, SheafOfModules.IsInvertible X.presheaf X.ringCatSheaf.2 (L j)] :
∃ P : MvPolynomial (Fin d) ℚ,
(∀ n : Fin d → ℤ, MvPolynomial.eval (fun j => (n j : ℚ)) P =
((@eulerCharacteristic k _ Z (i ≫ f) inferInstance
(twistedSheaf (SheafOfModules.unit Z.ringCatSheaf)
(fun j => (Scheme.Modules.pullback i).obj (L j)) n)
(isCoherent_twistedSheafUnitPullback k f i L n) : ℤ) : ℚ)) ∧
P.totalDegree ≤ d ∧
∃ m : ℤ, P.coeff (Finsupp.equivFunOnFinite.symm fun _ => 1) = (m : ℚ)
Tag 0BER, a lemma
Tag 0BER in the Stacks Project.
AlgebraicGeometry.intersectionNumber_tensor, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/NumericalIntersections/Additivity.lean, line 499. The attribute's comment: “additivity of the intersection number in each invertible module”.
[Stacks, Tag 0BER]. The intersection number is additive in each slot: if
𝓛_jis the tensor product of𝓛_j'and𝓛_j'', and the three families of invertible modules agree away fromj, then
(𝓛_1 ⋯ 𝓛_j ⋯ 𝓛_d · Z) = (𝓛_1 ⋯ 𝓛_j' ⋯ 𝓛_d · Z) + (𝓛_1 ⋯ 𝓛_j'' ⋯ 𝓛_d · Z).
public theorem intersectionNumber_tensor (k : Type u) [Field k] {X Z : Scheme.{u}}
(f : X ⟶ Spec (.of k)) [IsProper f] (i : Z ⟶ X) [IsClosedImmersion i]
(d : ℕ) (hd : topologicalKrullDim Z ≤ d) (j : Fin d) (L L' L'' : Fin d → X.Modules)
[∀ q, SheafOfModules.IsInvertible X.presheaf X.ringCatSheaf.2 (L q)]
[∀ q, SheafOfModules.IsInvertible X.presheaf X.ringCatSheaf.2 (L' q)]
[∀ q, SheafOfModules.IsInvertible X.presheaf X.ringCatSheaf.2 (L'' q)]
(hL' : ∀ q, q ≠ j → L' q = L q) (hL'' : ∀ q, q ≠ j → L'' q = L q)
(hj : L j ≅ (((Stacks.SheafOfModules.Tensor.sheafTensor ⟨X.presheaf,
Presheaf.isSheaf_of_isSheaf_comp _ (X.presheaf) (forget₂ CommRingCat RingCat)
(X.ringCatSheaf.2)⟩).obj ((L' j))).obj ((L'' j)))) :
intersectionNumber k f i d hd L =
intersectionNumber k f i d hd L' + intersectionNumber k f i d hd L''
AlgebraicGeometry.intersectionNumber_update_tensor, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/NumericalIntersections/Additivity.lean, line 638. The attribute's comment: “additivity in the j-th slot, written with Function.update”.
[Stacks, Tag 0BER], the
Function.updateform. If𝓛_j ≅ 𝓜 ⊗ 𝓝then
(𝓛_1 ⋯ 𝓛_j ⋯ 𝓛_d · Z) = (𝓛_1 ⋯ 𝓜 ⋯ 𝓛_d · Z) + (𝓛_1 ⋯ 𝓝 ⋯ 𝓛_d · Z),the two families on the right being the given one with its
j-th member replaced.
public theorem intersectionNumber_update_tensor (k : Type u) [Field k] {X Z : Scheme.{u}}
(f : X ⟶ Spec (.of k)) [IsProper f] (i : Z ⟶ X) [IsClosedImmersion i]
(d : ℕ) (hd : topologicalKrullDim Z ≤ d) (j : Fin d) (L : Fin d → X.Modules)
[∀ q, SheafOfModules.IsInvertible X.presheaf X.ringCatSheaf.2 (L q)] (M N : X.Modules)
[SheafOfModules.IsInvertible X.presheaf X.ringCatSheaf.2 M]
[SheafOfModules.IsInvertible X.presheaf X.ringCatSheaf.2 N]
(hj : L j ≅ (((Stacks.SheafOfModules.Tensor.sheafTensor ⟨X.presheaf,
Presheaf.isSheaf_of_isSheaf_comp _ (X.presheaf) (forget₂ CommRingCat RingCat)
(X.ringCatSheaf.2)⟩).obj (M)).obj (N))) :
intersectionNumber k f i d hd L =
intersectionNumber k f i d hd (Function.update L j M) +
intersectionNumber k f i d hd (Function.update L j N)
Tag 0BES, a lemma
Tag 0BES in the Stacks Project.
AlgebraicGeometry.intersectionNumber_eq_sum_topDimComponents, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/NumericalIntersections/Components.lean, line 118. The attribute's comment: “the intersection number is the length-weighted sum of the intersection numbers of the top-dimensional irreducible components”.
[Stacks, Tag 0BES]. Let
kbe a field, letXbe proper overk, leti : Z ⟶ Xbe a closed subscheme of dimensiondand let𝓛_1, …, 𝓛_dbe invertible𝒪_X-modules. WritingZ_1, …, Z_tfor the irreducible components ofZof dimensiond, with generic pointsξ_iand multiplicitiesm_i = length_{𝒪_{X, ξ_i}} 𝒪_{Z, ξ_i}, the intersection number ofZis the weighted sum of those of its components:
(𝓛_1 ⋯ 𝓛_d · Z) = ∑_i m_i (𝓛_1 ⋯ 𝓛_d · Z_i).
public theorem intersectionNumber_eq_sum_topDimComponents (k : Type u) [Field k]
{X Z : Scheme.{u}} (f : X ⟶ Spec (.of k)) [IsProper f] (i : Z ⟶ X) [IsClosedImmersion i]
(d : ℕ) (hd : topologicalKrullDim Z = (d : WithBot ℕ∞)) (L : Fin d → X.Modules)
[∀ j, SheafOfModules.IsInvertible X.presheaf X.ringCatSheaf.2 (L j)] :
intersectionNumber k f i d hd.le L =
∑ᶠ W : TopDimIntegralSubscheme
((Scheme.Modules.pushforward i).obj (Stacks.Ample.unitModule Z)),
Stacks.Chow.sheafMultiplicity
((Scheme.Modules.pushforward i).obj (Stacks.Ample.unitModule Z)) W.genericPt *
intersectionNumber k f W.1.subschemeι d
(topologicalKrullDim_subscheme_le_of_topDimIntegralSubscheme i hd W) L
AlgebraicGeometry.intersectionNumber_eq_sum_dimComponents, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/NumericalIntersections/ComponentsVanishing.lean, line 199.
[Stacks, Tag 0BES]. Let
kbe a field, letXbe proper overk, leti : Z ⟶ Xbe a closed subscheme of dimension at mostdand let𝓛_1, …, 𝓛_dbe invertible𝒪_X-modules. WritingZ_1, …, Z_tfor the irreducible components ofZof dimensiond, with generic pointsξ_iand multiplicitiesm_i = length_{𝒪_{X, ξ_i}} 𝒪_{Z, ξ_i}, the intersection number ofZis the weighted sum of those of itsd-dimensional components:
(𝓛_1 ⋯ 𝓛_d · Z) = ∑_i m_i (𝓛_1 ⋯ 𝓛_d · Z_i).For
dim Z = dthis isAlgebraicGeometry.intersectionNumber_eq_sum_topDimComponents, the components of dimensiondbeing then the top-dimensional ones; fordim Z < dboth sides are zero, the sum being empty.
public theorem intersectionNumber_eq_sum_dimComponents (k : Type u) [Field k]
{X Z : Scheme.{u}} (f : X ⟶ Spec (.of k)) [IsProper f] (i : Z ⟶ X) [IsClosedImmersion i]
(d : ℕ) (hd : topologicalKrullDim Z ≤ (d : WithBot ℕ∞)) (L : Fin d → X.Modules)
[∀ j, SheafOfModules.IsInvertible X.presheaf X.ringCatSheaf.2 (L j)] :
intersectionNumber k f i d hd L =
∑ᶠ W : DimIntegralSubscheme
((Scheme.Modules.pushforward i).obj (Stacks.Ample.unitModule Z)) d,
Stacks.Chow.sheafMultiplicity
((Scheme.Modules.pushforward i).obj (Stacks.Ample.unitModule Z)) W.genericPt *
intersectionNumber k f W.1.subschemeι d W.topologicalKrullDim_le L
Tag 0BET, a lemma
Tag 0BET in the Stacks Project.
AlgebraicGeometry.intersectionNumber_pullback_eq_zero, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/NumericalIntersections/Pullback.lean, line 662. The attribute's comment: “the right-hand side is zero when the scheme-theoretic image has dimension less than d”.
[Stacks, Tag 0BET], the case of a scheme-theoretic image of smaller dimension. Let
kbe a field, letf : Y ⟶ Xbe a morphism of schemes proper overk, leti : Z ⟶ Ybe an integral closed subscheme of dimension at mostdand let𝓛_1, …, 𝓛_dbe invertible𝒪_X-modules. If the scheme-theoretic imagef(Z)has dimension less thand, then
(f^*𝓛_1 ⋯ f^*𝓛_d · Z) = 0.
public theorem intersectionNumber_pullback_eq_zero (k : Type u) [Field k] {Y X Z : Scheme.{u}}
(pY : Y ⟶ Spec (.of k)) (pX : X ⟶ Spec (.of k)) [IsProper pY] [IsProper pX]
(f : Y ⟶ X) (hf : f ≫ pX = pY) (i : Z ⟶ Y) [IsClosedImmersion i] [IsIntegral Z]
(d : ℕ) (hd : topologicalKrullDim Z ≤ (d : WithBot ℕ∞)) (L : Fin d → X.Modules)
[∀ j, SheafOfModules.IsInvertible X.presheaf X.ringCatSheaf.2 (L j)]
(hIm : topologicalKrullDim (i ≫ f).image < (d : WithBot ℕ∞)) :
intersectionNumber k pY i d hd (fun j => (Scheme.Modules.pullback f).obj (L j)) = 0
AlgebraicGeometry.intersectionNumber_pullback_eq_degreeOver_mul, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/NumericalIntersections/Pullback.lean, line 698. The attribute's comment: “the degree formula when the scheme-theoretic image has the same dimension”.
[Stacks, Tag 0BET], the equal-dimensional case. Let
kbe a field, letf : Y ⟶ Xbe a morphism of schemes proper overk, leti : Z ⟶ Ybe an integral closed subscheme of dimensiondand let𝓛_1, …, 𝓛_dbe invertible𝒪_X-modules. If the scheme-theoretic imagef(Z)again has dimensiond, then
(f^*𝓛_1 ⋯ f^*𝓛_d · Z) = deg(f|_Z : Z → f(Z)) (𝓛_1 ⋯ 𝓛_d · f(Z)),the degree being the one of [Stacks, Morphisms, Definition 02NY].
public theorem intersectionNumber_pullback_eq_degreeOver_mul (k : Type u) [Field k]
{Y X Z : Scheme.{u}} (pY : Y ⟶ Spec (.of k)) (pX : X ⟶ Spec (.of k))
[IsProper pY] [IsProper pX] (f : Y ⟶ X) (hf : f ≫ pX = pY) (i : Z ⟶ Y)
[IsClosedImmersion i] [IsIntegral Z] (d : ℕ)
(hZ : topologicalKrullDim Z = (d : WithBot ℕ∞)) (L : Fin d → X.Modules)
[∀ j, SheafOfModules.IsInvertible X.presheaf X.ringCatSheaf.2 (L j)]
(hIm : topologicalKrullDim (i ≫ f).image = (d : WithBot ℕ∞)) :
haveI : IsProper (i ≫ f) := isProper_comp_of_structureMap k pY pX f hf i
haveI : IsIntegral (i ≫ f).image := Stacks.Chow.isIntegral_image (i ≫ f)
haveI : IsProper (i ≫ f).toImage := Stacks.Chow.isProper_toImage (i ≫ f)
intersectionNumber k pY i d hZ.le (fun j => (Scheme.Modules.pullback f).obj (L j)) =
degreeOver (i ≫ f).toImage *
intersectionNumber k pX (i ≫ f).imageι d hIm.le L
Tag 0BEU, a lemma
Tag 0BEU in the Stacks Project.
AlgebraicGeometry.intersectionNumber_eq_of_isEffectiveCartierDivisor, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/NumericalIntersections/DivisorIntersectionProper.lean, line 92. The attribute's comment: “taking the divisor's dimension bound as an argument”.
[Stacks, Tag 0BEU]. Let
kbe a field, letXbe a scheme proper overk, leti : Z ⟶ Xbe a closed subscheme of dimension at mostd + 1and let𝓛_1, …, 𝓛_{d+1}be invertible𝒪_X-modules. LetD ⊆ Zbe an effective Cartier divisor of dimension at mostdwith𝓛_1|_Z ≅ 𝒪_Z(D). Then
(𝓛_1 ⋯ 𝓛_{d+1} · Z) = (𝓛_2 ⋯ 𝓛_{d+1} · D),the intersection number of the divisor being taken along the composite closed immersion
D ⟶ Z ⟶ X.This is
AlgebraicGeometry.intersectionNumber_eq_intersectionNumber_of_isEffectiveCartierDivisorwith its hypothesishfindischarged byAlgebraicGeometry.forall_finiteDimensional_cohomologyOverField_of_isProper, which is [Stacks, Tag 02O6].The bound
hdDon the dimension of the divisor is still an argument here; it is not part of Tag 0BEU's data, being a consequence ofhd, and it is discharged inAlgebraicGeometry.intersectionNumber_eq_of_isEffectiveCartierDivisor', which therefore carries the tag with no bound to supply. This form keeps its own registration.
public theorem intersectionNumber_eq_of_isEffectiveCartierDivisor
(k : Type u) [Field k] {X Z : Scheme.{u}} (f : X ⟶ Spec (.of k)) [IsProper f]
(i : Z ⟶ X) [IsClosedImmersion i] (d : ℕ)
(hd : topologicalKrullDim Z ≤ (d + 1 : ℕ)) (L : Fin (d + 1) → X.Modules)
[∀ t, SheafOfModules.IsInvertible X.presheaf X.ringCatSheaf.2 (L t)]
(Dv : Z.IdealSheafData) [hDv : IsEffectiveCartierDivisor Dv]
(hdD : topologicalKrullDim Dv.subscheme ≤ d)
(hL : (Scheme.Modules.pullback i).obj (L 0) ≅ (invertibleSheaf Dv : Z.Modules)) :
intersectionNumber k f i (d + 1) hd L =
intersectionNumber k f (Dv.subschemeι ≫ i) d hdD fun t : Fin d => L t.succ
AlgebraicGeometry.intersectionNumber_eq_of_isEffectiveCartierDivisor', a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/NumericalIntersections/DivisorIntersectionProper.lean, line 142. The attribute's comment: “the intersection number of a closed subscheme against invertible modules equals that of an effective Cartier divisor cutting out the first module's restriction”.
[Stacks, Tag 0BEU]. Let
kbe a field, letXbe a scheme proper overk, leti : Z ⟶ Xbe a closed subscheme of dimension at mostd + 1and let𝓛_1, …, 𝓛_{d+1}be invertible𝒪_X-modules. LetD ⊆ Zbe an effective Cartier divisor with𝓛_1|_Z ≅ 𝒪_Z(D). Then
(𝓛_1 ⋯ 𝓛_{d+1} · Z) = (𝓛_2 ⋯ 𝓛_{d+1} · D),the intersection number of the divisor being taken along the composite closed immersion
D ⟶ Z ⟶ X.This is the tag with nothing assumed. Beyond
hd,hLand the effective Cartier divisor instance — which are the tag's own data — it has no hypothesis: the dimension bounddim D ≤ dthat the right-hand intersection number needs is supplied byAlgebraicGeometry.topologicalKrullDim_subscheme_le_of_isEffectiveCartierDivisor_of_isProper, since an effective Cartier divisor is nowhere dense and so loses a dimension.
public theorem intersectionNumber_eq_of_isEffectiveCartierDivisor'
(k : Type u) [Field k] {X Z : Scheme.{u}} (f : X ⟶ Spec (.of k)) [IsProper f]
(i : Z ⟶ X) [IsClosedImmersion i] (d : ℕ)
(hd : topologicalKrullDim Z ≤ (d + 1 : ℕ)) (L : Fin (d + 1) → X.Modules)
[∀ t, SheafOfModules.IsInvertible X.presheaf X.ringCatSheaf.2 (L t)]
(Dv : Z.IdealSheafData) [hDv : IsEffectiveCartierDivisor Dv]
(hL : (Scheme.Modules.pullback i).obj (L 0) ≅ (invertibleSheaf Dv : Z.Modules)) :
intersectionNumber k f i (d + 1) hd L =
intersectionNumber k f (Dv.subschemeι ≫ i) d
(topologicalKrullDim_subscheme_le_of_isEffectiveCartierDivisor_of_isProper k f i d hd Dv)
fun t : Fin d => L t.succ
Tag 0BEV, a lemma
Tag 0BEV in the Stacks Project.
AlgebraicGeometry.intersectionNumber_pos, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/NumericalIntersections/Positivity.lean, line 275.
[Stacks, Tag 0BEV]. Let
kbe a field, letXbe a scheme proper overk, leti : Z ⟶ Xbe a closed subscheme of dimensiondand let𝓛_1, …, 𝓛_dbe ample invertible𝒪_X-modules. Then the intersection number(𝓛_1 ⋯ 𝓛_d · Z)is positive.
public theorem intersectionNumber_pos (k : Type u) [Field k] {X Z : Scheme.{u}}
(f : X ⟶ Spec (.of k)) [IsProper f] (i : Z ⟶ X) [IsClosedImmersion i] (d : ℕ)
(hdim : topologicalKrullDim Z = (d : WithBot ℕ∞)) (L : Fin d → X.Modules)
[∀ j, SheafOfModules.IsInvertible X.presheaf X.ringCatSheaf.2 (L j)]
(hL : ∀ j, Scheme.Modules.IsAmple X (L j)) :
0 < intersectionNumber k f i d hdim.le L
AlgebraicGeometry.selfIntersectionNumber_pos, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/NumericalIntersections/Positivity.lean, line 286. The attribute's comment: “the self-intersection number of a single ample module”.
[Stacks, Tag 0BEV] for the self-intersection number
(𝓛^d · Z)of a single ample invertible module.
public theorem selfIntersectionNumber_pos (k : Type u) [Field k] {X Z : Scheme.{u}}
(f : X ⟶ Spec (.of k)) [IsProper f] (i : Z ⟶ X) [IsClosedImmersion i] (d : ℕ)
(hdim : topologicalKrullDim Z = (d : WithBot ℕ∞)) (L : X.Modules)
[SheafOfModules.IsInvertible X.presheaf X.ringCatSheaf.2 L]
(hL : Scheme.Modules.IsAmple X L) :
0 < selfIntersectionNumber k f i d hdim.le L
AlgebraicGeometry.degreeWithRespectTo_pos, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/NumericalIntersections/Positivity.lean, line 297. The attribute's comment: “the degree deg_L(Z) of Tag 0BEW is positive”.
[Stacks, Tag 0BEV] for the degree
deg_𝓛(Z)of [Stacks, Tag 0BEW]: the degree of a closed subscheme with respect to an ample invertible module is positive.
public theorem degreeWithRespectTo_pos (k : Type u) [Field k] {X Z : Scheme.{u}}
(f : X ⟶ Spec (.of k)) [IsProper f] (i : Z ⟶ X) [IsClosedImmersion i] (d : ℕ)
(hdim : topologicalKrullDim Z = (d : WithBot ℕ∞)) (L : X.Modules)
[SheafOfModules.IsInvertible X.presheaf X.ringCatSheaf.2 L]
(hL : Scheme.Modules.IsAmple X L) :
0 < degreeWithRespectTo k f i d hdim L hL
Tag 0BEW, a definition
Tag 0BEW in the Stacks Project.
AlgebraicGeometry.degreeWithRespectTo, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/NumericalIntersection.lean, line 338.
Stacks 0BEW. The degree
deg_𝓛(Z)of a closed subschemei : Z ⟶ Xof a proper schemeXover a fieldkwith respect to an ample invertible𝒪_X-module𝓛: the intersection number(𝓛^d · Z)fordthe dimension ofZ.The dimension is passed as a natural number
dtogether with the hypothesistopologicalKrullDim Z = d, which is what makesdthe source'sdim(Z);dis therefore determined by the data and the degree does not depend on whichdis supplied. An emptyZhas dimension⊥and an infinite-dimensionalZhas dimension⊤, neither of which is(d : WithBot ℕ∞)for a natural numberd, so no value is assigned to them — see the implementation notes. Ampleness is not used in the body: the source requires it so thatdeg_𝓛deserves the name of a degree, and it is carried for that reason.
public noncomputable def degreeWithRespectTo (k : Type u) [Field k] {X Z : Scheme.{u}}
(f : X ⟶ Spec (.of k)) [IsProper f] (i : Z ⟶ X) [IsClosedImmersion i]
(d : ℕ) (hd : topologicalKrullDim Z = d) (L : X.Modules)
[SheafOfModules.IsInvertible X.presheaf X.ringCatSheaf.2 L]
(_hample : Scheme.Modules.IsAmple X L) : ℤ
Tag 0BEX, a lemma
Tag 0BEX in the Stacks Project.
AlgebraicGeometry.selfIntersectionNumber_pullback_of_isFinite, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/NumericalIntersections/FiniteDominant.lean, line 227. The attribute's comment: “for an arbitrary invertible module, with no ampleness”.
[Stacks, Tag 0BEX]. Let
kbe a field, letf : Y ⟶ Xbe a finite dominant morphism of proper varieties overkof dimensiondand let𝓛be an invertible𝒪_X-module. Then
(f^*𝓛^d · Y) = deg(f) (𝓛^d · X),the degree
deg(f) = [R(Y) : R(X)]beingAlgebraicGeometry.degreeOverof [Stacks, Morphisms, Definition 02NY]. For𝓛ample both sides are the degreesdeg_{f^*𝓛}(Y)anddeg_𝓛(X)of [Stacks, Tag 0BEW], which is the source's statement; seeAlgebraicGeometry.degreeWithRespectTo_pullback_of_isFinite.Ampleness is not assumed: it is not used by the source's proof and neither side needs it to be formed.
public theorem selfIntersectionNumber_pullback_of_isFinite (k : Type u) [Field k]
{Y X : Scheme.{u}} (p : X ⟶ Spec (.of k)) [IsVariety k p] [IsProper p] (f : Y ⟶ X)
[IsFinite f] [IsDominant f] [IsVariety k (f ≫ p)] (d : ℕ)
(hd : topologicalKrullDim X = (d : WithBot ℕ∞)) (L : X.Modules)
[SheafOfModules.IsInvertible X.presheaf X.ringCatSheaf.2 L] :
selfIntersectionNumber k (f ≫ p) (𝟙 Y) d
(((topologicalKrullDim_eq_of_isFinite_of_isDominant f).trans hd).le)
((Scheme.Modules.pullback f).obj L) =
(degreeOver f : ℤ) * selfIntersectionNumber k p (𝟙 X) d hd.le L
AlgebraicGeometry.degreeWithRespectTo_pullback_of_isFinite, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/NumericalIntersections/FiniteDominant.lean, line 298.
[Stacks, Tag 0BEX]. Let
kbe a field, letf : Y ⟶ Xbe a finite dominant morphism of proper varieties overkand let𝓛be an ample invertible𝒪_X-module. Then
deg_{f^*𝓛}(Y) = deg(f) deg_𝓛(X),the degrees being those of [Stacks, Tag 0BEW] and
deg(f) = [R(Y) : R(X)]that of [Stacks, Morphisms, Definition 02NY].The dimension of
Xis passed as a natural numberdtogether withtopologicalKrullDim X = d, asAlgebraicGeometry.degreeWithRespectToasks; the dimension ofYis thendtoo and is not a hypothesis. Neither is the ampleness off^*𝓛that the left-hand side needs: it isAlgebraicGeometry.isAmple_pullback_of_isFinite.The content is
AlgebraicGeometry.selfIntersectionNumber_pullback_of_isFinite, which does not mention ampleness;AlgebraicGeometry.degreeWithRespectTois by definition the self-intersection number, so this is that statement read at the source's notation.
public theorem degreeWithRespectTo_pullback_of_isFinite (k : Type u) [Field k]
{Y X : Scheme.{u}} (p : X ⟶ Spec (.of k)) [IsVariety k p] [IsProper p] (f : Y ⟶ X)
[IsFinite f] [IsDominant f] [IsVariety k (f ≫ p)] (d : ℕ)
(hd : topologicalKrullDim X = (d : WithBot ℕ∞)) (L : X.Modules)
[SheafOfModules.IsInvertible X.presheaf X.ringCatSheaf.2 L]
(hL : Scheme.Modules.IsAmple X L) :
degreeWithRespectTo k (f ≫ p) (𝟙 Y) d
((topologicalKrullDim_eq_of_isFinite_of_isDominant f).trans hd)
((Scheme.Modules.pullback f).obj L) (isAmple_pullback_of_isFinite f L hL) =
(degreeOver f : ℤ) * degreeWithRespectTo k p (𝟙 X) d hd L hL
Tag 0BEY, a lemma
Tag 0BEY in the Stacks Project.
AlgebraicGeometry.intersectionNumber_one_eq_invertibleCurveDegree, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/NumericalIntersection.lean, line 369.
Stacks 0BEY. For a closed subscheme
Z ⊂ Xof dimension at most one of a proper schemeXover a fieldkand an invertible𝒪_X-module𝓛, the intersection number(𝓛 · Z)is the degreedeg(𝓛|_Z)of Stacks 0AYR.The source's proof is that
n ↦ χ(Z, 𝓛|_Z^{⊗ n})has degree one, so its leading coefficient is the difference of consecutive values. With the finite difference as the definition that difference is the intersection number: the sum overFinset (Fin 1)has the two terms-χ(Z, 𝒪_Z)andχ(Z, 𝓛|_Z), the first twist being the trivial one (AlgebraicGeometry.twistedSheafZeroIso) and the second𝓛|_Zitself (Stacks.SheafOfModules.Invertible.tensorPowerOneIsoand the left unitor), andAlgebraicGeometry.invertibleCurveDegreeis by definition their difference. Neither polynomiality nor a degree computation is needed, so the statement keeps the source's≤ 1; it is in fact true for everyZ.
public theorem intersectionNumber_one_eq_invertibleCurveDegree (k : Type u) [Field k]
{X Z : Scheme.{u}} (f : X ⟶ Spec (.of k)) [IsProper f] (i : Z ⟶ X) [IsClosedImmersion i]
(hdim : topologicalKrullDim Z ≤ 1) (L : X.Modules)
[SheafOfModules.IsInvertible X.presheaf X.ringCatSheaf.2 L] :
intersectionNumber k f i 1 hdim (fun _ => L) =
invertibleCurveDegree k (i ≫ f) hdim ((Scheme.Modules.pullback i).obj L)
AlgebraicGeometry.degreeWithRespectTo_eq_invertibleCurveDegree, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/NumericalIntersection.lean, line 425. The attribute's comment: “the ample case”.
Stacks 0BEY, the ample case. For a closed subscheme
Z ⊂ Xof dimension one of a proper schemeXover a fieldkand an ample invertible𝒪_X-module𝓛, the degreedeg_𝓛(Z)of Stacks 0BEW is the degreedeg(𝓛|_Z)of Stacks 0AYR.The source states this for
Zof dimension at most one, but at dimension zero the two numbers differ:deg_𝓛(Z)is then(𝓛^0 · Z) = χ(Z, 𝒪_Z)(AlgebraicGeometry.intersectionNumber_zero) whiledeg(𝓛|_Z)isχ(Z, 𝓛|_Z) - χ(Z, 𝒪_Z), and for a nonempty zero-dimensionalZthe first is the positive integerdim_k Γ(Z, 𝒪_Z)and the second is0. The hypothesis is thereforetopologicalKrullDim Z = 1, which is wheredeg_𝓛(Z)is the intersection number(𝓛 · Z); the conclusion is thenAlgebraicGeometry.intersectionNumber_one_eq_invertibleCurveDegree, which does keep the source's≤ 1.
public theorem degreeWithRespectTo_eq_invertibleCurveDegree (k : Type u) [Field k]
{X Z : Scheme.{u}} (f : X ⟶ Spec (.of k)) [IsProper f] (i : Z ⟶ X) [IsClosedImmersion i]
(hd : topologicalKrullDim Z = 1) (L : X.Modules)
[SheafOfModules.IsInvertible X.presheaf X.ringCatSheaf.2 L]
(hample : Scheme.Modules.IsAmple X L) :
degreeWithRespectTo k f i 1 hd L hample =
invertibleCurveDegree k (i ≫ f) hd.le ((Scheme.Modules.pullback i).obj L)
Tag 0BJ8, a proposition
Tag 0BJ8 in the Stacks Project.
AlgebraicGeometry.degreeWithRespectTo_div_factorial_pos, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/NumericalIntersections/AsymptoticRiemannRoch.lean, line 276. The attribute's comment: “the leading coefficient deg_L(X)/d! is a positive constant”.
[Stacks, Tag 0BJ8], the leading coefficient. For
Xproper overkof dimensiondand𝓛ample, the constantdeg_𝓛(X)/d!is positive. The degreedeg_𝓛(X)is positive by [Stacks, Tag 0BEV] andd!is positive.
public theorem degreeWithRespectTo_div_factorial_pos :
0 < (degreeWithRespectTo k f (𝟙 X) d hdim L hL : ℚ) / (d.factorial : ℚ)
AlgebraicGeometry.exists_degree_lt_eventually_finrank_globalSections_eq, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/NumericalIntersections/AsymptoticRiemannRoch.lean, line 382. The attribute's comment: “the asymptotic formula for dim_k Γ(X, L^n)”.
[Stacks, Tag 0BJ8], the asymptotic formula. For
Xproper overkof dimensiondand𝓛ample, for all sufficiently largen
dim_k Γ(X, 𝓛^{⊗ n}) = deg_𝓛(X)/d! ⬝ n^d + P(n)with
Pa rational polynomial of degree strictly less thand.
public theorem exists_degree_lt_eventually_finrank_globalSections_eq :
∃ P : Polynomial ℚ, P.degree < (d : WithBot ℕ) ∧
∀ᶠ n : ℕ in atTop,
(Module.finrank k (globalSectionsOverField k f
(tensorPower X.presheaf X.ringCatSheaf.2 L (n : ℤ))) : ℚ) =
(degreeWithRespectTo k f (𝟙 X) d hdim L hL : ℚ) / (d.factorial : ℚ) * (n : ℚ) ^ d +
P.eval (n : ℚ)
AlgebraicGeometry.asymptotic_riemann_roch, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/NumericalIntersections/AsymptoticRiemannRoch.lean, line 466.
[Stacks, Tag 0BJ8] (Asymptotic Riemann–Roch). Let
kbe a field, letXbe a scheme proper overkof dimensiondand let𝓛be an ample invertible𝒪_X-module. Then
dim_k Γ(X, 𝓛^{⊗ n}) = deg_𝓛(X)/d! ⬝ n^d + lower order termsfor all sufficiently large
n, and the leading constantdeg_𝓛(X)/d!is positive.
public theorem asymptotic_riemann_roch :
0 < (degreeWithRespectTo k f (𝟙 X) d hdim L hL : ℚ) / (d.factorial : ℚ) ∧
∃ P : Polynomial ℚ, P.degree < (d : WithBot ℕ) ∧
∀ᶠ n : ℕ in atTop,
(Module.finrank k (globalSectionsOverField k f
(tensorPower X.presheaf X.ringCatSheaf.2 L (n : ℤ))) : ℚ) =
(degreeWithRespectTo k f (𝟙 X) d hdim L hL : ℚ) / (d.factorial : ℚ) * (n : ℚ) ^ d +
P.eval (n : ℚ)
Sources
Section33.46 Embedding dimension#
Section 33.46 of the Stacks Project, Tag 0C2G. 2 tags here are carried by 2 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0C1Q, a definition
Tag 0C1Q in the Stacks Project.
AlgebraicGeometry.Scheme.embeddingDimension, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/Tangent/EmbeddingDimension.lean, line 49.
The dimension of the cotangent space of the local ring of
Xatx, over its residue field.
abbrev Scheme.embeddingDimension (X : Scheme.{u}) (x : X) [FiniteDimensional
(ResidueField (X.presheaf.stalk x)) (CotangentSpace (X.presheaf.stalk x))] : ℕ
Tag 0C2H, a definition
Tag 0C2H in the Stacks Project.
AlgebraicGeometry.Scheme.Hom.embeddingDimension, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/Tangent/EmbeddingDimension.lean, line 55.
The dimension over
κ(x)of the tangent space ofXoverkatx.
abbrev Scheme.Hom.embeddingDimension (k : Type u) [Field k] {X : Scheme.{u}}
(f : X ⟶ Spec (.of k)) [LocallyOfFiniteType f] (x : X) : ℕ
Sources
Section33.47 Bertini theorems#
Section 33.47 of the Stacks Project, Tag 0FD4. 3 tags here are carried by 16 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0FD5, a lemma
Tag 0FD5 in the Stacks Project.
Stacks.SectionsVanishingOnSubscheme.exists_bound_generatesOffSupport_and_isImmersion, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/VanishingSystemImmersion/Basic.lean, line 790.
[Stacks, Tag 0FD5]. Let
kbe a field, letXbe a proper scheme overk, letℒbe an ample invertible𝒪_X-module and letZ ⊂ Xbe the closed subscheme cut out by a quasi-coherent sheaf of idealsI. Then there is an integern₀such that for everyn ≥ n₀the kernelV_nofΓ(X, ℒ ^⊗ n) ⟶ Γ(Z, ℒ ^⊗ n|_Z)generatesℒ ^⊗ nonX ∖ Zand the canonical morphism
X ∖ Z ⟶ 𝐏(V_n)of [Stacks, Tag 0FCY] is an immersion of schemes over
k.The generation is the hypothesis
hthe existential carries:GeneratesOffSupport k f I L nsays that the germs of the members ofV_nspan the stalk ofℒ ^⊗ nat every point ofX ∖ Z, and it is what makes the canonical morphism exist. That morphism isAlgebraicGeometry.toProjectiveSpaceOfModule, the morphism of [Stacks, Tag 0FCY], applied to the linear systemV_nrestricted toX ∖ Z: that is whatStacks.SectionsVanishingOnSubscheme.toProjectiveSpaceOfVanishingSections_eqproves the morphism named below to be. The source speaks of the canonical morphism, which is basis free, and the conclusion is asserted for the morphism built in every basis ofV_n— the presentation of𝐏(V_n)asℙᴺ_kthat [Stacks, Tag 0FCY] is stated with needs one.
theorem exists_bound_generatesOffSupport_and_isImmersion [IsProper f]
(hL : IsAmple X L) :
∃ n₀ : ℤ, ∀ n : ℤ, n₀ ≤ n → ∃ h : GeneratesOffSupport k f I L n,
∀ (N : ℕ) (b : Module.Basis (Fin (N + 1)) k (vanishingSections k f I L n)),
IsImmersion (toProjectiveSpaceOfVanishingSections k f b h) ∧
toProjectiveSpaceOfVanishingSections k f b h ≫
projectiveSpaceOfModuleToSpec k (vanishingSections k f I L n) =
(openComplement I).ι ≫ f
Tag 0G47, a situation
Tag 0G47 in the Stacks Project.
Stacks.Bertini.FamilyDivisors.divisor, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/Fibres/BertiniCommonZeroSet.lean, line 89. The attribute's comment: “the divisor of a vector of the linear system”.
The divisor
H_w = Z(ψ(w))cut out onXby a vector of the linear system, as a quasi-coherent ideal sheaf.
def divisor (w : D.V) : D.X.IdealSheafData
Stacks.Bertini.FamilyDivisors, a structure in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/Fibres/BertiniFamilyDivisors.lean, line 94. The attribute's comment: “the standing situation”.
Stacks Project, Tag 0G47. The standing situation of the Bertini theorems: a field
k, a schemeXoverk, an invertible𝒪_X-moduleL, a finite dimensionalk-vector spaceVwith a chosen basisv₁, …, v_r, and ak-linear mapψ : V → Γ(X, L).
structure FamilyDivisors
Stacks.Bertini.FamilyDivisors.universalSection, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/Fibres/BertiniFamilyDivisors.lean, line 172. The attribute's comment: “the universal section”.
The universal section
s_univ = Σᵢ xᵢ ψ(vᵢ)ofpr₂^* Lon𝔸^r_k ×_k X, wherex₁, …, x_rare the coordinates of the parameter affine space.
def universalSection :
Γ((Scheme.Modules.pullback D.parameterProjection).obj D.L, ⊤)
Stacks.Bertini.FamilyDivisors.universalDivisor, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/Fibres/BertiniFamilyDivisors.lean, line 181. The attribute's comment: “the universal divisor”.
The universal divisor
H_univ = Z(s_univ) ⊂ 𝔸^r_k ×_k X, the zero scheme of the universal section.
def universalDivisor : D.parameterSpace.IdealSheafData
Stacks.Bertini.FamilyDivisors.specializedSection, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/Fibres/BertiniFamilyDivisors.lean, line 206. The attribute's comment: “the section attached to a vector over an extension field”.
The section
ψ(v) = Σᵢ aᵢ ψ(vᵢ)ofL|_{X_{k'}}attached to the vectorv = Σᵢ aᵢ vᵢofV ⊗_k k'with coordinate tupleaover a field extensionk'/k.
def specializedSection (a : Fin (Module.finrank D.k D.V) → K) :
Γ((Scheme.Modules.pullback (D.baseChangeToX K)).obj D.L, ⊤)
Stacks.Bertini.FamilyDivisors.specializedDivisor, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/Fibres/BertiniFamilyDivisors.lean, line 215. The attribute's comment: “the divisor attached to a vector over an extension field”.
The divisor
H_v = Z(ψ(v))onX_{k'}attached to the vector ofV ⊗_k k'with coordinate tuplea, as the zero scheme of the section it determines.
def specializedDivisor (a : Fin (Module.finrank D.k D.V) → K) :
(D.baseChange K).IdealSheafData
Stacks.Bertini.FamilyDivisors.specializedDivisor_eq_comap, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/Fibres/BertiniFamilyDivisors.lean, line 248. The attribute's comment: “the fibre of the universal divisor”.
H_v = H_{univ, v}. The divisor attached to a vector ofV ⊗_k k'is the fibre of the universal divisor over the correspondingk'-point of𝔸^r_k, as quasi-coherent sheaves of ideals onX_{k'}.
theorem specializedDivisor_eq_comap (a : Fin (Module.finrank D.k D.V) → K) :
D.specializedDivisor K a = D.universalDivisor.comap (D.fibreParameterMap K a)
Stacks.Bertini.FamilyDivisors.ForGeneral, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/Fibres/BertiniFamilyDivisors.lean, line 268. The attribute's comment: “holding for general vectors”.
A property of vectors holds for general
vwhen there is one nonempty openU ⊂ 𝔸^r_ksuch thatPholds at every vector ofV ⊗_k k'whose coordinate tuple gives ak'-point ofU, for every field extensionk'/k.
def ForGeneral
(P : ∀ (K : Type u) [Field K] [Algebra D.k K], TensorProduct D.k D.V K → Prop) : Prop
Tag 0FD6, a lemma
Tag 0FD6 in the Stacks Project.
Stacks.Bertini.FamilyDivisors.forGeneral_smooth_specializedDivisor_of_basis, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/Fibres/BertiniFieldBaseChangeDescent.lean, line 300. The attribute's comment: “the conclusion from hypotheses (1), (2) and (3) over an ARBITRARY base field -- the algebraically closed case is no longer assumed, the reduction of Tag 02FY to it being carried out by forGeneral_smooth_specializedDivisor_of_forGeneral_baseChangeAlgebraicClosure. No proof obligation and no dimension datum is assumed, and quasi-compactness of X is derived from hypothesis (3) rather than assumed. Carrying a basis of the linear system is NOT a deviation: Situation 0G47 itself says 'Say dim(V) = r and we have a basis v_1, ..., v_r of V', so the basis is the source's own datum, and by isImmersive_congr_basis' the hypothesis does not depend on which basis it is read at. ONE deviation survives, and it is only this: the index type Fin (m + 1) forces dim V >= 1, where the source allows the degenerate r = 0 (there H_univ = X and the conclusion holds trivially by hypothesis (1)). Separately, (3) is spelled through the morphism built from that basis rather than through the source's canonical phi_(L, psi) characterised by theta : phi^*O(1) = L -- the same input Tag 01ND is registered without”.
[Stacks, Tag 0FD6]. In the standing situation of [Stacks, Tag 0G47] with
Xsmooth over a fieldk, if the image ofψgeneratesLand the morphismφ_{L,ψ} : X → 𝐏(V)it determines is an immersion, then the divisorH_vis smooth overk'for generalv ∈ V ⊗_k k'.This is the statement with no hypothesis that
kbe algebraically closed: that case isStacks.Bertini.FamilyDivisors.forGeneral_smooth_specializedDivisor_of_generates_pointwise_of_basis', and the reduction of [Stacks, Tag 02FY] to it isStacks.Bertini.FamilyDivisors.forGeneral_smooth_specializedDivisor_baseChangeAlgebraicClosurefollowed byStacks.Bertini.FamilyDivisors.forGeneral_smooth_specializedDivisor_of_forGeneral_baseChangeAlgebraicClosure.The registration stays qualified for one reason only: hypothesis (3) is spelled as the immersiveness of
φread at a basis ofVindexed byFin (m + 1)rather than on the intrinsic morphismφ_{L,ψ}. Carrying a basis so indexed is an input the source does not make — it forcesdim_k V = m + 1, in particularV ≠ 0— and the two readings of (3) agree only up to an identity the repository cannot yet prove. Everything else is the source's: (1) is the instance[Smooth D.toBase], (2) ishgen, quasi-compactness ofXis derived rather than assumed, and no dimension datum or proof obligation is taken.
theorem forGeneral_smooth_specializedDivisor_of_basis [Smooth D.toBase] (hgen : D.Generates)
{m : ℕ} (b : Module.Basis (Fin (m + 1)) D.k D.V)
(himm : D.IsImmersive b (D.generatesBy_basis hgen b)) :
D.ForGeneral (fun K _ _ w =>
∀ a : Fin (Module.finrank D.k D.V) → K,
w = ∑ i, TensorProduct.tmul D.k (D.basis i) (a i) →
Smooth ((D.specializedDivisor K a).subschemeι ≫ D.baseChangeToSpec K))
Stacks.Bertini.FamilyDivisors.forGeneral_smooth_specializedDivisor, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/Fibres/BertiniFieldBaseChangeDescent.lean, line 376.
[Stacks, Tag 0FD6]. In the standing situation of [Stacks, Tag 0G47] with
Xsmooth over a fieldk, if the image ofψgeneratesLand the morphismφ_{L,ψ} : X → 𝐏(V)it determines is an immersion, then the divisorH_vis smooth overk'for generalv ∈ V ⊗_k k'.This takes the data of [Stacks, Tag 0G47] — the field
k, the schemeXover it, the invertible moduleL, the finite dimensional linear systemVwith its basis, andψ— and the source's three hypotheses, and nothing else: (1) is the instance[Smooth D.toBase], (2) ishgen, and (3) ishimm. There is no hypothesis thatkbe algebraically closed, no quasi-compactness assumption, no dimension datum, no proof obligation, and no condition ondim V: the degenerate casedim V = 0that the source allows isStacks.Bertini.FamilyDivisors.forGeneral_smooth_specializedDivisor_of_finrank_eq_zero, anddim V ≥ 1isStacks.Bertini.FamilyDivisors.forGeneral_smooth_specializedDivisor_of_basis, the basis of the standing situation reindexed alongdim V = m + 1.Hypothesis (3) is read at every basis of
Vindexed by someFin (m + 1)rather than at one: that is not a strengthening, because byStacks.Bertini.FamilyDivisors.isImmersive_congr_basis'the hypothesis holds at one such basis exactly when it holds at all of them, and whendim V = 0there are none andhimmsays nothing — which is what lets the degenerate case be covered at all.One caveat on hypothesis (3). It is spelled through the morphism built from a basis rather than through the source's canonical
φ_{L,ψ}characterised byθ : φ^*𝒪(1) ≅ L; that is the same input [Stacks, Tag 01ND] is itself registered without, andStacks.Bertini.FamilyDivisors.isImmersive_congr_basis'shows the hypothesis does not depend on which basis it is read at.
theorem forGeneral_smooth_specializedDivisor [Smooth D.toBase] (hgen : D.Generates)
(himm : ∀ (m : ℕ) (b : Module.Basis (Fin (m + 1)) D.k D.V),
D.IsImmersive b (D.generatesBy_basis hgen b)) :
D.ForGeneral (fun K _ _ w =>
∀ a : Fin (Module.finrank D.k D.V) → K,
w = ∑ i, TensorProduct.tmul D.k (D.basis i) (a i) →
Smooth ((D.specializedDivisor K a).subschemeι ≫ D.baseChangeToSpec K))
Stacks.Bertini.FamilyDivisors.forGeneral_smooth_specializedDivisor_baseChangeAlgebraicClosure, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/Fibres/BertiniFieldBaseChangeImmersion.lean, line 134. The attribute's comment: “the conclusion of the tag for the standing situation base changed to an algebraic closure of the base field, with hypotheses (1), (2) and (3) assumed only for the original situation over k -- hypothesis (3) transfers by isImmersive_baseChangeFamily. This is NOT the tag for an arbitrary base field: the descent of the conclusion from kbar back to k (the reduction of Tag 02FY) needs a nonempty open of A^r_k whose points lift into the given nonempty open of A^r_kbar, which is not proved. Hypothesis (3) is also still spelled at a basis of the linear system rather than on the intrinsic morphism phi_(L, psi)”.
[Stacks, Tag 0FD6] for the situation base changed to an algebraic closure of the base field, from the source's three hypotheses for the original situation.
Xsmooth overk, the image ofψgeneratingL, andφ_{L,ψ}an immersion: then overk̄the divisorH_vis smooth for generalv.All three hypotheses transfer to
D.baseChangeAlgebraicClosure(Stacks.Bertini.FamilyDivisors.smooth_baseChangeFamily,Stacks.Bertini.FamilyDivisors.generates_baseChangeFamilyandStacks.Bertini.FamilyDivisors.isImmersive_baseChangeFamily), andk̄is algebraically closed, so the carrier of the tag applies to the base-changed situation.The registration is qualified: the conclusion drawn is the tag's conclusion for
D.baseChangeAlgebraicClosure, not forD, and the passage between the two is what [Stacks, Tag 02FY] still owes — a nonempty open of𝔸^r_kwhose points lift into the given nonempty open of𝔸^r_{k̄}, together with the identification ofH_vonX_{k'}with its own base change.
theorem forGeneral_smooth_specializedDivisor_baseChangeAlgebraicClosure [Smooth D.toBase]
(hgen : D.Generates) {m : ℕ} (b : Module.Basis (Fin (m + 1)) D.k D.V)
(himm : D.IsImmersive b (D.generatesBy_basis hgen b)) :
D.baseChangeAlgebraicClosure.ForGeneral (fun K' _ _ w =>
∀ a : Fin (Module.finrank D.baseChangeAlgebraicClosure.k
D.baseChangeAlgebraicClosure.V) → K',
w = ∑ i, TensorProduct.tmul D.baseChangeAlgebraicClosure.k
(D.baseChangeAlgebraicClosure.basis i) (a i) →
Smooth ((D.baseChangeAlgebraicClosure.specializedDivisor K' a).subschemeι ≫
D.baseChangeAlgebraicClosure.baseChangeToSpec K'))
Stacks.Bertini.FamilyDivisors.forGeneral_smooth_specializedDivisor_of_generates_pointwise_of_basis', a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/Fibres/BertiniImmersionQuasiCompact.lean, line 147. The attribute's comment: “the conclusion from hypotheses (2) and (3) with no proof obligation and no dimension data assumed, with (3) at an arbitrary basis of the linear system, and with quasi-compactness of X no longer assumed -- it is derived from hypothesis (3), P(V) having a Noetherian space. ONE hypothesis here is not the source's: that k is algebraically closed, the case Tag 02FY reduces to. (3) is also still spelled at a basis rather than on the intrinsic morphism phi_(L, psi), but that is now only a spelling: they agree by Stacks.Bertini.FamilyDivisors.isImmersive_congr_basis, so the hypothesis is independent of the basis it is read at; what is still unproved is its agreement with the source's canonical phi_(L, psi) as characterised by theta : phi^*O(1) = L, the same input Tag 01ND is registered without”.
[Stacks, Tag 0FD6]. In the standing situation of [Stacks, Tag 0G47] with
Xsmooth over an algebraically closed fieldk, if the image ofψgeneratesLand the morphismφ_{L,ψ} : X → 𝐏(V)it determines is an immersion, then the divisorH_vis smooth overk'for generalv ∈ V ⊗_k k'.This is
Stacks.Bertini.FamilyDivisors.forGeneral_smooth_specializedDivisor_of_generates_pointwise_of_basiswith[QuasiCompact D.toBase]removed. That binder was not a hypothesis of the source: [Stacks, Tag 0G47] assumes ofXonly that it is a scheme overk, and [Stacks, Tag 0FD6] adds only smoothness, generation and the immersion — and smoothness givesXlocally of finite presentation, hence locally of finite type, but not quasi-compact. It is discharged rather than dropped, from the immersion hypothesis itself: seeStacks.Bertini.FamilyDivisors.quasiCompact_of_isImmersive.
[IsAlgClosed D.k]is then the only hypothesis of this statement that the source does not make. It is the case the source reduces to by [Stacks, Tag 02FY]; that reduction is a development of its own rather than a loose end. Its first half is done: the base change of the whole standing situation alongk → k̄isStacks.Bertini.FamilyDivisors.baseChangeAlgebraicClosure, all three hypotheses transfer to it — the third byStacks.Bertini.FamilyDivisors.isImmersive_baseChangeFamily— andStacks.Bertini.FamilyDivisors.forGeneral_smooth_specializedDivisor_baseChangeAlgebraicClosuredraws the conclusion of this statement overk̄from the source's three hypotheses overk. What is still owed is the descent of that conclusion: a nonempty open of𝔸^r_kwhose points lift into the nonempty open of𝔸^r_{k̄}the conclusion overk̄provides, and the identification ofH_vonX_{k'}with its own base change along an extension ofk'. Hypothesis (3) is also still spelled at a basis ofVrather than on the intrinsic morphismφ_{L,ψ}— but that is now only a spelling, the two agreeing byStacks.Bertini.FamilyDivisors.isImmersive_congr_basis, so hypothesis (3) does not depend on which basis it is read at. What is not yet proved is its agreement with the source's canonicalφ_{L,ψ}as characterised by an isomorphismθ : φ^*𝒪(1) ≅ ℒthrough whichψfactors — the same input [Stacks, Tag 01ND] is registered without.
theorem forGeneral_smooth_specializedDivisor_of_generates_pointwise_of_basis' [IsAlgClosed D.k]
[Smooth D.toBase] (hgen : D.Generates) {m : ℕ}
(b : Module.Basis (Fin (m + 1)) D.k D.V)
(himm : D.IsImmersive b (D.generatesBy_basis hgen b)) :
D.ForGeneral (fun K _ _ w =>
∀ a : Fin (Module.finrank D.k D.V) → K,
w = ∑ i, TensorProduct.tmul D.k (D.basis i) (a i) →
Smooth ((D.specializedDivisor K a).subschemeι ≫ D.baseChangeToSpec K))
Stacks.Bertini.FamilyDivisors.forGeneral_smooth_specializedDivisor_of_generates_pointwise, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/Fibres/BertiniJacobianDivisor.lean, line 613. The attribute's comment: “the conclusion from hypotheses (2) and (3) with no proof obligation assumed and no dimension data assumed -- the whole of the source's proof is discharged, the count being run at each closed point with the local dimension of X there -- but over an algebraically closed field, and with (3) taken at the standing basis; the source assumes neither of those two”.
[Stacks, Tag 0FD6]. In the standing situation of [Stacks, Tag 0G47] with
Xsmooth and of finite type over an algebraically closed fieldk, if the image ofψgeneratesLand the morphismφ_{L,ψ} : X → 𝐏(V)it determines is an immersion, then the divisorH_vis smooth overk'for generalv ∈ V ⊗_k k'.This is
Stacks.Bertini.FamilyDivisors.forGeneral_smooth_specializedDivisor_of_generateswith its three non-source numerical and finiteness hypotheses removed. Hypothesis (1) of the tag is[Smooth D.toBase]together with[QuasiCompact D.toBase], which isXof finite type overkin the shape clause (1) ofStacks.Bertini.FamilyDivisors.Hypothesesuses; hypothesis (2) isStacks.Bertini.FamilyDivisors.Generatesand hypothesis (3) isStacks.Bertini.FamilyDivisors.IsImmersive. The whole of the source's proof is proved, as for that theorem, and in addition:
- the Noetherianness of
H_univ, which is derived fromXbeing of finite type overk(Stacks.Bertini.FamilyDivisors.noetherianSpace_universalDivisorScheme) rather than assumed;- the dimension data. The count is run at each closed point
xofXwith the local dimensionn_xofXatxin place of one globaln:n_xexists because the local ring of a smooth scheme at a closed point is regular (Stacks.Bertini.FamilyDivisors.exists_natCast_eq_topologicalKrullDimAt_of_isClosed), the inequalityn_x + 1 ≤ dim Vis read off the surjectivity ofev_x(Stacks.Bertini.FamilyDivisors.succ_le_of_smooth) as it is in the source, and the fibre bounddim V - (n_x + 1)is combined withn_xitself rather than with a global bound, byAlgebraicGeometry.topologicalKrullDim_le_of_isClosed_singleton_fiber_add_target. So no equidimensionality, no bound ondim X, and no numerical hypothesisn + 1 ≤ dim Vremain.What remains in the signature and is not a hypothesis of the source:
[IsAlgClosed D.k], the case the source reduces to by [Stacks, Tag 02FY], a reduction not formalized here; and that hypothesis (3) is taken at the standing basis of the linear system read throughFin (m + 1)rather than at an arbitrary basis.
theorem forGeneral_smooth_specializedDivisor_of_generates_pointwise [IsAlgClosed D.k]
[Smooth D.toBase] [QuasiCompact D.toBase] (hgen : D.Generates) {m : ℕ}
(hm : Module.finrank D.k D.V = m + 1)
(himm : D.IsImmersive (D.basis.reindex (finCongr hm))
(D.generatesBy_basis hgen (D.basis.reindex (finCongr hm)))) :
D.ForGeneral (fun K _ _ w =>
∀ a : Fin (Module.finrank D.k D.V) → K,
w = ∑ i, TensorProduct.tmul D.k (D.basis i) (a i) →
Smooth ((D.specializedDivisor K a).subschemeι ≫ D.baseChangeToSpec K))
Stacks.Bertini.FamilyDivisors.forGeneral_smooth_specializedDivisor_of_generates_pointwise_of_basis, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/Fibres/BertiniJacobianDivisor.lean, line 681. The attribute's comment: “the conclusion from hypotheses (2) and (3) with no proof obligation and no dimension data assumed, and with (3) at an arbitrary basis of the linear system -- the whole of the source's proof is discharged, the count being run at each closed point with the local dimension of X there. TWO hypotheses here are not the source's: that k is algebraically closed, the case Tag 02FY reduces to, and [QuasiCompact D.toBase]. Situation 0G47 assumes only that X is a scheme over k and Tag 0FD6 adds only smoothness, so quasi-compactness is an addition; it is NOT clause (1) of this project's Hypotheses bundle, which is Tag 0G4F's hypothesis, not 0G47's standing situation. (3) is also still spelled at a basis rather than on the intrinsic morphism phi_(L, psi), but that is now only a spelling: the two agree by Stacks.Bertini.FamilyDivisors.isImmersive_congr_basis, so the hypothesis does not depend on which basis it is read at”.
[Stacks, Tag 0FD6]. In the standing situation of [Stacks, Tag 0G47] with
Xsmooth and of finite type over an algebraically closed fieldk, if the image ofψgeneratesLand the morphismφ_{L,ψ} : X → 𝐏(V)it determines is an immersion, then the divisorH_vis smooth overk'for generalv ∈ V ⊗_k k'.This is
Stacks.Bertini.FamilyDivisors.forGeneral_smooth_specializedDivisor_of_generates_pointwisewith hypothesis (3) taken at an arbitrary basis of the linear system rather than at the standing basis: the basisbis any basis ofV, and the generation hypothesis at it is hypothesis (2) of the tag, which is basis free (Stacks.Bertini.FamilyDivisors.generates_iff_generatesBy_basis). No relation betweenband the standing basisD.basisis assumed, and no bound ondim Vis needed:bitself exhibits one.The basis enters the proof in two roles, which this statement separates. Hypothesis (3) feeds only the surjectivity of the evaluation
ev_x, a property of the basis-free mapStacks.Bertini.FamilyDivisors.evalVectorand so of no basis at all (Stacks.Bertini.FamilyDivisors.surjective_evalCoord_sectionOf_iff); the Jacobian criterionStacks.Bertini.FamilyDivisors.JacobianAtDivisor, on the other hand, can only be stated against the standing basis, since the coordinates of the parameter space are coefficients against it. The chainStacks.Bertini.FamilyDivisors.exists_evalMatrix_of_basis→…smooth_specializedDivisor_forGeneral_of_jacobianAtDivisor_pointwise_of_basiscarries the two as separate parameters, and this statement instantiates the second atD.basis.reindex (finCongr …), which is whereStacks.Bertini.FamilyDivisors.jacobianAtDivisorapplies.What remains in the signature and is not a hypothesis of the source:
[IsAlgClosed D.k]and[QuasiCompact D.toBase].[Smooth D.toBase]is hypothesis (1); it givesXlocally of finite presentation, hence locally of finite type, but not quasi-compact, so[QuasiCompact D.toBase]is an addition — [Stacks, Tag 0G47] assumes ofXonly that it is a scheme overk, and clause (1) ofStacks.Bertini.FamilyDivisors.Hypotheses, which does assume finite type, is [Stacks, Tag 0G4F]'s hypothesis rather than 0G47's standing situation. It is however not needed: hypothesis (3) implies it, since𝐏(V)has a Noetherian underlying space and an immersion embedsXin it. The siblingStacks.Bertini.FamilyDivisors.forGeneral_smooth_specializedDivisor_of_generates_pointwise_of_basis'is this statement with the binder discharged that way; seeStacks.Bertini.FamilyDivisors.quasiCompact_of_isImmersive. Every proof obligation of the source's argument is discharged, and so is all the dimension data: no equidimensionality ofX, no bound ondim X, no inequalityn + 1 ≤ dim V, and no Noetherianness ofH_univis assumed, the count being run at each closed point ofXwith the local dimension ofXthere.[IsAlgClosed D.k]is the case the source reduces to by [Stacks, Tag 02FY]; that reduction is not formalized here, and it is not a loose end but a development of its own — it needs the base change of the standing situation alongk → k̄, which nothing in the library constructs, and above all the transfer of hypothesis (3) itself, for which the base-change compatibility ofAlgebraicGeometry.toProjectiveSpaceOfModuleis missing.
theorem forGeneral_smooth_specializedDivisor_of_generates_pointwise_of_basis [IsAlgClosed D.k]
[Smooth D.toBase] [QuasiCompact D.toBase] (hgen : D.Generates) {m : ℕ}
(b : Module.Basis (Fin (m + 1)) D.k D.V)
(himm : D.IsImmersive b (D.generatesBy_basis hgen b)) :
D.ForGeneral (fun K _ _ w =>
∀ a : Fin (Module.finrank D.k D.V) → K,
w = ∑ i, TensorProduct.tmul D.k (D.basis i) (a i) →
Smooth ((D.specializedDivisor K a).subschemeι ≫ D.baseChangeToSpec K))
Stacks.Bertini.FamilyDivisors.smooth_specializedDivisor_forGeneral, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/Fibres/BertiniSmooth.lean, line 147. The attribute's comment: “carrying the Tag 0B2L dimension bound on the singular locus of q”.
In the standing situation of
Stacks.Bertini.FamilyDivisorswithXsmooth overk, the divisorH_vis smooth overk'for generalv ∈ V ⊗_k k'.It takes as hypothesis
hsing: there is a nonempty openUof𝔸^r_kwhose preimage underq : H_univ → 𝔸^r_klies in the smooth locus ofq. It also takes the instance argumentLocallyOfFinitePresentation q, whichlocallyOfFinitePresentation_universalFamilyMapsupplies from the smoothness ofXoverk.
public theorem smooth_specializedDivisor_forGeneral [Smooth D.toBase]
[LocallyOfFinitePresentation D.universalFamilyMap]
(U : D.parameterBase.Opens) (hU : (U : Set D.parameterBase).Nonempty)
(hsing : ((D.universalFamilyMap ⁻¹ᵁ U : D.universalDivisor.subscheme.Opens) :
Set D.universalDivisor.subscheme) ⊆
(D.universalFamilyMap.smoothLocus : Set D.universalDivisor.subscheme)) :
D.ForGeneral (fun K _ _ w =>
∀ a : Fin (Module.finrank D.k D.V) → K,
w = ∑ i, TensorProduct.tmul D.k (D.basis i) (a i) →
Smooth ((D.specializedDivisor K a).subschemeι ≫ D.baseChangeToSpec K))
Sources
Section33.48 Enriques-Severi-Zariski#
Section 33.48 of the Stacks Project, Tag 0FVD. 3 tags here are carried by 7 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0FD7, a lemma
Tag 0FD7 in the Stacks Project.
Stacks.EnriquesSeveriZariski.forall_le_eq_zero_sections_twist, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/EnriquesSeveriZariski/Basic.lean, line 407. The attribute's comment: “the vanishing stated on the global sections themselves”.
[Stacks, Tag 0FD7], on global sections. Let
kbe a field, letXbe a proper scheme overk, letℒbe an ample invertible𝒪_X-module and letℱbe a coherent𝒪_X-module. IfAss(ℱ)contains no closed points thenΓ(X, ℱ ⊗ ℒ^{⊗ n}) = 0for alln ≪ 0.
theorem forall_le_eq_zero_sections_twist (k : Type u) [Field k] (f : X ⟶ Spec (.of k))
[IsProper f] (hL : Stacks.Ample.IsAmple X L) (F : X.Modules) [F.IsCoherent]
(hAss : ∀ x : X, IsClosed ({x} : Set X) → x ∉ Stacks.Divisors.associatedPoints F) :
∃ n₀ : ℤ, ∀ n : ℤ, n ≤ n₀ → ∀ t : Γ(twist L F n, ⊤), t = 0
Stacks.EnriquesSeveriZariski.exists_forall_le_isZero_globalSectionsOverField_twist, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/EnriquesSeveriZariski/Basic.lean, line 432.
[Stacks, Tag 0FD7]. Let
kbe a field, letXbe a proper scheme overk, letℒbe an ample invertible𝒪_X-module and letℱbe a coherent𝒪_X-module. IfAss(ℱ)contains no closed points then
Γ(X, ℱ ⊗_{𝒪_X} ℒ^{⊗ n}) = 0for all
n ≪ 0, as an assertion about thek-vector space of global sections.
theorem exists_forall_le_isZero_globalSectionsOverField_twist (k : Type u) [Field k]
(f : X ⟶ Spec (.of k)) [IsProper f] (hL : Stacks.Ample.IsAmple X L) (F : X.Modules)
[F.IsCoherent]
(hAss : ∀ x : X, IsClosed ({x} : Set X) → x ∉ Stacks.Divisors.associatedPoints F) :
∃ n₀ : ℤ, ∀ n : ℤ, n ≤ n₀ → IsZero (globalSectionsOverField k f (twist L F n))
Stacks.EnriquesSeveriZariski.exists_forall_le_isZero_cohomologyOverField_zero_twist, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/EnriquesSeveriZariski/Basic.lean, line 447. The attribute's comment: “the vanishing stated on degree-zero cohomology”.
[Stacks, Tag 0FD7], in degree-zero cohomology. The same vanishing read through the derived functor computing
H⁰, which is the form the twisted-cohomology consumers of 0FD7 ask for.
theorem exists_forall_le_isZero_cohomologyOverField_zero_twist (k : Type u) [Field k]
(f : X ⟶ Spec (.of k)) [IsProper f] (hL : Stacks.Ample.IsAmple X L) (F : X.Modules)
[F.IsCoherent]
(hAss : ∀ x : X, IsClosed ({x} : Set X) → x ∉ Stacks.Divisors.associatedPoints F) :
∃ n₀ : ℤ, ∀ n : ℤ, n ≤ n₀ → IsZero (cohomologyOverField k f (twist L F n) 0)
Stacks.EnriquesSeveriZariski.exists_forall_le_isZero_globalSectionsOverField_twistedGradedModuleTwist, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/EnriquesSeveriZariski/Basic.lean, line 477. The attribute's comment: “the vanishing at the twisted-graded-module spelling of the twist”.
[Stacks, Tag 0FD7] at the twisted-graded-module spelling of the twist, which is the spelling the graded twisted-cohomology machinery is typed against.
theorem exists_forall_le_isZero_globalSectionsOverField_twistedGradedModuleTwist (k : Type u)
[Field k] (f : X ⟶ Spec (.of k)) [IsProper f] (hL : Stacks.Ample.IsAmple X L)
(F : X.Modules) [F.IsCoherent]
(hAss : ∀ x : X, IsClosed ({x} : Set X) → x ∉ Stacks.Divisors.associatedPoints F) :
∃ n₀ : ℤ, ∀ n : ℤ, n ≤ n₀ →
IsZero (globalSectionsOverField k f
(Stacks.Cohomology.TwistedGradedModule.twist X L F n))
Stacks.EnriquesSeveriZariski.exists_forall_le_isZero_cohomologyOverField_zero_twistedGradedModuleTwist, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/EnriquesSeveriZariski/Basic.lean, line 490. The attribute's comment: “the vanishing at the twisted-graded-module spelling, in degree-zero cohomology”.
[Stacks, Tag 0FD7] at the twisted-graded-module spelling, in degree-zero cohomology.
theorem exists_forall_le_isZero_cohomologyOverField_zero_twistedGradedModuleTwist (k : Type u)
[Field k] (f : X ⟶ Spec (.of k)) [IsProper f] (hL : Stacks.Ample.IsAmple X L)
(F : X.Modules) [F.IsCoherent]
(hAss : ∀ x : X, IsClosed ({x} : Set X) → x ∉ Stacks.Divisors.associatedPoints F) :
∃ n₀ : ℤ, ∀ n : ℤ, n ≤ n₀ →
IsZero (cohomologyOverField k f
(Stacks.Cohomology.TwistedGradedModule.twist X L F n) 0)
Tag 0FD8, a lemma
Tag 0FD8 in the Stacks Project.
Stacks.EnriquesSeveriZariski.exists_forall_le_isZero_cohomologyOverField_one_twistedGradedModuleTwist, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/EnriquesSeveriZariski/H1Vanishing.lean, line 194.
[Stacks, Tag 0FD8]. Let
kbe a field, letXbe a scheme proper overk, letℒbe an ample invertible𝒪_X-module and letℱbe a coherent𝒪_X-module. If the stalk ofℱhas depth at least two at every closed point ofX, then
H¹(X, ℱ ⊗_{𝒪_X} ℒ^{⊗ m}) = 0for all
m ≪ 0.
theorem exists_forall_le_isZero_cohomologyOverField_one_twistedGradedModuleTwist (k : Type u)
[Field k] {X : Scheme.{u}} (f : X ⟶ Spec (.of k)) [IsProper f] (L : X.Modules)
[Stacks.Ample.IsInvertibleModule X L] (hL : Stacks.Ample.IsAmple X L) (F : X.Modules)
[F.IsCoherent]
(hdepth : ∀ x : X, IsClosed ({x} : Set X) → (2 : ℕ∞) ≤ Module.depth (X.presheaf.stalk x)
(IsLocalRing.maximalIdeal (X.presheaf.stalk x))
(TopCat.Presheaf.stalk (C := Ab.{u}) F.val.presheaf x)) :
∃ m₀ : ℤ, ∀ m : ℤ, m ≤ m₀ →
IsZero (AlgebraicGeometry.cohomologyOverField k f
(Stacks.Cohomology.TwistedGradedModule.twist X L F m) 1)
Tag 0FD9, a lemma
Tag 0FD9 in the Stacks Project.
Stacks.AmpleSectionConnected.connectedSpace_zeroScheme_of_isAmple, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/AmpleSectionConnected/Connected.lean, line 88.
[Stacks, Tag 0FD9]. Let
kbe a field, letXbe a proper scheme overk, letℒbe an ample invertible𝒪_X-module and lets ∈ Γ(X, ℒ). Ifsis a regular section ([Stacks, Tag 01WY]), ifdepth(𝒪_{X,x}) ≥ 2for every closed pointx ∈ X, and ifXis connected, then the zero schemeZ(s)is connected.
theorem connectedSpace_zeroScheme_of_isAmple (k : Type u) [Field k] {X : Scheme.{u}}
(f : X ⟶ Spec (.of k)) [IsProper f]
(L : SheafOfModules.{u} (structureSheafRing X.toRingedSpace))
[inst : AlgebraicGeometry.SheafOfModules.IsInvertible X.toRingedSpace.presheaf
(structureSheafRing X.toRingedSpace).property L]
(hL : AlgebraicGeometry.Scheme.Modules.IsAmple X L) (s : L.sections)
(hs : Mono (L.unitHomEquiv.symm s))
(hdepth : ∀ x : X, IsClosed ({x} : Set X) → (2 : ℕ∞) ≤ Module.depth (X.presheaf.stalk x)
(IsLocalRing.maximalIdeal (X.presheaf.stalk x)) (X.presheaf.stalk x))
[ConnectedSpace X] :
ConnectedSpace (zeroScheme X L (s.eval (op ⊤))).subscheme
Sources
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.