Matroid Loops #
A 'loop' of a matroid M
is an element e
satisfying one of the following equivalent conditions:
e ∈ M.closure ∅
;{e}
is dependent inM
;{e}
is a circuit ofM
;- no base of
M
containse
. In many mathematical contexts, loops can be thought of as 'trivial' or 'zero' elements; For linearly representable matroids, they correspond to the zero vector, and for graphic matroids, they correspond to edges incident with just one vertex (aka 'loops'). As trivial as they are, loops can be created from matroids with no loops by taking minors or duals, so in many contexts it is unreasonable to simply forbid loops from appearing. This file defines loops, and provides API for interacting with them.
Main Declarations #
Alias of the reverse direction of Matroid.singleton_dep
.
Alias of the reverse direction of Matroid.singleton_isCircuit
.
theorem
Matroid.IsLoop.of_isRestriction
{α : Type u_1}
{M N : Matroid α}
{e : α}
(he : N.IsLoop e)
(hNM : N.IsRestriction M)
:
M.IsLoop e
theorem
Matroid.IsLoop.isLoop_isRestriction
{α : Type u_1}
{M N : Matroid α}
{e : α}
(he : M.IsLoop e)
(hNM : N.IsRestriction M)
(heN : e ∈ N.E)
:
N.IsLoop e
@[simp]
theorem
Matroid.mapEmbedding_isLoop_iff
{α : Type u_1}
{β : Type u_2}
{M : Matroid α}
{e : α}
{f : α ↪ β}
:
@[simp]