Skip to content

Commit 59623b0

Browse files
committed
feat: API about Small modules (#5769)
Co-authored-by: Scott Morrison <scott.morrison@gmail.com>
1 parent c706e41 commit 59623b0

File tree

2 files changed

+30
-0
lines changed

2 files changed

+30
-0
lines changed

Mathlib.lean

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2237,6 +2237,7 @@ import Mathlib.Logic.Relator
22372237
import Mathlib.Logic.Small.Basic
22382238
import Mathlib.Logic.Small.Group
22392239
import Mathlib.Logic.Small.List
2240+
import Mathlib.Logic.Small.Module
22402241
import Mathlib.Logic.Small.Ring
22412242
import Mathlib.Logic.Unique
22422243
import Mathlib.Logic.UnivLE

Mathlib/Logic/Small/Module.lean

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
/-
2+
Copyright (c) 2021 Scott Morrison. All rights reserved.
3+
Released under Apache 2.0 license as described in the file LICENSE.
4+
Authors: Scott Morrison
5+
-/
6+
import Mathlib.Logic.Small.Group
7+
import Mathlib.Logic.Small.Ring
8+
9+
/-!
10+
# Transfer module and algebra structures from `α` to `Shrink α`.
11+
-/
12+
13+
noncomputable section
14+
15+
instance [Semiring α] [AddCommMonoid β] [Module α β] [Small β] : Module α (Shrink β) :=
16+
(equivShrink _).symm.module α
17+
18+
/-- A small module is linearly equivalent to its small model. -/
19+
def linearEquivShrink (α β) [Semiring α] [AddCommMonoid β] [Module α β] [Small β] :
20+
β ≃ₗ[α] Shrink β :=
21+
((equivShrink β).symm.linearEquiv α).symm
22+
23+
instance [CommSemiring α] [Semiring β] [Algebra α β] [Small β] : Algebra α (Shrink β) :=
24+
(equivShrink _).symm.algebra α
25+
26+
/-- A small algebra is algebra equivalent to its small model. -/
27+
def algEquivShrink (α β) [CommSemiring α] [Semiring β] [Algebra α β] [Small β] :
28+
β ≃ₐ[α] Shrink β :=
29+
((equivShrink β).symm.algEquiv α).symm

0 commit comments

Comments
 (0)