Documentation

HexGraphIso.Nauty.Search.Search

@[irreducible]
def Hex.GraphIso.Nauty.node {n : Nat} (first : Bool) (ctx : Ctx n) (inf tcLevel fuel level numcells : Nat) (st : Search n) :

Refine a node, classify it, and sweep its surviving children. Only the leftmost child of a first-path node remains on the first path.

Equations
Instances For
    @[irreducible]
    def Hex.GraphIso.Nauty.sweep {n : Nat} (first : Bool) (ctx : Ctx n) (inf tcLevel fuel cfuel level numcells tc tv1 : Nat) (tv? : Option Nat) (tcell : VSet n) (index : Nat) (st : Search n) :

    Visit remaining target vertices in order, rereading the cell after each prune. The orbit index includes skipped vertices on the first path. Nodes return an unwind or fuel, so the done arm after a child is unreachable.

    Equations
    Instances For
      def Hex.GraphIso.Nauty.initial (n : Nat) (lab0 : Array Nat) (cellEnds : List Nat) :

      Allocate the search globals, including the reusable permutation.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        def Hex.GraphIso.Nauty.runState (n : Nat) (g : Array (VSet n)) (lab0 : Array Nat) (cellEnds : List Nat) :

        Run the search and retain the final state and exit for diagnostics. On a valid nonempty input, cell count is at least the level: refinement never decreases it and each child increases it. Thus node depth is at most n, so node fuel n + 2 suffices. A sweep visits at most n vertices in strictly increasing order, so sweep fuel n + 1 suffices.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          def Hex.GraphIso.Nauty.finish {n : Nat} (ctx : Ctx n) (st : Search n) :

          Read the canonical result and trace, updating the remaining rows.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            def Hex.GraphIso.Nauty.runTraced (n : Nat) (g : Array (VSet n)) (lab0 : Array Nat) (cellEnds : List Nat) :

            Run the search with the certificate producer's result type.

            Equations
            Instances For
              def Hex.GraphIso.Nauty.run (n : Nat) (g : Array (VSet n)) (lab0 : Array Nat) (cellEnds : List Nat) :

              Run the search, discarding the trace.

              Equations
              Instances For

                Run the search on a coloured graph, retaining the trace.

                Equations
                Instances For

                  Run the search on a coloured graph.

                  Equations
                  Instances For

                    The nauty-compatible canonical result: the checked label from canonlab and the relabelled coloured graph. none only if the raw search output fails the label check, which conformance shows does not occur.

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