Documentation

HexGraphIso.Nauty.Correct.Certify

theorem Hex.GraphIso.Nauty.keyEq_of_firstRun {n k : Nat} {G : Colored n k} (hn0 : n 0) {fs : List Nat} {best : Option (Key n)} {eventTrail : FrameTrail} (hroot : FirstRun G { g := rowsOf G } 100 n (n + 2) 1 [] fs (rootSt n (initialPartition G).fst (initialPartition G).snd) (rootOut n (rowsOf G) (initialPartition G).fst (initialPartition G).snd) (initialPartition G).snd.length best FrameTrail.empty eventTrail (firstPathNode { g := rowsOf G } (n + 2) 100 (n + 2) 1 (initialPartition G).snd.length (rootSt n (initialPartition G).fst (initialPartition G).snd)).fst) :

The first-path root result proves equality between the unpruned specification key and the key installed by the transcription, whatever event trail the run reports.

theorem Hex.GraphIso.Nauty.keyEq_of_firstTotal {n k : Nat} (G : Colored n k) (hn0 : 0 < n) (h : FirstTotal G { g := rowsOf G } (n + 2) 100 (n + 2)) :

First-path totality at the root fuel yields the key equality.

The empty graph is certified without any search.

theorem Hex.GraphIso.Nauty.totalAll {n k : Nat} (G : Colored n k) (ctx : Ctx n) (inf tcLevel runFuel : Nat) :
OtherTotal G ctx inf tcLevel runFuel FirstTotal G ctx inf tcLevel runFuel

Every node of both kinds is total at every executable fuel.

The unpruned specification key is the key the transcription installs.

The certified canonicalization always succeeds.

Certificate-checked canonicalization: the transcribed search's answer, accepted through the single trusted checkCanon replay, which always succeeds.

Equations
Instances For

    The transcription agrees with the certificate-checked answer on every input.

    The transcription always answers.