Presentation of free modules #
A module is free iff it admits a presentation with generators but no relation,
see Module.free_iff_exists_presentation.
@[simp]
noncomputable def
Module.Relations.solutionFinsupp.isPresentationCore
{A : Type u}
[Ring A]
(relations : Relations A)
[IsEmpty relations.R]
:
relations.solutionFinsupp.IsPresentationCore
If relations : Relations A involves no relations ([IsEmpty relations.R]),
then the free module relations.G →₀ A satisfies the universal property of the
corresponding module defined by generators (and relations).
Instances For
theorem
Module.Relations.solutionFinsupp_isPresentation
{A : Type u}
[Ring A]
(relations : Relations A)
[IsEmpty relations.R]
:
relations.solutionFinsupp.IsPresentation
theorem
Module.Relations.Solution.IsPresentation.free
{A : Type u}
[Ring A]
{relations : Relations A}
(M : Type v)
[AddCommGroup M]
[Module A M]
[IsEmpty relations.R]
{solution : relations.Solution M}
(h : solution.IsPresentation)
:
Free A M
noncomputable def
Module.presentationFinsupp
(A : Type u)
[Ring A]
(G : Type w₀)
:
Presentation A (G →₀ A)
The presentation of the A-module G →₀ A with generators indexed by G,
and no relation. (Note that there is an auxiliary universe parameter w₁ for the
empty type R.)
Instances For
@[simp]
theorem
Module.presentationFinsupp_G
(A : Type u)
[Ring A]
(G : Type w₀)
:
(presentationFinsupp A G).G = G
@[simp]
@[simp]
theorem
Module.presentationFinsupp_R
(A : Type u)
[Ring A]
(G : Type w₀)
:
(presentationFinsupp A G).R = PEmpty.{w₁ + 1}
theorem
Module.free_iff_exists_presentation
(A : Type u)
[Ring A]
(M : Type v)
[AddCommGroup M]
[Module A M]
:
Free A M ↔ ∃ (p : Presentation A M), IsEmpty p.R