Injective modules #
Main definitions #
Module.Injective
: anR
-moduleQ
is injective if and only if every injectiveR
-linear map descends to a linear map toQ
, i.e. in the following diagram, iff
is injective then there is anR
-linear maph : Y ⟶ Q
such thatg = h ∘ f
X --- f ---> Y | | g v Q
Module.Baer
: anR
-moduleQ
satisfies Baer's criterion if anyR
-linear map from anIdeal R
extends to anR
-linear mapR ⟶ Q
Main statements #
Module.Baer.injective
: anR
-module is injective if it is Baer.
An R
-module Q
is injective if and only if every injective R
-linear map descends to a linear
map to Q
, i.e. in the following diagram, if f
is injective then there is an R
-linear map
h : Y ⟶ Q
such that g = h ∘ f
X --- f ---> Y
|
| g
v
Q
- out ⦃X Y : Type v⦄ [AddCommGroup X] [AddCommGroup Y] [Module R X] [Module R Y] (f : X →ₗ[R] Y) : Function.Injective ⇑f → ∀ (g : X →ₗ[R] Q), ∃ (h : Y →ₗ[R] Q), ∀ (x : X), h (f x) = g x
Instances
An R
-module Q
satisfies Baer's criterion if any R
-linear map from an Ideal R
extends to
an R
-linear map R ⟶ Q
Equations
Instances For
If we view M
as a submodule of N
via the injective linear map i : M ↪ N
, then a submodule
between M
and N
is a submodule N'
of N
. To prove Baer's criterion, we need to consider
pairs of (N', f')
such that M ≤ N' ≤ N
and f'
extends f
.
- le : LinearMap.range i ≤ self.domain
- is_extension (m : M) : f m = ↑self.toLinearPMap ⟨i m, ⋯⟩
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- Module.Baer.instSemilatticeInfExtensionOf i f = Function.Injective.semilatticeInf Module.Baer.ExtensionOf.toLinearPMap ⋯ ⋯
The maximal element of every nonempty chain of extension_of i f
.
Equations
- Module.Baer.ExtensionOf.max hchain hnonempty = { toLinearPMap := LinearPMap.sSup ((fun (x : Module.Baer.ExtensionOf i f) => x.toLinearPMap) '' c) ⋯, le := ⋯, is_extension := ⋯ }
Instances For
Equations
- One or more equations did not get rendered due to their size.
Since every nonempty chain has a maximal element, by Zorn's lemma, there is a maximal
extension_of i f
.
Equations
- Module.Baer.extensionOfMax i f = ⋯.choose
Instances For
Equations
- Module.Baer.supExtensionOfMaxSingleton i f y = (Module.Baer.extensionOfMax i f).domain ⊔ Submodule.span R {y}
Instances For
If x ∈ M ⊔ ⟨y⟩
, then x = m + r • y
, fst
pick an arbitrary such m
.
Equations
- Module.Baer.ExtensionOfMaxAdjoin.fst i x = ⋯.choose
Instances For
If x ∈ M ⊔ ⟨y⟩
, then x = m + r • y
, snd
pick an arbitrary such r
.
Equations
- Module.Baer.ExtensionOfMaxAdjoin.snd i x = ⋯.choose
Instances For
The ideal I = {r | r • y ∈ N}
Equations
- Module.Baer.ExtensionOfMaxAdjoin.ideal i f y = Submodule.comap (LinearMap.id.smulRight y) (Module.Baer.extensionOfMax i f).domain
Instances For
A linear map I ⟶ Q
by x ↦ f' (x • y)
where f'
is the maximal extension
Equations
- One or more equations did not get rendered due to their size.
Instances For
Since we assumed Q
being Baer, the linear map x ↦ f' (x • y) : I ⟶ Q
extends to R ⟶ Q
,
call this extended map φ
Equations
- Module.Baer.ExtensionOfMaxAdjoin.extendIdealTo i f h y = ⋯.choose
Instances For
We can finally define a linear map M ⊔ ⟨y⟩ ⟶ Q
by x + r • y ↦ f x + φ r
Equations
- One or more equations did not get rendered due to their size.
Instances For
The linear map M ⊔ ⟨y⟩ ⟶ Q
by x + r • y ↦ f x + φ r
is an extension of f
Equations
- One or more equations did not get rendered due to their size.
Instances For
Baer's criterion for injective module : a Baer module is an injective module, i.e. if every linear map from an ideal can be extended, then the module is injective.