Documentation

HexGraphIso.Nauty.Sparse.CountTrace

The observable control fields of count splitting. This projection is used only in proofs; the executable retains its original working state.

Instances For
    Equations
    Instances For
      Equations
      Instances For
        def Hex.GraphIso.Nauty.Sparse.CountTrace.Control.advance {n : Nat} (s : Control n) (distance : Bool) (k value : Nat) :

        The exact hash and insertion performed when entering a later count run.

        Equations
        Instances For

          The executed update of the saved largest fragment, including the singleton guard and strict comparison that retains the earlier tie.

          Equations
          Instances For
            def Hex.GraphIso.Nauty.Sparse.CountTrace.Control.finish {n : Nat} (s : Control n) (distance : Bool) (first : Nat) (pos : Option Nat) :

            Final largest-fragment replacement, with its distance-only hash.

            Equations
            • One or more equations did not get rendered due to their size.
            • s.finish distance first none = s
            Instances For
              inductive Hex.GraphIso.Nauty.Sparse.CountTrace.Tail {n : Nat} (distance : Bool) (lab hits : Array Nat) (first last : Nat) :
              Nat → Control n → Option Nat → Nat → Control n → Prop

              A derivation of the actual tail scan's control transitions. Each step consumes one maximal constant-count run; completion includes replacement. This relation does not run another refinement algorithm.

              Instances For
                theorem Hex.GraphIso.Nauty.Sparse.CountTrace.Tail.deterministic {distance : Bool} {lab hits : Array Nat} {first last k n✝ : Nat} {s : Control n✝} {pos : Option Nat} {big : Nat} {out other : Control n✝} (h : Tail distance lab hits first last k s pos big out) (h' : Tail distance lab hits first last k s pos big other) :
                out = other

                A fixed count sequence determines all tail hashes, queue entries and the saved-largest tie rule uniquely.

                theorem Hex.GraphIso.Nauty.Sparse.CountTrace.Tail.congr {distance : Bool} {lab hits : Array Nat} {first last k n✝ : Nat} {s : Control n✝} {pos : Option Nat} {big : Nat} {out : Control n✝} {keys vertices : Array Nat} (h : Tail distance lab hits first last k s pos big out) (hk : ∀ (q : Nat), k + 1 ≤ q → q < last → hits[lab[q]!]! = keys[vertices[q]!]!) :
                Tail distance vertices keys first last k s pos big out

                Equal count sequences transport the complete tail trace, without requiring literal equality of the vertex arrays.