Documentation

CslibFrontier.Computability.PolyTime.Graph.RotationSystem

Native polynomial-time rotation-certificate verification #

Binary table lookup uses the existing saturating binary-index implementation. Orbit clocks are unary and computed from the edge-list length. Every intermediate iterate is a table entry or zero, whose encoded length is bounded by the encoded table; this remains true on malformed input. No certificate validity premise appears in the native resource theorem.

Main results #

@[reducible, inline]

The table and unary iteration count are paired and framed before the binary start index.

Instances For

    Iterating a binary-indexed successor table has a native polynomial-time implementation for a unary number of steps, including invalid and oversized table indices.

    @[reducible, inline]

    Orbit input: unary dart count, binary successor list, then two binary dart indices. Each left part is framed by its enclosing pair.

    Instances For

      Bounded orbit scanning composes native table, binary endpoint and unary clock computations. The clock is explicit; the runtime certificate applies to every raw table and index, without a graph, permutation or certificate-validity premise.

      Every part of rotation validation runs natively in polynomial time in the graph and table encodings, without an assumed checker, recognizer, or well-formedness hypothesis.

      Breadth-first expansion is native polynomial-time; the accumulated list grows by at most one copy of the declared vertex list per iteration, including on malformed graphs.

      Construct the inverse-successor face table by bounded scans of actual graph darts. Runtime is native polynomial time on all raw graphs and certificates, including oversized binary successors; no validity or endpoint-declaration premise is used.

      Componentwise Euler verification is native polynomial-time in the actual encoded graph and successor table. No connectivity, permutation, or index-bound premise is required.