Matroid Circuits #
A Circuit
of a matroid M
is a minimal set C
that is dependent in M
.
A matroid is determined by its set of circuits, and often the circuits
offer a more compact description of a matroid than the collection of independent sets or bases.
In matroids arising from graphs, circuits correspond to graphical cycles.
Main Declarations #
Matroid.Circuit M C
means thatC
is minimally dependent inM
.- For an
Indep
endent setI
whose closure contains an elemente ∉ I
,Matroid.fundCircuit M e I
is the unique circuit contained ininsert e I
. Matroid.Indep.fundCircuit_circuit
states thatMatroid.fundCircuit M e I
is indeed a circuit.Circuit.eq_fundCircuit_of_subset
states thatMatroid.fundCircuit M e I
is the unique circuit contained ininsert e I
.Matroid.dep_iff_superset_circuit
states that the dependent subsets of the ground set are precisely those that contain a circuit.Matroid.ext_circuit
: a matroid is determined by its collection of circuits.Matroid.Circuit.strong_multi_elimination
: the strong circuit elimination rule for an infinite collection of circuits.Matroid.Circuit.strong_elimination
: the strong circuit elimination rule for two circuits.Matroid.finitary_iff_forall_circuit_finite
: finitary matroids are precisely those whose circuits are all finite.
Implementation Details #
Since Matroid.fundCircuit M e I
is only sensible if I
is independent and e ∈ M.closure I \ I
,
to avoid hypotheses being explicitly included in the definition,
junk values need to be chosen if either hypothesis fails.
The definition is chosen so that the junk values satisfy
M.fundCircuit e I = {e}
for e ∈ I
or e ∉ M.E
and
M.fundCircuit e I = insert e I
if e ∈ M.E \ M.closure I
.
These make the useful statement e ∈ M.fundCircuit e I ⊆ insert e I
true unconditionally.
Independence and bases #
Restriction #
Fundamental Circuits #
For an independent set I
and some e ∈ M.closure I \ I
,
M.fundCircuit e I
is the unique circuit contained in insert e I
.
For the fact that this is a circuit, see Matroid.Indep.fundCircuit_circuit
,
and the fact that it is unique, see Matroid.Circuit.eq_fundCircuit_of_subset
.
Has the junk value {e}
if e ∈ I
or e ∉ M.E
, and insert e I
if e ∈ M.E \ M.closure I
.
Instances For
The fundamental circuit of e
and X
has the junk value {e}
if e ∈ X
For I
independent, M.fundCircuit e I
is the only circuit contained in insert e I
.
Dependence #
Closure #
Extensionality #
A stronger version of Matroid.ext_circuit
:
two matroids on the same ground set are equal if no circuit of one is independent in the other.
Circuit Elimination #
A version of Matroid.Circuit.strong_multi_elimination
that is phrased using insertion.
A generalization of the strong circuit elimination axiom Matroid.Circuit.strong_elimination
to an infinite collection of circuits.
It states that, given a circuit C₀
, a arbitrary collection C : ι → Set α
of circuits,
an element x i
of C₀ ∩ C i
for each i
, and an element z ∈ C₀
outside all the C i
,
the union of C₀
and the C i
contains a circuit containing z
but none of the x i
.
This is one of the axioms when defining infinite matroids via circuits.
TODO : A similar statement will hold even when all mentions of z
are removed.
A version of Circuit.strong_multi_elimination
where the collection of circuits is
a Set (Set α)
and the distinguished elements are a Set α
, rather than both being indexed.
The strong circuit elimination axiom. For any pair of distinct circuits C₁, C₂
and all
e ∈ C₁ ∩ C₂
and f ∈ C₁ \ C₂
, there is a circuit C
with f ∈ C ⊆ (C₁ ∪ C₂) \ {e}
.
The circuit elimination axiom : for any pair of distinct circuits C₁, C₂
and any e
,
some circuit is contained in (C₁ ∪ C₂) \ {e}
.
This is one of the axioms when definining a finitary matroid via circuits;
as an axiom, it is usually stated with the extra assumption that e ∈ C₁ ∩ C₂
.