@@ -3,9 +3,11 @@ Copyright (c) 2020 Johan Commelin. All rights reserved.
3
3
Released under Apache 2.0 license as described in the file LICENSE.
4
4
Authors: Johan Commelin
5
5
-/
6
+ import Mathlib.Algebra.FreeAbelianGroup.Finsupp
7
+ import Mathlib.Algebra.MonoidAlgebra.Defs
6
8
import Mathlib.LinearAlgebra.Finsupp.LinearCombination
7
- import Mathlib.RingTheory.Finiteness.Basic
8
9
import Mathlib.LinearAlgebra.Quotient.Basic
10
+ import Mathlib.RingTheory.Finiteness.Basic
9
11
10
12
/-!
11
13
# Finiteness of (sub)modules and finitely supported functions
@@ -124,3 +126,28 @@ instance Module.Finite.finsupp {ι : Type*} [_root_.Finite ι] [Module.Finite R
124
126
Module.Finite.equiv (Finsupp.linearEquivFunOnFinite R V ι).symm
125
127
126
128
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