instance Matroid.InvariantFun.isLoop :
InvariantFun (fun {α : Type u_3} => IsLoop) fun {β : Type u_4} => IsLoop
instance Matroid.InvariantFun.isNonLoop :
InvariantFun (fun {α : Type u_3} => IsNonloop) fun {β : Type u_4} => IsNonloop
instance Matroid.InvariantFun.IsColoop :
InvariantFun (fun {α : Type u_3} => Matroid.IsColoop) fun {β : Type u_4} => Matroid.IsColoop
theorem Matroid.IsNonColoop.mem_ground {α : Type u_1} {M : Matroid α} {e : α} (h : M.IsNonColoop e) :
theorem Matroid.IsNonColoop.not_isColoop {α : Type u_1} {M : Matroid α} {e : α} (h : M.IsNonColoop e) :
theorem Matroid.IsColoop.not_isNonColoop {α : Type u_1} {M : Matroid α} {e : α} (h : M.IsColoop e) :
¬M.IsNonColoop e
instance Matroid.InvariantFun.IsNonColoop :
InvariantFun (fun {α : Type u_3} => Matroid.IsNonColoop) fun {β : Type u_4} => Matroid.IsNonColoop
@[simp]
@[simp]
theorem Matroid.IsNonColoop.isNonloop_dual {α : Type u_1} {M : Matroid α} {e : α} :
M.IsNonColoop e → M✶.IsNonloop e
Alias of the reverse direction of Matroid.isNonloop_dual.
theorem Matroid.not_isColoop_iff {α : Type u_1} {M : Matroid α} {e : α} (he : e ∈ M.E := by aesop_mat) :
theorem Matroid.not_isNonColoop_iff {α : Type u_1} {M : Matroid α} {e : α} (he : e ∈ M.E := by aesop_mat) :
theorem Matroid.IsNonColoop.exists_isBase_notMem {α : Type u_1} {M : Matroid α} {e : α} (h : M.IsNonColoop e) :
theorem Matroid.IsLoop.isNonColoop {α : Type u_1} {M : Matroid α} {e : α} (h : M.IsLoop e) :
M.IsNonColoop e
theorem Matroid.isColoop_or_isNonColoop {α : Type u_1} (M : Matroid α) (e : α) (he : e ∈ M.E := by aesop_mat) :
@[simp]
@[simp]
@[simp]
theorem Matroid.isNonColoop_of_mem {α : Type u_1} {M : Matroid α} {e : α} [M.Coloopless] (he : e ∈ M.E) :
M.IsNonColoop e
theorem Matroid.Loopless.subsingleton_indep {α : Type u_1} {M : Matroid α} {X : Set α} (hM : M.Loopless) (hX : X.Subsingleton) (hXE : X ⊆ M.E := by aesop_mat) :
M.Indep X
theorem Matroid.Coloopless.subsingleton_coindep {α : Type u_1} {M : Matroid α} {X : Set α} (hM : M.Coloopless) (hX : X.Subsingleton) (hXE : X ⊆ M.E := by aesop_mat) :
M.Coindep X
@[simp]
theorem Matroid.disjointSigma_isLoop_iff {α : Type u_1} {e : α} {ι : Type u_3} {M : ι → Matroid α} (hdj : Pairwise (Function.onFun Disjoint fun (i : ι) => (M i).E)) :
@[simp]
theorem Matroid.disjointSigma_isNonloop_iff {α : Type u_1} {e : α} {ι : Type u_3} {M : ι → Matroid α} (hdj : Pairwise (Function.onFun Disjoint fun (i : ι) => (M i).E)) :
@[simp]
theorem Matroid.disjointSigma_loops {α : Type u_1} {ι : Type u_3} {M : ι → Matroid α} (hdj : Pairwise (Function.onFun Disjoint fun (i : ι) => (M i).E)) :
theorem Matroid.Coloopless.isNonColoop_of_mem {α : Type u_1} {M : Matroid α} {e : α} (hM : M.Coloopless) (he : e ∈ M.E) :
M.IsNonColoop e
remove the coloops of a matroid M.
Equations
Instances For
@[simp]
@[simp]
Two sets are IsLoopEquiv in M if their symmetric difference contains only loops.
Instances For
theorem Matroid.IsLoopEquiv.symm {α : Type u_1} {M : Matroid α} {X Y : Set α} (h : M.IsLoopEquiv X Y) :
M.IsLoopEquiv Y X
theorem Matroid.IsLoopEquiv.trans {α : Type u_1} {M : Matroid α} {X Y Z : Set α} (hXY : M.IsLoopEquiv X Y) (hYZ : M.IsLoopEquiv Y Z) :
M.IsLoopEquiv X Z
theorem Matroid.IsLoopEquiv.diff_subset_loops {α : Type u_1} {M : Matroid α} {X Y : Set α} (h : M.IsLoopEquiv X Y) :
theorem Matroid.isLoopEquiv_union {α : Type u_1} {M : Matroid α} {L : Set α} (X : Set α) (hL : L ⊆ M.loops) :
M.IsLoopEquiv X (X ∪ L)
theorem Matroid.isLoopEquiv_diff {α : Type u_1} {M : Matroid α} {L : Set α} (X : Set α) (hL : L ⊆ M.loops) :
M.IsLoopEquiv X (X \ L)
theorem Matroid.isLoopEquiv_union_loops {α : Type u_1} (M : Matroid α) (X : Set α) :
M.IsLoopEquiv X (X ∪ M.loops)
theorem Matroid.isLoopEquiv_diff_loops {α : Type u_1} (M : Matroid α) (X : Set α) :
M.IsLoopEquiv X (X \ M.loops)
theorem Matroid.IsLoopEquiv.subset_union_loops {α : Type u_1} {M : Matroid α} {X Y : Set α} (h : M.IsLoopEquiv X Y) :
theorem Matroid.IsLoopEquiv.closure_eq_closure {α : Type u_1} {M : Matroid α} {X Y : Set α} (h : M.IsLoopEquiv X Y) :
theorem Matroid.IsLoopEquiv.subset_ground {α : Type u_1} {M : Matroid α} {X Y : Set α} (h : M.IsLoopEquiv X Y) (hX : X ⊆ M.E := by aesop_mat) :
Y ⊆ M.E
theorem Matroid.IsLoopEquiv.inter_eq_of_indep {α : Type u_1} {M : Matroid α} {I X Y : Set α} (h : M.IsLoopEquiv X Y) (hI : M.Indep I) :
theorem Matroid.IsLoopEquiv.subset_iff_of_indep {α : Type u_1} {M : Matroid α} {I X Y : Set α} (h : M.IsLoopEquiv X Y) (hI : M.Indep I) :
theorem Matroid.IsLoopEquiv.isBasis_iff {α : Type u_1} {M : Matroid α} {I X Y : Set α} (h : M.IsLoopEquiv X Y) :
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
theorem Matroid.disjointSigma_removeLoops {α : Type u_1} {ι : Type u_3} (M : ι → Matroid α) (hdj : Pairwise (Function.onFun Disjoint fun (i : ι) => (M i).E)) :
(Matroid.disjointSigma M hdj).removeLoops = Matroid.disjointSigma (fun (i : ι) => (M i).removeLoops) ⋯
@[simp]
theorem Matroid.disjointSigma_removeColoops {α : Type u_1} {ι : Type u_3} (M : ι → Matroid α) (hdj : Pairwise (Function.onFun Disjoint fun (i : ι) => (M i).E)) :
(Matroid.disjointSigma M hdj).removeColoops = Matroid.disjointSigma (fun (i : ι) => (M i).removeColoops) ⋯
@[simp]
theorem Matroid.IsNonloop.isNonloop_of_isRestriction_of_mem {α : Type u_1} {M N : Matroid α} {e : α} (he : M.IsNonloop e) (hNM : N.IsRestriction M) (heN : e ∈ N.E) :
N.IsNonloop e
theorem Matroid.IsLoop.isLoop_of_isRestriction_of_mem {α : Type u_1} {M N : Matroid α} {e : α} (he : M.IsLoop e) (hNM : N.IsRestriction M) (heN : e ∈ N.E) :
N.IsLoop e