A bipartition of the ground set of a matroid, implicitly including the data of the actual matroid.
Equations
- M.Separation = M.E.IndexedPartition Bool
Instances For
Equations
- Matroid.instFunLikeSeparationBoolSet = { coe := fun (P : M.Separation) (i : Bool) => P.toFun i, coe_injective' := ⋯ }
Equations
- P.toBipartition = P
Instances For
A version of Separation.subset with an explicit argument.
Equations
- Matroid.Separation.mk f dj iUnion_eq = { toFun := f, pairwise_disjoint' := dj, iUnion_eq' := iUnion_eq }
Instances For
Equations
Instances For
Instances For
Transfer a separation across a matroid equality.
Instances For
A version of copy where the ground sets are equal, but the matroids need not be.
copy is preferred where possible, so that lemmas depending on matroid structure
like eConn_copy can be @[simp].
Equations
- P.copy' h_eq = Set.IndexedPartition.copy P h_eq
Instances For
Transfer a separation from M to another matroid N, putting any new elements on side i.
If N.E ⊆ M.E, the value of i does not matter, so we allow a default value of false,
and state lemmas where N.E ⊆ M.E only in terms of P.induce N.
In the more general case (for example, if M = N \ D), then both values of i are potentially
relevant, so we give lemmas more generally in terms of P.induce N i.
Equations
- P.induce N i = Set.IndexedPartition.shift P N.E i
Instances For
A separation is trivial if one side is empty.
Equations
Instances For
A separation is nontrivial if both sides are nonempty
Equations
Instances For
Push a separation forward along a matroid map.
Equations
Instances For
The connectivity of a separation of M.
Equations
- P.eConn = M.eLocalConn (P true) (P false)
Instances For
Equations
- Matroid.Separation.setCompl M X = Matroid.Separation.mk' X Xᶜ ⋯ ⋯
Instances For
The separation of M given by a subset of M.E and its complement. The elements of the set
go on side b.
Equations
- M.ofSetSep A i hA = Set.IndexedPartition.ofSubset hA i
Instances For
The natural separation of a disjoint sum of two matroids, where the first summand is
the false side.
Equations
- Matroid.Separation.disjointSumSep M N hMN = (M.disjointSum N hMN).ofSetSep M.E false ⋯
Instances For
Every separation has a larger side for a given numerical notion of 'large'
For any two separations, one of the four cells obtained by intersecting them is the smaller one, for a given numerical notion of 'small'.
For any two separations, one of the four cells obtained by intersecting them is the largest one, for a given numerical notion of 'large'.
For any two separations, one of the four cells obtained by intersecting them is the smallest one, for a given numerical notion of small'.
The separation of M whose i side is (P b ∩ Q c) and whose !i side is (P !b ∪ Q !c).
Equations
- P.cross Q b c i = Set.IndexedPartition.cross P Q b c i
Instances For
The bipartition whose true side is P true ∩ Q true and whose false side is
P false ∪ Q false
Instances For
The bipartition whose true side is P true ∪ Q true and whose false side is
P false ∩ Q false