Documentation

HexGraphIso.Nauty.Cert.CertTotal

With no node budget, the candidate producer always returns a candidate.

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 transcription-side results discharge every other conjunct of the single trusted validation, so the certified canonicalization succeeds.