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 Cmeans thatCis minimally dependent inM.- For an
Independent setIwhose closure contains an elemente ∉ I,Matroid.fundCircuit M e Iis the unique circuit contained ininsert e I. Matroid.Indep.fundCircuit_circuitstates thatMatroid.fundCircuit M e Iis indeed a circuit.Circuit.eq_fundCircuit_of_subsetstates thatMatroid.fundCircuit M e Iis the unique circuit contained ininsert e I.Matroid.dep_iff_superset_circuitstates 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₂.