Matroid Minors #
For M : Matroid α and X : Set α, we can remove the elements of X from M
to obtain a matroid with ground set M.E \ X in two different ways: 'deletion' and 'contraction'.
The deletion of X from M, denoted M \ X, is the matroid whose independent sets are the
independent sets of M that are disjoint from X. The contraction of X is the matroid M / X
in which a set I is independent if and only if I ∪ J is independent in M,
where J is an arbitrarily chosen basis for X.
We also have M \ X = M ↾ (M.E \ X) and (a little more cryptically) M / X = (M✶ \ X)✶.
We use these as the definitions, and prove that the independent sets are the same as those just
specified.
A matroid obtained from M by a sequence of deletions/contractions
(or equivalently, by a single deletion and a single contraction) is a minor of M.
This gives a partial order on Matroid α that is ubiquitous in matroid theory,
and interacts nicely with duality and linear representations.
Main Declarations #
Matroid.delete M D, writtenM \ D, is the restriction ofMto the setM.E \ D.Matroid.contract M C, writtenM / C, is the matroid on ground setM.E \ Cin which a setI ⊆ M.E \ Cis independent if and only ifI ∪ Jis independent inM, whereJis an arbitrary basis forC.Matroid.contract_dual M C : (M / X)✶ = M✶ \ X; the dual of contraction is deletion.Matroid.delete_dual M C : (M \ X)✶ = M✶ / X; the dual of deletion is contraction.
Naming conventions #
We use the abbreviations deleteElem and contractElem in lemma names to refer to the
deletion M \ {e} or contraction M / {e} of a single element e : α from M : Matroid α.
M \ D refers to the deletion of a set D from the matroid M.
Equations
- Matroid.«term_\_» = Lean.ParserDescr.trailingNode `Matroid.«term_\_» 75 75 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " \ ") (Lean.ParserDescr.cat `term 76))
Instances For
Alias of the reverse direction of Matroid.delete_eq_self_iff.
The contraction M / C is the matroid on M.E \ C in which a set I ⊆ M.E \ C is independent
if and only if I ∪ J is independent, where J is an arbitrarily chosen basis for C.
It is also equal to (M✶ \ C)✶, and is defined this way so we don't have to give
a separate proof that it is actually a matroid.
(Currently the proof it has the correct independent sets is TODO. )
Instances For
M / C refers to the contraction of a set C from the matroid M.
Equations
- Matroid.«term_/_» = Lean.ParserDescr.trailingNode `Matroid.«term_/_» 75 75 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " / ") (Lean.ParserDescr.cat `term 76))