Documentation

HexGraphIso.Kernel.RootCode

def Hex.GraphIso.rootCodeA (n : Nat) (g : Array (Nauty.VSet n)) (lab0 : Array Nat) (cellEnds : List Nat) :

The root refinement code over the packed-set state of the specification.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    def Hex.GraphIso.Kernel.rootCode {n k : Nat} (G : Colored n k) (rows : Nat) :

    The specification key's head code of a coloured graph whose adjacency rows are packed as the one number rows: a single refinement of the initial partition.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For

      Above one vertex the root code is the head of the specification key.

      The compiled-side root-code test: whether the root route separates this pair. Evaluated at elaboration time over the Array rows, so the route decision costs one refinement per graph and no kernel work.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        def Hex.GraphIso.Kernel.rootDiff {n k : Nat} (G H : Colored n k) (NA NB : Nat) :

        The root codes of two coloured graphs disagree: the cheapest kernel check of the negative route, one refinement per graph.

        Equations
        Instances For
          theorem Hex.GraphIso.Kernel.not_isomorphic_of_rootCode {n k : Nat} {G H : Colored n k} {NA NB : Nat} (hA : packRows n G.graph.adjMatrix.data.toList = NA) (hB : packRows n H.graph.adjMatrix.data.toList = NB) (h : rootDiff G H NA NB = true) :

          Equalities identifying each graph's packed rows, plus a root-code disagreement, prove non-isomorphism.