Documentation

CslibFrontier.Computability.PolyTime.CSP.Edge.Solver.Stack

Actual contraction histories of the running solver stack #

The stored baseline labelings all have the original defect count: preparation and honest reference contraction preserve that count. An improving status has exactly two fewer defects. The stack links each current body to its actual prepared parent, so an arbitrary changed-outside comparison is in the domain of the existing lifting theorem. All invariants below are derived from the original guarded model and actual execution, never supplied as runtime certificates. This bookkeeping is original.

An actual valid baseline in the original problem's concrete contraction history.

Instances For

    Actual parent/child body links of a solver stack. Relabeling the current baseline is allowed; every frame still records its own exact prepared labeling and cycle.

    Instances For

      The current baseline is a valid actual member of the contraction history.

      theorem Cslib.Complexity.CSP.EdgeSolver.Program.Stack.relabel {F : Logic.PL.CSP Logic.PL.CSP.Table ℕ} {D : ℕ} {input : EdgeForest.Input} {frames : List Frame} (h : Stack F D input frames) (f : input.body.OccurrenceLabeling Bool) (hf : Logic.PL.CSP.ValidLabeling Logic.PL.CSP.Table.sem f) (hd : (Logic.PL.CSP.defects f).card = D) :
      Stack F D { body := input.body, labels := buffer f } frames

      Preparation changes only the current baseline. It preserves the actual parent/body links.

      A returned finite comparison is valid and removes exactly two original baseline defects.

      Instances For

        The stack's mathematical history, returned-buffer invariant and actual unary clock bound.

        • stack : Stack F D state.current state.frames

          Every stored frame is an actual prepared parent of the next body.

        • result : StatusGood D state.current state.status

          Improving status bits are an actual valid comparison with two fewer original defects.

        • clock : state.frames.length + state.budget ≤ F.vars.length + 1

          Every pushed frame spends one actual original occurrence-funded depth unit.

        Instances For

          Every real stack transition preserves its actual contraction history, valid comparisons and occurrence-funded clock. All model obligations come from fresh source search and lifting.

          The original valid model internally supplies the initial stack invariant.

          Every actual iteration internally retains the derived stack invariant.