@@ -20,15 +20,15 @@ public import Mathlib.CategoryTheory.Abelian.Projective.Dimension
2020
2121universe v v' u u'
2222
23- variable {R : Type u} [CommRing R] [Small.{v} R]
23+ variable {R : Type u} [CommRing R]
2424
2525open CategoryTheory Abelian Module
2626
27- namespace CategoryTheory
27+ namespace ModuleCat
2828
2929section
3030
31- variable {R' : Type u'} [CommRing R'] [Small.{v'} R'] (e : R ≃+* R')
31+ variable [Small.{v} R] {R' : Type u'} [CommRing R'] [Small.{v'} R'] (e : R ≃+* R')
3232
3333variable {M : ModuleCat.{v} R} {N : ModuleCat.{v'} R'}
3434
@@ -61,6 +61,10 @@ lemma hasProjectiveDimensionLE_of_semiLinearEquiv (e' : M ≃ₛₗ[RingHomClass
6161 have := (S_exact.hasProjectiveDimensionLT_X₃_iff n inferInstance).mp ‹_›
6262 exact (S'_exact.hasProjectiveDimensionLT_X₃_iff n inferInstance).mpr (ih eker)
6363
64+ @ [deprecated (since := "2026-04-04" )]
65+ alias _root_.CategoryTheory.hasProjectiveDimensionLE_of_semiLinearEquiv :=
66+ hasProjectiveDimensionLE_of_semiLinearEquiv
67+
6468attribute [local instance ] RingHomInvPair.of_ringEquiv in
6569lemma projectiveDimension_eq_of_semiLinearEquiv (e' : M ≃ₛₗ[RingHomClass.toRingHom e] N) :
6670 projectiveDimension M = projectiveDimension N := by
@@ -77,20 +81,37 @@ lemma projectiveDimension_eq_of_semiLinearEquiv (e' : M ≃ₛₗ[RingHomClass.t
7781 exact ⟨fun h ↦ hasProjectiveDimensionLE_of_semiLinearEquiv e e' n,
7882 fun h ↦ hasProjectiveDimensionLE_of_semiLinearEquiv e.symm e'.symm n⟩
7983
84+ @ [deprecated (since := "2026-04-04" )]
85+ alias _root_.CategoryTheory.projectiveDimension_eq_of_semiLinearEquiv :=
86+ projectiveDimension_eq_of_semiLinearEquiv
87+
8088end
8189
8290section
8391
84- variable [Small.{v'} R] {M : ModuleCat.{v} R} {N : ModuleCat.{v'} R}
92+ variable [Small.{v} R] [Small.{v '} R] {M : ModuleCat.{v} R} {N : ModuleCat.{v'} R}
8593
8694lemma hasProjectiveDimensionLE_of_linearEquiv (e : M ≃ₗ[R] N)
8795 (n : ℕ) [HasProjectiveDimensionLE M n] : HasProjectiveDimensionLE N n :=
8896 hasProjectiveDimensionLE_of_semiLinearEquiv (RingEquiv.refl R) e n
8997
98+ @ [deprecated (since := "2026-04-04" )]
99+ alias _root_.CategoryTheory.hasProjectiveDimensionLE_of_linearEquiv :=
100+ hasProjectiveDimensionLE_of_linearEquiv
101+
90102lemma projectiveDimension_eq_of_linearEquiv (e : M ≃ₗ[R] N) :
91103 projectiveDimension M = projectiveDimension N :=
92104 projectiveDimension_eq_of_semiLinearEquiv (M := M) (N := N) (RingEquiv.refl R) e
93105
106+ @ [deprecated (since := "2026-04-04" )]
107+ alias _root_.CategoryTheory.projectiveDimension_eq_of_linearEquiv :=
108+ projectiveDimension_eq_of_linearEquiv
109+
94110end
95111
96- end CategoryTheory
112+ lemma projectiveDimension_eq_zero_of_projective (M : ModuleCat.{v} R) [Nontrivial M]
113+ [Projective M] : projectiveDimension M = 0 := by
114+ simpa [projectiveDimension_eq_zero_iff, ModuleCat.isZero_iff_subsingleton,
115+ not_subsingleton_iff_nontrivial] using ⟨‹_›, ‹_›⟩
116+
117+ end ModuleCat
0 commit comments