Persistent storage bounds. Hit counts are unrestricted: the executable clears each touched cell before reading counts in a new refinement pass.
Instances For
structure
Hex.GraphIso.Nauty.Sparse.Scratch.Valid
(n : Nat)
(lab ptn : Array Nat)
(level : Nat)
(s : Scratch)
extends Hex.GraphIso.Nauty.Sparse.Scratch.Bounded n s :
Cache validity is tied to the current partition only while its flag is set.
Instances For
theorem
Hex.GraphIso.Nauty.Sparse.bestcellCached_valid
{n : Nat}
(g : Graph n)
(lab ptn : Array Nat)
(level : Nat)
(s : Scratch)
(h : Scratch.Valid n lab ptn level s)
:
Scratch.Valid n lab ptn level (bestcellCached g lab s).snd
theorem
Hex.GraphIso.Nauty.Sparse.bestcellCached_bounded
{n : Nat}
(g : Graph n)
(lab : Array Nat)
(s : Scratch)
(h : Scratch.Bounded n s)
:
Scratch.Bounded n (bestcellCached g lab s).snd
Allocation and generation preservation does not require valid indices.
theorem
Hex.GraphIso.Nauty.Sparse.maketargetCached_valid
{n : Nat}
(g : Graph n)
(lab ptn : Array Nat)
(level tcLevel : Nat)
(hint : Int)
(s : Scratch)
(h : Scratch.Valid n lab ptn level s)
:
Scratch.Valid n lab ptn level (maketargetCached g lab ptn level tcLevel hint s).snd.snd.snd
Both target dispatch paths retain scratch validity, including borrowed counts and the fallback used after invalidation.
theorem
Hex.GraphIso.Nauty.Sparse.maketargetCached_bounded
{n : Nat}
(g : Graph n)
(lab ptn : Array Nat)
(level tcLevel : Nat)
(hint : Int)
(s : Scratch)
(h : Scratch.Bounded n s)
:
Scratch.Bounded n (maketargetCached g lab ptn level tcLevel hint s).snd.snd.snd