theorem
Hex.GraphIso.Nauty.Sparse.Ready.cached_cell
{n k : Nat}
{G : Sparse.Colored n k}
{level numcells : Nat}
{st : State n}
(h : Ready G level numcells st)
(hn : 0 < n)
(hl : 1 ≤ level)
(hc : numcells < n)
(tcLevel : Nat)
(hint : Int)
:
Native cached target coordinates delimit a complete nonsingleton cell.
def
Hex.GraphIso.Nauty.Sparse.Max.Frame.target
{n : Nat}
(G : SparseGraph n)
(tcLevel : Nat)
(f : Frame n)
:
Cell n
The complete unhinted target computed from the frozen entry's actual cached visit, before mutable target filtering or sibling reordering.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
Hex.GraphIso.Nauty.Sparse.Max.Frame.Valid.target
{n k : Nat}
{G : Sparse.Colored n k}
{tcLevel : Nat}
{f : Frame n}
(h : Valid G f)
(hc : (visit (Graph.ofGraph G.graph) f.level f.numcells f.entry).fst < n)
:
Cell.Valid G (Frame.target G.graph tcLevel f)
theorem
Hex.GraphIso.Nauty.Sparse.Max.Frame.Valid.target_cover
{n k : Nat}
{G : Sparse.Colored n k}
{tcLevel : Nat}
{f : Frame n}
{best : Option (Key n)}
(h : Valid G f)
(hc : (visit (Graph.ofGraph G.graph) f.level f.numcells f.entry).fst < n)
:
Frozen node coverage is precisely coverage of its complete actual cached target's vertex keys. Both sides include every ancestor code.
theorem
Hex.GraphIso.Nauty.Sparse.Max.Frame.Valid.small_key
{n k : Nat}
{G : Sparse.Colored n k}
{tcLevel : Nat}
{f : Frame n}
{v : Nat}
(h : Valid G f)
(hc : (visit (Graph.ofGraph G.graph) f.level f.numcells f.entry).fst < n)
(hshape : NodeShape n f.level (visit (Graph.ofGraph G.graph) f.level f.numcells f.entry).snd.snd.ptn)
(hv : (Frame.target G.graph tcLevel f).vertices.mem v = true)
:
With the cheap shape, any complete native target child attains the whole frozen node maximum. This supplies the coverage step needed when a return skips the remaining children of a cheap ancestor.
theorem
Hex.GraphIso.Nauty.Sparse.Max.Frame.Valid.cheap_child
{n k : Nat}
{G : Sparse.Colored n k}
{tcLevel : Nat}
{f : Frame n}
{st : State n}
{v : Nat}
(h : Valid G f)
(hc : (visit (Graph.ofGraph G.graph) f.level f.numcells f.entry).fst < n)
(hguard : cheapautom (visit (Graph.ofGraph G.graph) f.level f.numcells f.entry).snd.snd.ptn f.level n = true)
(he : FrameOut G f.level f.level (Frame.target G.graph tcLevel f).entry st)
(hs : Ready G f.level (Frame.target G.graph tcLevel f).numcells st)
(hv : (Frame.target G.graph tcLevel f).vertices.mem v = true)
(first : Bool)
:
A passing native cheap guard makes an actual individualized child attain its parent's whole key, including after sibling reordering.