Skip to content

Commit 1ebdb58

Browse files
committed
feat: a finite monoid algebra is a finite module (#27194)
From Toric
1 parent 0a5645c commit 1ebdb58

File tree

1 file changed

+28
-1
lines changed

1 file changed

+28
-1
lines changed

Mathlib/RingTheory/Finiteness/Finsupp.lean

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,11 @@ Copyright (c) 2020 Johan Commelin. All rights reserved.
33
Released under Apache 2.0 license as described in the file LICENSE.
44
Authors: Johan Commelin
55
-/
6+
import Mathlib.Algebra.FreeAbelianGroup.Finsupp
7+
import Mathlib.Algebra.MonoidAlgebra.Defs
68
import Mathlib.LinearAlgebra.Finsupp.LinearCombination
7-
import Mathlib.RingTheory.Finiteness.Basic
89
import Mathlib.LinearAlgebra.Quotient.Basic
10+
import Mathlib.RingTheory.Finiteness.Basic
911

1012
/-!
1113
# Finiteness of (sub)modules and finitely supported functions
@@ -124,3 +126,28 @@ instance Module.Finite.finsupp {ι : Type*} [_root_.Finite ι] [Module.Finite R
124126
Module.Finite.equiv (Finsupp.linearEquivFunOnFinite R V ι).symm
125127

126128
end
129+
130+
namespace AddMonoidAlgebra
131+
variable {ι R S : Type*} [Finite ι] [Semiring R] [Semiring S] [Module R S] [Module.Finite R S]
132+
133+
instance moduleFinite : Module.Finite R S[ι] := .finsupp
134+
135+
end AddMonoidAlgebra
136+
137+
namespace MonoidAlgebra
138+
variable {ι R S : Type*} [Finite ι] [Semiring R] [Semiring S] [Module R S] [Module.Finite R S]
139+
140+
instance moduleFinite : Module.Finite R (MonoidAlgebra S ι) := .finsupp
141+
142+
end MonoidAlgebra
143+
144+
namespace FreeAbelianGroup
145+
variable {σ : Type*} [Finite σ]
146+
147+
instance : Module.Finite ℤ (FreeAbelianGroup σ) :=
148+
.of_surjective _ (FreeAbelianGroup.equivFinsupp σ).toIntLinearEquiv.symm.surjective
149+
150+
instance : AddMonoid.FG (FreeAbelianGroup σ) := by
151+
rw [← AddGroup.fg_iff_addMonoid_fg, ← Module.Finite.iff_addGroup_fg]; infer_instance
152+
153+
end FreeAbelianGroup

0 commit comments

Comments
 (0)