Cardinal-valued rank #
In a finitary matroid, all bases have the same cardinality.
In fact, something stronger holds: if each of I and J is a basis for a set X,
then #(I \ J) = #(J \ I) and (consequently) #I = #J.
This file introduces a typeclass InvariantCardinalRank that applies to any matroid
such that this property holds for all I, J and X.
A matroid satisfying this condition has a well-defined cardinality-valued rank function, both for itself and all its minors.
Main Declarations #
Matroid.InvariantCardinalRank: a typeclass capturing the idea that a matroid and all its minors have a well-behaved cardinal-valued rank function.Matroid.cRank Mis the supremum of the cardinalities of the bases of matroidM.Matroid.cRk M Xis the supremum of the cardinalities of the bases of a setXin a matroidM.invariantCardinalRank_of_finitaryis the instance showing thatFinitarymatroids areInvariantCardinalRank.cRk_inter_add_cRk_union_lestates that cardinal rank is submodular.
Notes #
It is not (provably) the case that all matroids are InvariantCardinalRank,
since the equicardinality of bases in general matroids is independent of ZFC
(see the module docstring of Mathlib/Data/Matroid/Basic.lean).
Lemmas like Matroid.Base.cardinalMk_diff_comm become true for all matroids
only if they are weakened by replacing Cardinal.mk with the cruder ℕ∞-valued Set.encard.
The ℕ∞-valued rank and rank functions Matroid.eRank and Matroid.eRk,
which have a more unconditionally strong API,
are developed in Mathlib/Data/Matroid/Rank/ENat.lean.
Implementation Details #
Since the functions cRank and cRk are defined as suprema,
independently of the Matroid.InvariantCardinalRank typeclass,
they are well-defined for all matroids.
However, for matroids that do not satisfy InvariantCardinalRank, they are badly behaved.
For instance, in general cRk is not submodular,
and its value may differ on a set X and the closure of X.
We state and prove theorems without InvariantCardinalRank whenever possible,
which sometime makes their proofs longer than they would be with the instance.
TODO #
- Higgs' theorem : if the generalized continuum hypothesis holds,
then every matroid is
InvariantCardinalRank.
The rank (supremum of the cardinalities of bases) of a matroid M as a Cardinal.
See Matroid.eRank for a better-behaved ℕ∞-valued version.
Instances For
The rank (supremum of the cardinalities of bases) of a set X in a matroid M,
as a Cardinal. See Matroid.eRk for a better-behaved ℕ∞-valued version.
Instances For
A class stating that cardinality-valued rank is well-defined
(i.e. all bases are equicardinal) for a matroid M and its minors.
Notably, this holds for Finitary matroids; see Matroid.invariantCardinalRank_of_finitary.
- forall_card_isBasis_diff ⦃I J X : Set α⦄ : M.IsBasis I X → M.IsBasis J X → Cardinal.mk ↑(I \ J) = Cardinal.mk ↑(J \ I)
Instances
Restrictions of matroids with cardinal rank functions have cardinal rank functions.
Finitary matroids have a cardinality-valued rank function.