Documentation

LeanPool.BrooksSubcubic

Brooks' theorem for subcubic graphs #

Source: doi:10.1017/S030500410002168X, url:https://github.com/jtraverso/lean-pool/blob/aced439fd4161d118bf167a1e8d10553f28913fe/LeanPool/BrooksSubcubic/Main.lean Authors: Juan Pablo Traverso Gianini Status: verified Main declarations: BrooksSubcubic.brooks_cubic Tags: graph-theory, vertex-colouring, brooks-theorem, subcubic-graphs MSC: 05C15

Mathematical overview #

The public theorem BrooksSubcubic.brooks_cubic states that a finite simple graph with maximum degree at most three and no four-clique admits a three-colouring. Connectedness is not assumed. This is the subcubic case, not the general Brooks theorem.

The proof works componentwise. A component with a vertex of degree less than three is coloured greedily in a distance-based order. For a cubic component, a cut vertex allows two colourings to be glued. Otherwise, a good triple supplies two nonadjacent neighbours whose deletion leaves a connected graph: give these neighbours the same colour and greedily colour the remaining vertices, finishing at their common neighbour.

All graph, walk, connected-component and colouring objects are Mathlib's native ones. Greedy provides a rank-based colouring with control of colour zero; the separator and attachment modules isolate the connectivity arguments used to find a good triple. No paper-specific packing or asymptotic infrastructure is included.