Localized Module #
Given a commutative semiring R, a multiplicative subset S ⊆ R and an R-module M, we can
localize M by S. This gives us a Localization S-module.
Main definitions #
LocalizedModule.r: the equivalence relation defining this localization, namely(m, s) ≈ (m', s')if and only if there is someu : Ssuch thatu • s' • m = u • s • m'.LocalizedModule M S: the localized module byS.LocalizedModule.mk: the canonical map sending(m, s) : M × S ↦ m/s : LocalizedModule M SLocalizedModule.liftOn: any well-defined functionf : M × S → αrespectingrdescents to a functionLocalizedModule M S → αLocalizedModule.liftOn₂: any well-defined functionf : M × S → M × S → αrespectingrdescents to a functionLocalizedModule M S → LocalizedModule M SLocalizedModule.mk_add_mk: in the localized modulemk m s + mk m' s' = mk (s' • m + s • m') (s * s')LocalizedModule.mk_smul_mk: in the localized module, for anyr : R,s t : S,m : M, we havemk r s • mk m t = mk (r • m) (s * t)wheremk r s : Localization Sis localized ring byS.LocalizedModule.isModule:LocalizedModule M Sis aLocalization S-module.
Future work #
- Redefine
Localizationfor monoids and rings to coincide withLocalizedModule.
The equivalence relation on M × S where (m1, s1) ≈ (m2, s2) if and only if
for some (u : S), u * (s2 • m1 - s1 • m2) = 0
Instances For
Equations
- LocalizedModule.r.setoid S M = { r := LocalizedModule.r S M, iseqv := ⋯ }
If S is a multiplicative subset of a ring R and M an R-module, then
we can localize M by S.
Equations
- LocalizedModule S M = Quotient (LocalizedModule.r.setoid S M)
Instances For
The canonical map sending (m, s) ↦ m/s
Equations
- LocalizedModule.mk m s = Quotient.mk' (m, s)
Instances For
If f : M × S → α respects the equivalence relation LocalizedModule.r, then
f descents to a map LocalizedModule M S → α.
Equations
- x.liftOn f wd = Quotient.liftOn x f wd
Instances For
If f : M × S → M × S → α respects the equivalence relation LocalizedModule.r, then
f descents to a map LocalizedModule M S → LocalizedModule M S → α.
Equations
- x.liftOn₂ y f wd = Quotient.liftOn₂ x y f wd
Instances For
Equations
- LocalizedModule.instZero = { zero := LocalizedModule.mk 0 1 }
If S contains 0 then the localization at S is trivial.
Equations
- LocalizedModule.instAdd = { add := fun (p1 p2 : LocalizedModule S M) => p1.liftOn₂ p2 (fun (x y : M × ↥S) => LocalizedModule.mk (y.2 • x.1 + x.2 • y.1) (x.2 * y.2)) ⋯ }
Equations
- One or more equations did not get rendered due to their size.
Equations
- LocalizedModule.instNeg = { neg := fun (p : LocalizedModule S M) => p.liftOn (fun (x : M × ↥S) => LocalizedModule.mk (-x.1) x.2) ⋯ }
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- LocalizedModule.instCommSemiring = { toSemiring := have this := inferInstance; this, mul_comm := ⋯ }
Equations
- One or more equations did not get rendered due to their size.
Equations
- LocalizedModule.instCommRing = { toRing := have this := inferInstance; this, mul_comm := ⋯ }
Equations
- One or more equations did not get rendered due to their size.
Equations
- LocalizedModule.isModule = { smul := fun (x1 : T) (x2 : LocalizedModule S M) => x1 • x2, one_smul := ⋯, mul_smul := ⋯, smul_zero := ⋯, smul_add := ⋯, add_smul := ⋯, zero_smul := ⋯ }
Equations
Equations
Equations
- One or more equations did not get rendered due to their size.
The function m ↦ m / 1 as an R-linear map.
Equations
- LocalizedModule.mkLinearMap S M = { toFun := fun (m : M) => LocalizedModule.mk m 1, map_add' := ⋯, map_smul' := ⋯ }
Instances For
For any s : S, there is an R-linear map given by a/b ↦ a/(b*s).
Equations
- LocalizedModule.divBy s = { toFun := fun (p : LocalizedModule S M) => p.liftOn (fun (p : M × ↥S) => LocalizedModule.mk p.1 (p.2 * s)) ⋯, map_add' := ⋯, map_smul' := ⋯ }
Instances For
The characteristic predicate for localized module.
IsLocalizedModule S f describes that f : M ⟶ M' is the localization map identifying M' as
LocalizedModule S M.
- map_units (x : ↥S) : IsUnit ((algebraMap R (Module.End R M')) ↑x)
Instances
Alias of IsLocalizedModule.surj.
If g is a linear map M → M'' such that all scalar multiplication by s : S is invertible, then
there is a linear map LocalizedModule S M → M''.
Instances For
If g is a linear map M → M'' such that all scalar multiplication by s : S is invertible, then
there is a linear map LocalizedModule S M → M''.
Equations
- LocalizedModule.lift S g h = { toFun := LocalizedModule.lift' S g h, map_add' := ⋯, map_smul' := ⋯ }
Instances For
If g is a linear map M → M'' such that all scalar multiplication by s : S is invertible, then
lift g m s = s⁻¹ • g m.
If g is a linear map M → M'' such that all scalar multiplication by s : S is invertible, then
there is a linear map lift g ∘ mkLinearMap = g.
If g is a linear map M → M'' such that all scalar multiplication by s : S is invertible and
l is another linear map LocalizedModule S M ⟶ M'' such that l ∘ mkLinearMap = g then
l = lift g
If (M', f : M ⟶ M') satisfies universal property of localized module, there is a canonical
map LocalizedModule S M ⟶ M'.
Equations
Instances For
If (M', f : M ⟶ M') satisfies universal property of localized module, there is a canonical
map LocalizedModule S M ⟶ M'.
Equations
- IsLocalizedModule.fromLocalizedModule S f = { toFun := IsLocalizedModule.fromLocalizedModule' S f, map_add' := ⋯, map_smul' := ⋯ }
Instances For
If (M', f : M ⟶ M') satisfies universal property of localized module, then M' is isomorphic to
LocalizedModule S M as an R-module.
Equations
- One or more equations did not get rendered due to their size.
Instances For
If M' is a localized module and g is a linear map M → M'' such that all scalar multiplication
by s : S is invertible, then there is a linear map M' → M''.
Equations
- IsLocalizedModule.lift S f g h = LocalizedModule.lift S g h ∘ₗ ↑(IsLocalizedModule.iso S f).symm
Instances For
Universal property from localized module:
If (M', f : M ⟶ M') is a localized module then it satisfies the following universal property:
For every R-module M'' which every s : S-scalar multiplication is invertible and for every
R-linear map g : M ⟶ M'', there is a unique R-linear map l : M' ⟶ M'' such that
l ∘ f = g.
M -----f----> M'
| /
|g /
| / l
v /
M''
If (M', f) and (M'', g) both satisfy universal property of localized module, then M', M''
are isomorphic as R-module
Equations
- IsLocalizedModule.linearEquiv S f g = (IsLocalizedModule.iso S f).symm.trans (IsLocalizedModule.iso S g)
Instances For
mk' f m s is the fraction m/s with respect to the localization map f.
Equations
- IsLocalizedModule.mk' f m s = (IsLocalizedModule.fromLocalizedModule S f) (LocalizedModule.mk m s)
Instances For
The natural map Mₛ →ₗ[R] Mₜ if s ≤ t (in Submonoid R).
Equations
- IsLocalizedModule.liftOfLE S₁ S₂ h f₁ f₂ = IsLocalizedModule.lift S₁ f₁ f₂ ⋯
Instances For
The natural map Mₛ →ₗ[R] Mₜ if s ≤ t (in Submonoid R).
Equations
- LocalizedModule.liftOfLE S₁ S₂ h = IsLocalizedModule.liftOfLE S₁ S₂ h (LocalizedModule.mkLinearMap S₁ M) (LocalizedModule.mkLinearMap S₂ M)
Instances For
The image of m/s under liftOfLE is m/s.
A linear map M →ₗ[R] N gives a map between localized modules Mₛ →ₗ[R] Nₛ.
Equations
- IsLocalizedModule.map S f g = { toFun := fun (h : M →ₗ[R] N) => IsLocalizedModule.lift S f (g ∘ₗ h) ⋯, map_add' := ⋯, map_smul' := ⋯ }
Instances For
The linear map (LocalizedModule S M) → (LocalizedModule S M) from iso is the identity.
Formula for IsLocalizedModule.map when each localized module is a LocalizedModule.
Localization of composition is the composition of localization
If M' is the localization of M at S and A = S⁻¹R, then
M' is an A`-module.