Segments between fine boundaries split into fine cells, so cell-contents equivalence transfers to any coarser span.
Cell-contents equivalence transfers from a finer partition (more boundaries, possibly at a later level) to a coarser one.
A labelling rewrite confined to a span of one cell, permuting its contents, preserves every cell's contents.
A cell of a boundary-richer partition sits inside a cell of the original.
refine preserves labelling size and every input cell's contents,
and only adds partition boundaries.
The number of positions carrying a boundary at level.
Equations
- Hex.GraphIso.Nauty.bcount ptn level nn = List.countP (fun (q : Nat) => decide (ptn[q]! ≤ level)) (List.range nn)
Instances For
Individualizing one vertex of a nontrivial cell adds a boundary.
Within its block, the sorted colour sequence is constant.
Positions of any labelling that fills the initial cells with the initial contents carry the sorted colours.
The total nauty-semantic canonical form is isomorphic to its input.
Isomorphism is equivalent to equality of the nauty-semantic canonical forms.