Documentation

HexGraphIso.Nauty.Sparse.MaxFirstEntry

Native first-path inputs retain the actual stored code prefix, reference allocations, blank row store, workspace and inherited cheap shape.

Instances For
    theorem Hex.GraphIso.Nauty.Sparse.Max.FirstEntry.initial {n k : Nat} (G : Sparse.Colored n k) (hn : 0 < n) :
    have p := initialPartitionWith n k G.coloring.cells.toArray Fin.val; FirstEntry G { level := 1, numcells := p.snd.length, codes := [], entry := Sparse.initial (Graph.ofGraph G.graph) p.fst p.snd }

    The native root initializer establishes every first-entry field.

    theorem Hex.GraphIso.Nauty.Sparse.Max.FirstEntry.child {n k : Nat} {G : Sparse.Colored n k} {tcLevel tv : Nat} {f : Frame n} (h : FirstEntry G f) (hi : (visit (Graph.ofGraph G.graph) f.level f.numcells f.entry).fst < n) (hm : (Generic.prepareFirst (Graph.ofGraph G.graph) tcLevel f.level f.numcells f.entry).snd.snd.fst.mem tv = true) :
    FirstEntry G (Parent.child G.graph tcLevel (Frame.firstParent G.graph tcLevel f [] tv))

    First-entry storage and histories follow the literal native child, including target scratch borrowing and child cache invalidation.