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 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_isCircuit
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_isCircuit
states 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 C
means thatC
is minimally dependent inM✶
, or equivalently thatM.E \ C
is a hyperplane ofM
.Matroid.fundCocircuit M B e
is the unique cocircuit that intersects the baseB
precisely in the elemente
.Base.mem_fundCocircuit_iff_mem_fundCircuit
:e
is in the fundamental circuit forB
andf
ifff
is in the fundamental cocircuit forB
ande
.
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.
Alias of Matroid.IsCircuit
.
A Circuit
of M
is a minimal dependent set in M
Equations
Instances For
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 isCircuit contained in insert e I
.
For the fact that this is a isCircuit, 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
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 isCircuits.
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 isCircuits 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
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.