Matroid Duality #
For a matroid M
on ground set E
, the collection of complements of the bases of M
is the
collection of bases of another matroid on E
called the 'dual' of M
.
The map from M
to its dual is an involution, interacts nicely with minors,
and preserves many important matroid properties such as representability and connectivity.
This file defines the dual matroid M✶
of M
, and gives associated API. The definition
is in terms of its independent sets, using IndepMatroid.matroid
.
We also define 'Co-independence' (independence in the dual) of a set as a predicate M.Coindep X
.
This is an abbreviation for M✶.Indep X
, but has its own name for the sake of dot notation.
Main Definitions #
M.Dual
, writtenM✶
, is the matroid in which a setB
is a base if and only ifB ⊆ M.E
andM.E \ B
is a base forM
.M.Coindep X
meansM✶.Indep X
, or equivalently thatX
is contained inM.E \ B
for some baseB
ofM
.
Given M : Matroid α
, the IndepMatroid α
whose independent sets are
the subsets of M.E
that are disjoint from some base of M
Equations
- One or more equations did not get rendered due to their size.
Instances For
The ✶
symbol, which denotes matroid duality.
(This is distinct from the usual *
symbol for multiplication, due to precedence issues. )
Equations
- Matroid.«term_✶» = Lean.ParserDescr.trailingNode `Matroid.term_✶ 1024 1024 (Lean.ParserDescr.symbol "✶")
Instances For
A coindependent set of M
is an independent set of the dual of M✶
. we give it a separate
definition to enable dot notation. Which spelling is better depends on context.