Matroid IsCircuits #
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.IsCircuit 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_isCircuitstates thatMatroid.fundCircuit M e Iis indeed a circuit.Matroid.IsCircuit.eq_fundCircuit_of_subsetstates thatMatroid.fundCircuit M e Iis the unique circuit contained ininsert e I.Matroid.dep_iff_superset_isCircuitstates that the dependent subsets of the ground set are precisely those that contain a circuit.Matroid.ext_isCircuit: a matroid is determined by its collection of circuits.Matroid.IsCircuit.strong_multi_elimination: the strong circuit elimination rule for an infinite collection of circuits.Matroid.IsCircuit.strong_elimination: the strong circuit elimination rule for two circuits.Matroid.finitary_iff_forall_isCircuit_finite: finitary matroids are precisely those whose circuits are all finite.Matroid.IsCocircuit M Cmeans thatCis minimally dependent inM✶, or equivalently thatM.E \ Cis a hyperplane ofM.Matroid.fundCocircuit M B eis the unique cocircuit that intersects the baseBprecisely in the elemente.Matroid.IsBase.mem_fundCocircuit_iff_mem_fundCircuit:eis in the fundamental circuit forBandfifffis in the fundamental cocircuit forBande.
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 IsCircuits #
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_isCircuit,
and the fact that it is unique, see Matroid.IsCircuit.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 isCircuit of e and X has the junk value {e} if e ∈ X
Alias of Matroid.fundCircuit_eq_of_notMem_ground.
For I independent, M.fundCircuit e I is the only circuit contained in insert e I.
Dependence #
A version of Matroid.indep_iff_forall_subset_not_isCircuit that has the supportedness
hypothesis as part of the equivalence, rather than a hypothesis.
Closure #
Extensionality #
A stronger version of Matroid.ext_isCircuit:
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.IsCircuit.strong_multi_elimination that is phrased using insertion.
A generalization of the strong circuit elimination axiom Matroid.IsCircuit.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 isCircuit 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 defining a finitary matroid via circuits;
as an axiom, it is usually stated with the extra assumption that e ∈ C₁ ∩ C₂.
Finitary Matroids #
IsCocircuits #
A cocircuit is a circuit of the dual matroid, or equivalently the complement of a hyperplane.
Equations
- M.IsCocircuit K = M✶.IsCircuit K
Instances For
The fundamental cocircuit for B and e:
that is, the unique cocircuit K of M for which K ∩ B = {e}.
Should be used when B is a base and e ∈ B.
Has the junk value {e} if e ∉ B or e ∉ M.E.
Equations
- M.fundCocircuit e B = M✶.fundCircuit e (M✶.E \ B)
Instances For
The fundamental cocircuit of X and e has the junk value {e} if e ∉ M.E
Alias of Matroid.fundCocircuit_eq_of_notMem_ground.
The fundamental cocircuit of X and e has the junk value {e} if e ∉ M.E
The fundamental cocircuit of X and e has the junk value {e} if e ∉ X
Alias of Matroid.fundCocircuit_eq_of_notMem.
The fundamental cocircuit of X and e has the junk value {e} if e ∉ X
Fundamental circuits and cocircuits of a base B play dual roles;
e belongs to the fundamental cocircuit for B and f if and only if
f belongs to the fundamental circuit for e and B.
This statement isn't so reasonable unless f ∈ B and e ∉ B,
but holds due to junk values even without these assumptions.