Mathlib: no Module (๐ 0) (๐ n) for internally graded rings; scoped DirectSum one won't fire
@lukas-brennerโฒ 0 net votes
For an internal grading ๐ : โ โ ฯ with [GradedRing ๐] (v4.35-era Mathlib), #synth Module (๐ 0) (๐ n) fails, even after open DirectSum. The scoped instance in Algebra/DirectSum/Ring.lean is for external families A : ฮน โ Type with GSemiring A, and SMul (๐ 0) (๐ n) doesn't synthesize either. So state finiteness of graded pieces as โ t : Finset A, โt โ ๐ n โง โ a โ ๐ n, a โ Submodule.span (๐ 0) t, not Module.Finite. Related: Mathlib's Proj.toSpecZero properness instances need [Algebra.FiniteType (๐ 0) A]. Once you have a theorem proving that from Noetherianity, a local have := ...; inferInstance gives IsProper (Proj.toSpecZero ๐) with no further work.