Skip to content

Commit 3e1d322

Browse files
committed
Merge branch 'Global-Dimension' into Global-Dimension-of-Regular-Local-Ring
2 parents bc32aa7 + 64776b7 commit 3e1d322

1 file changed

Lines changed: 24 additions & 17 deletions

File tree

Mathlib/RingTheory/GlobalDimension.lean

Lines changed: 24 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3,25 +3,28 @@ Copyright (c) 2025 Nailin Guan. All rights reserved.
33
Released under Apache 2.0 license as described in the file LICENSE.
44
Authors: Nailin Guan
55
-/
6-
import Mathlib.CategoryTheory.Abelian.Projective.Dimension
7-
import Mathlib.Data.ENat.Lattice
8-
import Mathlib.RingTheory.Spectrum.Maximal.Defs
9-
import Mathlib.RingTheory.Noetherian.Defs
10-
import Mathlib.RingTheory.Localization.AtPrime.Basic
11-
import Mathlib.RingTheory.Regular.Category
12-
import Mathlib.RingTheory.Regular.RegularSequence
13-
import Mathlib.Algebra.Module.LocalizedModule.AtPrime
14-
import Mathlib.RingTheory.LocalRing.ResidueField.Basic
15-
import Mathlib.LinearAlgebra.Dimension.Finite
16-
import Mathlib.Algebra.Category.ModuleCat.Projective
17-
import Mathlib.RingTheory.Localization.Module
18-
import Mathlib.Algebra.Module.LocalizedModule.Exact
19-
import Mathlib.RingTheory.LocalProperties.Projective
206
import Mathlib.Algebra.Category.Grp.Zero
21-
import Mathlib.Algebra.Homology.DerivedCategory.Ext.EnoughInjectives
227
import Mathlib.Algebra.Category.ModuleCat.EnoughInjectives
8+
import Mathlib.Algebra.Category.ModuleCat.Projective
9+
import Mathlib.Algebra.Homology.DerivedCategory.Ext.EnoughInjectives
10+
import Mathlib.Algebra.Homology.ShortComplex.ModuleCat
11+
import Mathlib.CategoryTheory.Abelian.Projective.Dimension
12+
import Mathlib.Data.ENat.Lattice
13+
import Mathlib.RingTheory.Ideal.Quotient.Operations
2314
/-!
2415
# The Global Dimension of a Ring
16+
17+
In this file, we define the projective dimension of an module and global dimension of ring
18+
and their basic properties.
19+
20+
# Main definition and results
21+
22+
* `projectiveDimension` : Given `X : C` where `C` is abelian,
23+
return its projective dimension as `WithBot ℕ∞`
24+
25+
* `globalDimension` : The global (homological) dimension of a (commutative) ring defined as
26+
the supremum of projective dimension over all modules.
27+
2528
-/
2629

2730
--set_option pp.universes true
@@ -30,14 +33,15 @@ universe v u
3033

3134
variable (R : Type u) [CommRing R]
3235

33-
open CategoryTheory IsLocalRing RingTheory.Sequence
36+
open CategoryTheory
3437

3538
section ProjectiveDimension
3639

3740
variable {C : Type u} [Category.{v, u} C] [Abelian C]
3841

3942
--projectiveDimension should be `-∞` when `X = 0`
4043

44+
/-- The projective dimension of object of abelian category. -/
4145
noncomputable def projectiveDimension (X : C) : WithBot ℕ∞ :=
4246
sInf {n : WithBot ℕ∞ | ∀ (i : ℕ), n < i → HasProjectiveDimensionLT X i}
4347

@@ -273,6 +277,8 @@ lemma ext_subsingleton_of_quotients [Small.{v} R] (M : ModuleCat.{v} R) (n : ℕ
273277

274278
end
275279

280+
/-- The global (homological) dimension of a (commutative) ring defined as
281+
the supremum of projective dimension over all modules. -/
276282
noncomputable def globalDimension : WithBot ℕ∞ :=
277283
⨆ (M : ModuleCat.{v} R), projectiveDimension.{v} M
278284

@@ -287,7 +293,8 @@ lemma globalDimension_le_iff (n : ℕ) : globalDimension.{v} R ≤ n ↔
287293
∀ M : ModuleCat.{v} R, HasProjectiveDimensionLE M n := by
288294
simp [globalDimension, projectiveDimension_le_iff]
289295

290-
local instance hasExt_standard : HasExt.{max (max (v + 1) u) v, v, max (v + 1) u} (ModuleCat.{v} R) :=
296+
local instance hasExt_standard :
297+
HasExt.{max (max (v + 1) u) v, v, max (v + 1) u} (ModuleCat.{v} R) :=
291298
CategoryTheory.HasExt.standard (ModuleCat.{v} R)
292299

293300
lemma globalDimension_le_tfae [Small.{v} R] (n : ℕ) : [globalDimension.{v} R ≤ n,

0 commit comments

Comments
 (0)