Documentation

Complexitylib.Circuits.DepthThree.LowerBound.Internal.TapeUnaryCompareScan

Unrestricted depth-three lower bound: tape unary compare scan #

Adapted from OpenAI's formalization at revision adc7f1241b42e322a6451854ab7e4b4c146bf78a. Source: https://github.com/openai/math/blob/adc7f1241b42e322a6451854ab7e4b4c146bf78a/lean/OAI/Computability/DepthThree/TapeUnaryCompareScan.lean

Imports, namespaces, module visibility, documentation, and formatting are adapted for complexitylib. The source theorem statements and mathematical proofs are retained.

Control states of the unary compare scan routine.

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

      The pair of unary tapes during their synchronized comparison scan.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        theorem Complexity.DepthThreeLowerBound.TapeUnaryCompareScan.scanTapes_other (r s : TapeRegister) (T : TapeTapes) (k m n : ℕ) (j : TapeRegister) (hjr : j ≠ r) (hjs : j ≠ s) :
        scanTapes r s T k m n j = T j

        Transition function of the unary compare scan routine.

        Equations
        Instances For
          theorem Complexity.DepthThreeLowerBound.TapeUnaryCompareScan.runs_scan {r s : TapeRegister} (hrs : r ≠ s) (T : TapeTapes) (k m n : ℕ) :
          RunsIn (code r s).step (TapeMultiProgram.cfg State.scan (scanTapes r s T k m n)) (TapeMultiProgram.cfg (State.done (result m n)) (scanTapes r s T (k + min m n) (m - min m n) (n - min m n))) (2 * min m n + 1)