Documentation

HexGraphIso.Nauty.Sparse.LimitProjection

Erase only limit bookkeeping from a node return.

Equations
Instances For

    Erase only limit bookkeeping from a sibling-sweep return.

    Equations
    Instances For

      On a non-exhausted return, both engines agree exactly; the input was also non-exhausted. This backward condition excludes recovery from failure.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          theorem Hex.GraphIso.Nauty.Sparse.Limited.visit_ready {n : Nat} {g : Graph n} {level nc : Nat} {s : State n} (h : Ready (visit g level nc s).snd.snd) :
          theorem Hex.GraphIso.Nauty.Sparse.Limited.visit_value {n : Nat} (g : Graph n) (level nc : Nat) {s : State n} (hs : Ready s) (hq : 0 < s.remaining) :
          have r := visit g level nc s; (r.fst, r.snd.fst, r.snd.snd.value) = Sparse.visit g level nc s.value

          An admitted visit projects to the literal native refinement call.

          theorem Hex.GraphIso.Nauty.Sparse.Limited.resume_eq {n : Nat} {next : Generic.SweepFn (State n) n} {plain : Generic.SweepFn (Sparse.State n) n} (hn : SweepEq next plain) (inf : Nat) (first : Bool) (level nc tc tv1 tv index : Nat) (cell : VSet n) (s : State n) (h : Ready (Generic.resume inf next first level nc tc tv1 tv cell index s).snd.snd) :
          Ready s ∧ sweepValue (Generic.resume inf next first level nc tc tv1 tv cell index s) = Generic.resume inf plain first level nc tc tv1 tv cell index s.value

          Recovery, the long filter and the orbit-index update project to the native continuation whenever the resumed sweep returns successfully.

          theorem Hex.GraphIso.Nauty.Sparse.Limited.advance_eq {n : Nat} {next : Generic.SweepFn (State n) n} {plain : Generic.SweepFn (Sparse.State n) n} (hn : SweepEq next plain) (inf : Nat) (first : Bool) (level nc tc tv1 tv index : Nat) (cell : VSet n) (s : State n) (exit : Generic.Exit) (h : Ready (Generic.advance inf next first level nc tc tv1 tv cell index s exit).snd.snd) :
          Ready s ∧ sweepValue (Generic.advance inf next first level nc tc tv1 tv cell index s exit) = Generic.advance inf plain first level nc tc tv1 tv cell index s.value exit

          Nonlocal returns and the short filter retain exact native control flow.

          theorem Hex.GraphIso.Nauty.Sparse.Limited.child_ready {n : Nat} (first : Bool) (level tc tv : Nat) (s : State n) :
          Ready (Generic.Policy.child first level tc tv s) ↔ Ready s
          theorem Hex.GraphIso.Nauty.Sparse.Limited.child_value {n : Nat} (first : Bool) (level tc tv : Nat) {s : State n} (hs : Ready s) :
          (Generic.Policy.child first level tc tv s).value = Generic.Policy.child first level tc tv s.value