Direct limit of modules, abelian groups, rings, and fields. #
See Atiyah-Macdonald PP.32-33, Matsumura PP.269-270
Generalizes the notion of "union", or "gluing", of incomparable modules over the same ring, or incomparable abelian groups, or rings, or fields.
It is constructed as a quotient of the free module (for the module case) or quotient of the free commutative ring (for the ring case) instead of a quotient of the disjoint union so as to make the operations (addition etc.) "computable".
Main definitions #
A directed system is a functor from a category (directed poset) to another category.
Instances
A copy of DirectedSystem.map_self
specialized to linear maps, as otherwise the
fun i j h ↦ f i j h
can confuse the simplifier.
A copy of DirectedSystem.map_map
specialized to linear maps, as otherwise the
fun i j h ↦ f i j h
can confuse the simplifier.
The direct limit of a directed system is the modules glued together along the maps.
Equations
- One or more equations did not get rendered due to their size.
Instances For
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
- Module.DirectLimit.inhabited G f = { default := 0 }
Equations
- One or more equations did not get rendered due to their size.
The canonical map from a component to the direct limit.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Every element of the direct limit corresponds to some element in some component of the directed system.
The universal property of the direct limit: maps from the components to another module that respect the directed system structure (i.e. make some diagram commute) give rise to a unique map out of the direct limit.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Consider direct limits lim G
and lim G'
with direct system f
and f'
respectively, any
family of linear maps gᵢ : Gᵢ ⟶ G'ᵢ
such that g ∘ f = f' ∘ g
induces a linear map
lim G ⟶ lim G'
.
Equations
- Module.DirectLimit.map g hg = Module.DirectLimit.lift R ι G f (fun (i : ι) => LinearMap.comp (Module.DirectLimit.of R ι G' f' i) (g i)) ⋯
Instances For
Consider direct limits lim G
and lim G'
with direct system f
and f'
respectively, any
family of equivalences eᵢ : Gᵢ ≅ G'ᵢ
such that e ∘ f = f' ∘ e
induces an equivalence
lim G ≅ lim G'
.
Equations
- Module.DirectLimit.congr e he = LinearEquiv.ofLinear (Module.DirectLimit.map (fun (x : ι) => ↑(e x)) he) (Module.DirectLimit.map (fun (i : ι) => ↑(LinearEquiv.symm (e i))) ⋯) ⋯ ⋯
Instances For
totalize G f i j
is a linear map from G i
to G j
, for every i
and j
.
If i ≤ j
, then it is the map f i j
that comes with the directed system G
,
and otherwise it is the zero map.
Equations
- Module.DirectLimit.totalize G f i j = if h : i ≤ j then f i j h else 0
Instances For
A component that corresponds to zero in the direct limit is already zero in some bigger module in the directed system.
The direct limit of a directed system is the abelian groups glued together along the maps.
Equations
- AddCommGroup.DirectLimit G f = Module.DirectLimit G fun (i j : ι) (hij : i ≤ j) => AddMonoidHom.toIntLinearMap (f i j hij)
Instances For
Equations
- AddCommGroup.DirectLimit.instAddCommGroupDirectLimit G f = Module.DirectLimit.addCommGroup G fun (i j : ι) (hij : i ≤ j) => AddMonoidHom.toIntLinearMap (f i j hij)
Equations
- AddCommGroup.DirectLimit.instInhabitedDirectLimit G f = { default := 0 }
Equations
- AddCommGroup.DirectLimit.instUniqueDirectLimit G f = Module.DirectLimit.unique G fun (i j : ι) (hij : i ≤ j) => AddMonoidHom.toIntLinearMap (f i j hij)
The canonical map from a component to the direct limit.
Equations
- AddCommGroup.DirectLimit.of G f i = LinearMap.toAddMonoidHom (Module.DirectLimit.of ℤ ι G (fun (i j : ι) (hij : i ≤ j) => AddMonoidHom.toIntLinearMap (f i j hij)) i)
Instances For
A component that corresponds to zero in the direct limit is already zero in some bigger module in the directed system.
The universal property of the direct limit: maps from the components to another abelian group that respect the directed system structure (i.e. make some diagram commute) give rise to a unique map out of the direct limit.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Consider direct limits lim G
and lim G'
with direct system f
and f'
respectively, any
family of group homomorphisms gᵢ : Gᵢ ⟶ G'ᵢ
such that g ∘ f = f' ∘ g
induces a group
homomorphism lim G ⟶ lim G'
.
Equations
- AddCommGroup.DirectLimit.map g hg = AddCommGroup.DirectLimit.lift G f (AddCommGroup.DirectLimit G' f') (fun (i : ι) => AddMonoidHom.comp (AddCommGroup.DirectLimit.of G' f' i) (g i)) ⋯
Instances For
Consider direct limits lim G
and lim G'
with direct system f
and f'
respectively, any
family of equivalences eᵢ : Gᵢ ≅ G'ᵢ
such that e ∘ f = f' ∘ e
induces an equivalence
lim G ⟶ lim G'
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The direct limit of a directed system is the rings glued together along the maps.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- Ring.DirectLimit.ring G f = CommRing.toRing
Equations
- Ring.DirectLimit.zero G f = id { zero := 0 }
Equations
- Ring.DirectLimit.instInhabitedDirectLimit G f = { default := 0 }
The canonical map from a component to the direct limit.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Every element of the direct limit corresponds to some element in some component of the directed system.
A component that corresponds to zero in the direct limit is already zero in some bigger module in the directed system.
If the maps in the directed system are injective, then the canonical maps from the components to the direct limits are injective.
The universal property of the direct limit: maps from the components to another ring that respect the directed system structure (i.e. make some diagram commute) give rise to a unique map out of the direct limit.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Consider direct limits lim G
and lim G'
with direct system f
and f'
respectively, any
family of ring homomorphisms gᵢ : Gᵢ ⟶ G'ᵢ
such that g ∘ f = f' ∘ g
induces a ring
homomorphism lim G ⟶ lim G'
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Consider direct limits lim G
and lim G'
with direct system f
and f'
respectively, any
family of equivalences eᵢ : Gᵢ ≅ G'ᵢ
such that e ∘ f = f' ∘ e
induces an equivalence
lim G ⟶ lim G'
.
Equations
- Ring.DirectLimit.congr e he = RingEquiv.ofHomInv (Ring.DirectLimit.map (fun (x : ι) => ↑(e x)) he) (Ring.DirectLimit.map (fun (i : ι) => ↑(RingEquiv.symm (e i))) ⋯) ⋯ ⋯
Instances For
Equations
- ⋯ = ⋯
Noncomputable multiplicative inverse in a direct limit of fields.
Equations
- Field.DirectLimit.inv G f p = if H : p = 0 then 0 else Classical.choose ⋯
Instances For
Noncomputable field structure on the direct limit of fields. See note [reducible non-instances].
Equations
- Field.DirectLimit.field G f' = Field.mk ⋯ zpowRec ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ (qsmulRec fun (a : ℚ) => ↑a) ⋯