Documentation

Complexitylib.Circuits.DepthThree.LowerBound.Internal.TapeSearchBody

Unrestricted depth-three lower bound: tape search body #

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

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

The search increment: one or two according to the supplied flag.

Equations
Instances For

    Transition budget for the search body routine at its increment stage.

    Equations
    Instances For

      Transition function for the tail stage of the search body routine.

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

        Transition function for the increment stage of the search body routine.

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

          Terminal control state of the increment stage of the search body routine.

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

            Transition function of the search body routine.

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

              Transition budget for the search body routine.

              Equations
              Instances For
                theorem Complexity.DepthThreeLowerBound.TapeSearchBody.runs_body (k : ℕ) (two : Bool) (outer destination candidate : TapeRegister) (σ : TapeStore) (c : ℕ) (ho : σ outer = []) (hd : σ destination = []) (hc : σ candidate = List.replicate c true) :
                RunsIn (program k two outer destination candidate).step (TapeMultiProgram.cfg start (storeTapes (TapePowerCompare.outputStore k outer destination σ c))) (TapeMultiProgram.cfg (done two) (storeTapes (Function.update σ candidate (List.replicate (c + amount two) true)))) (cost k two c)
                @[simp]
                theorem Complexity.DepthThreeLowerBound.TapeSearchBody.program_done (k : ℕ) (two : Bool) (outer destination candidate : TapeRegister) (h : TapeHeads) :
                program k two outer destination candidate (done two) h = none