Documentation

Complexitylib.Models.RandomAccessMachine.Simulation.RegisterStore.Machine.DenseInputLookup.Defs

Dense public-input lookup -- definitions #

These finite controllers are the concrete bridge from a sparse mutable RAM overlay to the immutable public input on the Turing input tape. The scan keeps a binary countdown on a work tape. When that countdown first reaches zero, the preceding input symbol is copied to a canonical Boolean result tape.

Two-state framed identity used as a direct-branch leaf.

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

    A one-step identity on every parked tape.

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

      Two-step controller that moves left to the preceding input symbol, copies that Boolean value to one work cell, and restores the input head.

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

        Canonical binary work tape representing one public-input bit.

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

          Copy the Boolean input symbol immediately to the left of the current head onto a blank canonical result tape, restoring the input head in two steps.

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

            One input-scan body step. A zero countdown is stationary. A positive countdown is decremented; when it becomes zero, the preceding input bit is captured exactly once.

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

              Exact body time as a function of the positive-or-zero countdown.

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

                Result tape after one scan iteration. Only the transition from countdown one to zero captures the current input bit.

                Equations
                Instances For

                  Scan the entire immutable Boolean input while decrementing a canonical binary address counter and capturing the addressed bit.

                  Equations
                  Instances For

                    Exact complete input-scan time from a positive address.

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For
                      def Complexity.RAM.RegisterStore.Machine.denseInputLookupTM {n : } (query counter result scratch : Fin n) :
                      TM n

                      Full positive-address dense-bank fallback: copy the query into a private countdown, scan the immutable input, rewind the input head, and clear the countdown back to the reusable blank boundary.

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

                        Complete fallback budget, including all three sequencing seams.

                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For
                          structure Complexity.RAM.RegisterStore.Machine.DenseInputLookupReady {n : } (query counter result scratch : Fin n) (address : ) (work : Fin nTape) :

                          Reusable work-tape boundary before a positive-address dense-bank lookup.

                          Instances For
                            structure Complexity.RAM.RegisterStore.Machine.DenseInputLookupResult {n : } (query counter result scratch : Fin n) (input : List Bool) (address : ) (initialWork finalWork : Fin nTape) :

                            Reusable work-tape endpoint after dense-bank fallback.

                            • query_eq : finalWork query = initialWork query
                            • counter_zero : (finalWork counter).HasBinaryNat 0
                            • result_value : (finalWork result).HasBinaryNat (initRegs input address)
                            • scratch_eq : finalWork scratch = initialWork scratch
                            • parked (i : Fin n) : TM.Parked (finalWork i)
                            • frame (i : Fin n) : i queryi counteri resulti scratchfinalWork i = initialWork i
                            Instances For