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 M
is the supremum of the cardinalities of the bases of matroidM
.Matroid.cRk M X
is the supremum of the cardinalities of the bases of a setX
in a matroidM
.invariantCardinalRank_of_finitary
is the instance showing thatFinitary
matroids areInvariantCardinalRank
.cRk_inter_add_cRk_union_le
states that cardinal rank is submodular.
Notes #
It is not the case that all matroids are InvariantCardinalRank
,
since the equicardinality of isBases in general matroids is independent of ZFC
(see the module docstring of Mathlib.Data.Matroid.Basic
).
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
; see, for example, Matroid.Base.encard_diff_comm
.
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
.
Instances For
A class stating that cardinality-valued rank is well-defined
(i.e. all isBases 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.