Documentation

HexGraphIso.Nauty.Cert.CertTotal

theorem Hex.GraphIso.Nauty.produceCand_key {n k : Nat} {G : Colored n k} {budget : Option Nat} {cert : CertNode} {B : Key n} (h : produceCand G budget = some (cert, B)) :

The key of every produced candidate is read off the traced run: the recorded code chain with the sentinel, and the spec rows of the traced canonical labelling.

theorem Hex.GraphIso.Nauty.certifyCanon?_isSome_of_checkKey {n k : Nat} (G : Colored n k) (h : ∀ (cert : CertNode) (B : Key n), produceCand G none = some (cert, B) → checkKey G cert B = true) :

The reduction of certifyCanon? totality to the certificate replay: if the produced certificate replays against the traced key, the search results discharge every other conjunct of the single trusted validation, so the certified canonicalization succeeds.