Localisation of an unbalanced pair to one Kempe component #
An imbalance between two colour classes occurs in a connected component of their two-colour subgraph. Swapping the colours on that component preserves properness and decreases the square-energy. Finite descent therefore produces an equitable colouring on the original palette.
A literal colour class is a matching, hence its distinct endpoints occupy twice as many vertices as it has edges.
In a connected graph properly edge-coloured with two colours, either colour has at most one edge more than the other.
The spanning subgraph whose edges have one of the selected colours.
Equations
Instances For
Equations
- LeanPool.Vizing.Equitable.twoColourGraphDecidableAdj colour a b = Classical.decRel (LeanPool.Vizing.Equitable.twoColourGraph colour a b).Adj
Equations
A deterministic endpoint used only to name the component containing an edge. No orientation is introduced into the resource model.
Equations
Instances For
Edges of colour x assigned to one connected component of the selected
two-colour graph.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The component classes partition a global colour class exactly.
A global strict imbalance between two colours occurs in at least one literal two-colour connected component.
Negating equitability produces the ordered pair needed by the Kempe descent step.
Restriction to one connected component #
Forget the component subtype on an unordered pair.
Equations
- LeanPool.Vizing.Equitable.liftComponentEdge colour a b c = Sym2.map Subtype.val
Instances For
Encode the selected pair of colours as Fin 2.
Instances For
The original colouring restricted to one connected component and recoded with exactly two colours.
Equations
- LeanPool.Vizing.Equitable.componentColour colour _hab c e = LeanPool.Vizing.Equitable.twoColourCode a (colour (LeanPool.Vizing.Equitable.liftComponentEdge colour a b c e))
Instances For
Every endpoint of a selected-colour edge lies in the connected component named by its anchor.
Put a selected original edge into the subtype of its named component.
Equations
Instances For
Restricting a component preserves the size of either selected colour class.
The local zero-class and the original a-class have the same cardinality.
The local one-class and the original b-class have the same cardinality.
Swapping one component #
An edge has one of the chosen colours and its anchor belongs to the component on which the exchange is performed.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Swap the two chosen colours exactly on one connected component.
Equations
- LeanPool.Vizing.Equitable.swapComponentColour colour a b c e = if LeanPool.Vizing.Equitable.InSwappedComponent colour a b c e then (Equiv.swap a b) (colour e) else colour e
Instances For
Exchanging two disjoint colour classes gives the same cardinality accounting for either direction of a component swap.
One unbalanced pair admits a proper component swap of strictly smaller square-energy.
Every finite proper literal edge colouring has an equitable proper recolouring on the same palette.
Vizing's colouring, equitably rebalanced, with the average class-size bound.