def Matroid.ModularCut.ExtIndep {α : Type u_1} {M : Matroid α} (U : M.ModularCut) (e : α) (I : Set α) :
U.ExtIndep e I means that I is independent in the matroid obtained from M
by adding an element e using U, so either I is independent not containing e,
or I = insert e J for some M-independent set J whose closure isn't in U.
Instances For
theorem Matroid.ModularCut.extIndep_iff_of_notMem {α : Type u_1} {M : Matroid α} {I : Set α} {e : α} {U : M.ModularCut} (heI : e ∉ I) :
theorem Matroid.Indep.extIndep {α : Type u_1} {M : Matroid α} {I : Set α} {e : α} {U : M.ModularCut} (hI : M.Indep I) (he : e ∉ M.E) :
U.ExtIndep e I
theorem Matroid.ModularCut.ExtIndep.subset {α : Type u_1} {M : Matroid α} {I J : Set α} {e : α} {U : M.ModularCut} (h : U.ExtIndep e I) (hJI : J ⊆ I) :
U.ExtIndep e J
theorem Matroid.ModularCut.ExtIndep.subset_insert_ground {α : Type u_1} {M : Matroid α} {I : Set α} {e : α} {U : M.ModularCut} (h : U.ExtIndep e I) :
theorem Matroid.ModularCut.existsMaximalSubsetProperty {α : Type u_1} {M : Matroid α} {X : Set α} {e : α} (U : M.ModularCut) (hXE : X ⊆ insert e M.E) :
ExistsMaximalSubsetProperty (U.ExtIndep e) X
Extend a matroid M by a new element e using a modular cut U.
(If e already belongs to M, then this deletes the existing element e first.)
Equations
Instances For
@[simp]
@[simp]
theorem Matroid.extendBy_Indep {α : Type u_1} (M : Matroid α) (e : α) (U : M.ModularCut) (a✝ : Set α) :
@[simp]
theorem Matroid.ModularCut.isRestriction_extendBy {α : Type u_1} {M : Matroid α} {e : α} (U : M.ModularCut) (he : e ∉ M.E) :
M.IsRestriction (M.extendBy e U)
theorem Matroid.ModularCut.extendBy_injective {α : Type u_1} {e : α} (M : Matroid α) (he : e ∉ M.E) :
Function.Injective (M.extendBy e)
Different modular cuts give different extensions.
Single-element extensions are equivalent to modular cuts.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem Matroid.ModularCut.isFlat_extendBy_of_isFlat_of_notMem {α : Type u_1} {M : Matroid α} {F : Set α} {e : α} (U : M.ModularCut) (he : e ∉ M.E) (hF : M.IsFlat F) (hFU : F ∉ U) :
instance Matroid.ModularCut.instRankFiniteExtendBy {α : Type u_1} {M : Matroid α} (U : M.ModularCut) (e : α) [M.RankFinite] :
(M.extendBy e U).RankFinite
An extension of a finite-rank matroid is finite.
@[simp]
theorem Matroid.ModularCut.extendBy_isLoop_iff {α : Type u_1} {M : Matroid α} {e : α} {U : M.ModularCut} :
@[simp]
theorem Matroid.ModularCut.extendBy_isNonloop_iff {α : Type u_1} {M : Matroid α} {e : α} {U : M.ModularCut} :
theorem Matroid.ModularCut.extendBy_restrict_of_notMem {α : Type u_1} {M : Matroid α} {e : α} {U : M.ModularCut} {R : Set α} (he : e ∉ R) :
theorem Matroid.ModularCut.mapEquiv_extendBy {α : Type u_1} {M : Matroid α} {e f : α} [DecidableEq α] (U : M.ModularCut) (he : e ∉ M.E) (hf : f ∉ M.E) :