Module docstring
{"# Finite dimensional vector spaces
This file defines finite dimensional vector spaces and shows our definition is equivalent to alternative definitions.
Main definitions
Assume V is a vector space over a division ring K. There are (at least) three equivalent
definitions of finite-dimensionality of V:
- it admits a finite basis.
- it is finitely generated.
- it is noetherian, i.e., every subspace is finitely generated.
We introduce a typeclass FiniteDimensional K V capturing this property. For ease of transfer of
proof, it is defined using the second point of view, i.e., as Module.Finite. However, we prove
that all these points of view are equivalent, with the following lemmas
(in the namespace FiniteDimensional):
Module.finBasisandModule.finBasisOfFinrankEqare bases for finite dimensional vector spaces, where the index type isFin(inMathlib.LinearAlgebra.Dimension.Free)fintypeBasisIndexstates that a finite-dimensional vector space has a finite basisof_fintype_basisstates that the existence of a basis indexed by a finite type implies finite-dimensionalityof_finite_basisstates that the existence of a basis indexed by a finite set implies finite-dimensionalityof_finrank_posstates that a nonzero finrank (implying non-infinite dimension) implies finite-dimensionalityIsNoetherian.iff_fgstates that the space is finite-dimensional if and only if it is noetherian (inMathlib.FieldTheory.Finiteness)
We make use of finrank, the dimension of a finite dimensional space, returning a Nat, as
opposed to Module.rank, which returns a Cardinal. When the space has infinite dimension, its
finrank is by convention set to 0. finrank is not defined using FiniteDimensional.
For basic results that do not need the FiniteDimensional class, import
Mathlib.LinearAlgebra.Finrank.
Preservation of finite-dimensionality and formulas for the dimension are given for
- submodules (FiniteDimensional.finiteDimensional_submodule)
- linear equivs, in LinearEquiv.finiteDimensional
Implementation notes
You should not assume that there has been any effort to state lemmas as generally as possible.
Plenty of the results hold for general fg modules or notherian modules, and they can be found in
Mathlib.LinearAlgebra.FreeModule.Finite.Rank and Mathlib.RingTheory.Noetherian.
"}