Documentation

Complexitylib.SAT.Tseitin.Machine.Internal.RuntimeBounds

Coarse runtime bounds for the streaming Tseitin controller #

This proof-only module rounds the token-level state bounds and the concrete register-operation bounds to one uniform controller budget. For an input of bit length n, every state reached along a valid typed token prefix has all six register values below 2 * (n + 1). One controller token therefore fits within sixteen copies of TM.opBudget at that cap, including sequencing overhead. The complete token pass is bounded by an explicit quartic.

Main results #

Token count and streaming-state bounds #

Every concrete token contributes exactly two encoded bits.

The token count of a typed CNF is exactly half its concrete bit length.

In particular, the number of typed tokens is at most the bit length.

One cap used for every unary register during a valid controller run.

Equations
Instances For

    All six concrete buffer-register values lie below a common cap.

    Equations
    Instances For
      theorem Complexity.SAT.ThreeSAT.Machine.BufferValues.BoundedBy.mono {v : BufferValues} {cap cap' : } (h : v.BoundedBy cap) (hcap : cap cap') :
      v.BoundedBy cap'

      A buffer bound can be enlarged.

      The machine-register representation of a pure state is bounded by that state's maxValue.

      Every successful state reached along a prefix of a typed CNF token stream fits the global input-length cap.

      The corresponding six unary-register values fit the same prefix-global cap.

      Uniform per-token register budget #

      A deliberately coarse budget for every controller action associated with one input token.

      Equations
      Instances For
        theorem Complexity.SAT.ThreeSAT.Machine.clauseTime_le_four_opBudgets_internal {a b c cap : } (ha : a cap) (hb : b cap) (hc : c cap) :
        clauseTime a b c 4 * (TM.opBudget cap + 1)

        Three literal emissions and their small sequencing overhead fit within four augmented operation budgets.

        The largest pending-clause emission is the empty-clause two-clause gadget, bounded by nine augmented operation budgets.

        Clearing the four literal buffers fits within four augmented operation budgets.

        The three copies, increment, and clear in a wide-window rotation fit within five augmented operation budgets.

        Every literal-commit branch fits within ten augmented operation budgets, well below the uniform per-token allowance.

        The close-clause branch is the worst token action. Its structural time plus two bit reads and the child-return step still fits the uniform allowance.

        The structural close-clause time alone fits the per-token allowance.

        Literal commits also fit the same uniform per-token allowance.

        A literal commit together with both bit reads and the child-return step fits the uniform per-token allowance.

        Incrementing the current literal counter, including both input reads and the child-return step, fits the uniform per-token allowance.

        Quartic whole-run budget #

        Token processing plus one sequencing step per token and a final halt.

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

          At the input-derived cap, the cubic register budget has a simple closed form.

          The augmented per-token budget is bounded by a convenient cubic.

          The full controller pass has an explicit quartic time envelope.

          For a typed input z = φ.encode, even charging one controller allowance for every token and one terminal action lies below the same quartic.