The rank nullity theorem #
In this file we provide the rank nullity theorem as a typeclass, and prove various corollaries
of the theorem. The main definition is HasRankNullity.{u} R, which states that
- Every
R-moduleM : Type uhas a linear independent subset of cardinalityModule.rank R M. rank (M ⧸ N) + rank N = rank Mfor everyR-moduleM : Type uand everyN : Submodule R M.
The following instances are provided in mathlib:
DivisionRing.hasRankNullityfor division rings inLinearAlgebra/Dimension/DivisionRing.lean.IsDomain.hasRankNullityfor commutative domains inLinearAlgebra/Dimension/Localization.lean.
TODO: prove the rank-nullity theorem for [Ring R] [IsDomain R] [StrongRankCondition R].
See nonempty_oreSet_of_strongRankCondition for a start.
HasRankNullity.{u} is a class of rings satisfying
- Every
R-moduleM : Type uhas a linear independent subset of cardinalityModule.rank R M. rank (M ⧸ N) + rank N = rank Mfor everyR-moduleM : Type uand everyN : Submodule R M.
Usually such a ring satisfies HasRankNullity.{w} for all universes w, and the universe
argument is there because of technical limitations to universe polymorphism.
See DivisionRing.hasRankNullity and IsDomain.hasRankNullity.
- exists_set_linearIndependent (M : Type u) [AddCommGroup M] [Module R M] : ∃ (s : Set M), Cardinal.mk ↑s = Module.rank R M ∧ LinearIndepOn R id s
- rank_quotient_add_rank {M : Type u} [AddCommGroup M] [Module R M] (N : Submodule R M) : Module.rank R (M ⧸ N) + Module.rank R ↥N = Module.rank R M
Instances
The rank-nullity theorem
Given a family of n linearly independent vectors in a space of dimension > n, one may extend
the family by another vector while retaining linear independence.
Given a family of n linearly independent vectors in a space of dimension > n, one may extend
the family by another vector while retaining linear independence.
Given a nonzero vector in a space of dimension > 1, one may find another vector linearly
independent of the first one.
Alias of Submodule.exists_smul_notMem_of_rank_lt.
Given a family of n linearly independent vectors in a finite-dimensional space of
dimension > n, one may extend the family by another vector while retaining linear independence.
Given a family of n linearly independent vectors in a finite-dimensional space of
dimension > n, one may extend the family by another vector while retaining linear independence.
Given a nonzero vector in a finite-dimensional space of dimension > 1, one may find another
vector linearly independent of the first one.
Rank-nullity theorem using finrank.
Rank-nullity theorem using finrank and subtraction.