The lines of the Lean statement that state the theorem, then the definitions in the file that it uses.
Local definitions the statement names, followed through the definitions they name in turn. The match is by name in the source text, so a name reached only through notation can be missed; the full file is below.
definition OAI.MaximalSeshadri.Geometry.complexProjectiveSpace line 18
def complexProjectiveSpace (N : ℕ) : Scheme := Proj (MvPolynomial.homogeneousSubmodule (Fin (N + 1)) ℂ)
definition OAI.MaximalSeshadri.Geometry.constantsInDegreeZero line 22
def constantsInDegreeZero (N : ℕ) : ℂ →+* (MvPolynomial.homogeneousSubmodule (Fin (N + 1)) ℂ 0) := { toFun := fun c => ⟨MvPolynomial.C c, MvPolynomial.isHomogeneous_C _ c⟩ map_one' := Subtype.ext MvPolynomial.C_1 map_mul' := fun a b => Subtype.ext (MvPolynomial.C_mul (a := a) (a' := b)) map_zero' := Subtype.ext MvPolynomial.C_0 map_add' := fun a b => Subtype.ext (MvPolynomial.C_add (a := a) (a' := b)) }
definition OAI.MaximalSeshadri.Geometry.projectiveSpaceToSpec line 31
def projectiveSpaceToSpec (N : ℕ) : complexProjectiveSpace N ⟶ Spec (CommRingCat.of ℂ) := Proj.toSpecZero _ ≫ Spec.map (CommRingCat.ofHom (constantsInDegreeZero N))
structure OAI.MaximalSeshadri.Geometry.Surface line 38
structure Surface where scheme : Scheme structureMap : scheme ⟶ Spec (CommRingCat.of ℂ) integral : IsIntegral scheme smooth : SmoothOfRelativeDimension 2 structureMap embeddingDimension : ℕ embedding : scheme ⟶ complexProjectiveSpace embeddingDimension closedImmersion : IsClosedImmersion embedding overComplex : embedding ≫ projectiveSpaceToSpec embeddingDimension = structureMap
structure OAI.MaximalSeshadri.Geometry.LineBundle line 53
structure LineBundle where sheaf : X.Modules locallyRankOne : ∀ x : X, ∃ U : X.Opens, x ∈ U ∧ Nonempty (sheaf.restrict U.ι ≅ SheafOfModules.unit U.toScheme.ringCatSheaf)
definition OAI.MaximalSeshadri.Geometry.moduleTensor line 60
def moduleTensor (M N : X.Modules) : X.Modules := (PresheafOfModules.sheafification (𝟙 X.ringCatSheaf.obj)).obj (PresheafOfModulesOfCommRing.Monoidal.tensorObj (R := X.presheaf) M.val N.val)
definition OAI.MaximalSeshadri.Geometry.modulePow line 65
def modulePow (M : X.Modules) : ℕ → X.Modules | 0 => SheafOfModules.unit X.ringCatSheaf | n + 1 => moduleTensor X M (modulePow M n)
definition OAI.MaximalSeshadri.Geometry.structureSheaf line 70
def structureSheaf : X.Modules := SheafOfModules.unit X.ringCatSheaf
abbreviation OAI.MaximalSeshadri.Geometry.GlobalSections line 73
abbrev GlobalSections (M : X.Modules) := structureSheaf X ⟶ M
definition OAI.MaximalSeshadri.Geometry.sectionOpen line 77
def sectionOpen {M : X.Modules} (s : GlobalSections X M) : X.Opens := ⨆ (U : X.Opens) (_ : IsIso ((Scheme.Modules.restrictFunctor U.ι).map s)), U
definition OAI.MaximalSeshadri.Geometry.LineBundle.IsAmple line 81
def LineBundle.IsAmple (L : LineBundle X) : Prop := ∀ (x : X) (V : X.Opens), x ∈ V → ∃ n : ℕ, 0 < n ∧ ∃ s : GlobalSections X (modulePow X L.sheaf n), x ∈ sectionOpen X s ∧ sectionOpen X s ≤ V ∧ IsAffineOpen (sectionOpen X s)
definition OAI.MaximalSeshadri.Geometry.baseScalars line 186
def baseScalars (f : X ⟶ Spec (CommRingCat.of ℂ)) : ℂ →+* Γ(X, ⊤) := f.appTop.hom.comp (Scheme.ΓSpecIso (CommRingCat.of ℂ)).inv.hom
abbreviation OAI.MaximalSeshadri.Geometry.cohomology line 195
abbrev cohomology (M : X.Modules) (n : ℕ) : Type 1 := Abelian.Ext.{1} (C := X.Modules) (structureSheaf X) M n
definition OAI.MaximalSeshadri.Geometry.cohomologyDimension line 201
def cohomologyDimension (f : X ⟶ Spec (CommRingCat.of ℂ)) (M : X.Modules) (n : ℕ) : ℕ := letI : Module ℂ (cohomology M n) := Module.compHom (cohomology M n) (baseScalars f) Module.finrank ℂ (cohomology M n)
definition OAI.MaximalSeshadri.Geometry.eulerCharacteristic line 209
def eulerCharacteristic (f : X ⟶ Spec (CommRingCat.of ℂ)) (d : ℕ) (M : X.Modules) : ℤ := ∑ n ∈ Finset.range (d + 1), (-1 : ℤ) ^ n * (cohomologyDimension f M n : ℤ)
definition OAI.MaximalSeshadri.Geometry.selfIntersection line 215
def selfIntersection (S : Surface) (L : LineBundle S.scheme) : ℤ := eulerCharacteristic S.structureMap 2 (modulePow S.scheme L.sheaf 2) - 2 * eulerCharacteristic S.structureMap 2 L.sheaf + eulerCharacteristic S.structureMap 2 (SheafOfModules.unit S.scheme.ringCatSheaf)
structure OAI.MaximalSeshadri.Geometry.IntegralCurve line 222
structure IntegralCurve (S : Surface) where scheme : Scheme embedding : scheme ⟶ S.scheme closedImmersion : IsClosedImmersion embedding integral : IsIntegral scheme dimension : topologicalKrullDim scheme = 1
definition OAI.MaximalSeshadri.Geometry.curveDegree line 233
def curveDegree (S : Surface) (L : LineBundle S.scheme) (C : IntegralCurve S) : ℤ := eulerCharacteristic (C.embedding ≫ S.structureMap) 1 ((Scheme.Modules.pullback C.embedding).obj L.sheaf) - eulerCharacteristic (C.embedding ≫ S.structureMap) 1 (SheafOfModules.unit C.scheme.ringCatSheaf)
abbreviation OAI.MaximalSeshadri.Geometry.complexBase line 248
abbrev complexBase : Scheme := Spec (CommRingCat.of ℂ)
abbreviation OAI.MaximalSeshadri.Geometry.ComplexPoint line 251
abbrev ComplexPoint (S : Surface) := Over.mk (𝟙 complexBase) ⟶ Over.mk S.structureMap
definition OAI.MaximalSeshadri.Geometry.ComplexPoint.image line 255
def ComplexPoint.image {S : Surface} (p : ComplexPoint S) : S.scheme := p.left (⟨⊥, Ideal.isPrime_bot⟩ : PrimeSpectrum ℂ)
definition OAI.MaximalSeshadri.Geometry.Configuration line 274
def Configuration (S : Surface) (r : ℕ) := {p : Fin r → ComplexPoint S // Function.Injective (fun i => (p i).image)}
definition OAI.MaximalSeshadri.Geometry.idealOrder line 287
def idealOrder {R : Type} [CommRing R] [IsLocalRing R] (I : Ideal R) : ℕ := sInf {n : ℕ | ¬ I ≤ IsLocalRing.maximalIdeal R ^ (n + 1)}
definition OAI.MaximalSeshadri.Geometry.curveMultiplicity line 293
def curveMultiplicity (S : Surface) (C : IntegralCurve S) (p : ComplexPoint S) : ℕ := by classical exact if h : ∃ q : C.scheme, C.embedding q = p.image then idealOrder (RingHom.ker (C.embedding.stalkMap h.choose).hom) else 0
11 more definitions are reached the same way; the full file lists them.