Documentation

HexGraphIso.Nauty.Sparse.MaxParent

A suspended native parent records the actual child selection and the incumbent codes at that selection. Its mutable target may be filtered.

Instances For
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      structure Hex.GraphIso.Nauty.Sparse.Max.Parent.Valid {n k : Nat} (G : Sparse.Colored n k) (tcLevel : Nat) (p : Parent n) :

      The suspended entry retains its native frame and cheap shape. A hinted target is allowed when its negative comparison already covers the parent; the positive branch retains the original target coordinate.

      Instances For
        theorem Hex.GraphIso.Nauty.Sparse.Max.Parent.Valid.child {n k : Nat} {G : Sparse.Colored n k} {tcLevel : Nat} {p : Parent n} (h : Valid G tcLevel p) :
        theorem Hex.GraphIso.Nauty.Sparse.Max.Parent.Valid.member {n k : Nat} {G : Sparse.Colored n k} {tcLevel : Nat} {p : Parent n} (h : Valid G tcLevel p) (ht : p.tc = (Frame.target G.graph tcLevel p.node).tc) :

        A selected vertex belongs to the original unfiltered window whenever the actual target coordinate agrees with the unhinted native target.

        theorem Hex.GraphIso.Nauty.Sparse.Max.Parent.Valid.collapse {n k : Nat} {G : Sparse.Colored n k} {tcLevel : Nat} {p : Parent n} (h : Valid G tcLevel p) (hc : p.state.noncheaplevel ≤ p.node.level) :
        Covers (Frame.key G.graph tcLevel p.node) (State.key G.graph p.bs p.state) ∨ Frame.key G.graph tcLevel p.node = Frame.key G.graph tcLevel (Parent.child G.graph tcLevel p)

        A cheap parent's full key is covered already or equals the key of its actual chosen child. The two cases are the literal target-choice alternatives; no whole-search correctness is assumed.

        theorem Hex.GraphIso.Nauty.Sparse.Max.Parent.Valid.child_bound {n k : Nat} {G : Sparse.Colored n k} {tcLevel : Nat} {p : Parent n} (h : Valid G tcLevel p) :
        (Frame.key G.graph tcLevel (Parent.child G.graph tcLevel p)).Le (incMax (State.key G.graph p.bs p.state) (Frame.key G.graph tcLevel p.node))

        Every actual selected child stays below the parent's allowed upper bound. A hinted child is bounded by its negative code prefix, even when it does not belong to the unhinted specification target.

        @[reducible, inline]

        Suspended native parents are indexed by their node level.

        Equations
        Instances For
          Equations
          Instances For

            Return target zero names the root entry; every later target names the frozen entry at the next level.

            Equations
            Instances For
              theorem Hex.GraphIso.Nauty.Sparse.Max.Parents.push_frames {n : Nat} {parents : Parents n} {p : Parent n} (hp : 1 ≤ p.node.level) :
              (parents.push p).frames = parents.frames.insert p.node