Documentation

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

Bounded encoded sparse-store update — controller definitions #

The fixed controller owns thirteen pairwise-distinct work tapes. It scans a runtime-counted entry stream, copying misses, replacing or deleting a hit, and appending a fresh nonzero entry only when the old count is exhausted without a match. A second count tape tracks the output-store cardinality.

Thirteen pairwise-distinct tapes used by encoded sparse-store update.

  • idx : Fin 13Fin n

    Assignment order: nine entry-match tapes, remaining count, replacement value, found flag, and output count.

  • injective : Function.Injective self.idx

    The complete assignment is injective.

Instances For

    The nine-tape decode-and-match assignment.

    Equations
    Instances For

      Runtime number of old entries still unread.

      Equations
      Instances For

        Canonical source containing the requested new value.

        Equations
        Instances For

          One-bit flag recording whether a matching old address has been seen.

          Equations
          Instances For

            Canonical count of entries emitted by the completed update.

            Equations
            Instances For
              theorem Complexity.RAM.RegisterStore.Machine.EntryUpdateTapes.ne {n : } (tapes : EntryUpdateTapes n) {i j : Fin 13} (h : i j) :
              tapes.idx i tapes.idx j

              Distinct indices in the thirteen-tape assignment remain distinct.

              Replacement-emission view of the update assignment.

              Equations
              Instances For
                def Complexity.RAM.RegisterStore.Machine.EntryUpdateFrame {n : } (tapes : EntryUpdateTapes n) (initialWork finalWork : Fin nTape) :

                Exact preservation predicate outside the thirteen tapes owned by update.

                Equations
                Instances For
                  structure Complexity.RAM.RegisterStore.Machine.EntryUpdateOutcome {n : } (tapes : EntryUpdateTapes n) (store : Store) (address newValue : ) (initialWork finalWork : Fin nTape) :

                  Auditable final work-tape contract for one encoded sparse-store update.

                  Instances For

                    Canonical head profile after an old decoded entry has been emitted.

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

                      Work-independent cleanup bound when deletion emits no entry.

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

                        Work-independent cleanup bound after miss-copy or replacement emission.

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

                          Fixed bound for copying one unmatched entry and restoring scratch.

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

                            Fixed bound for emitting a replacement and restoring scratch.

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

                              Uniform binary counter-update budget below the initial store size.

                              Equations
                              Instances For
                                def Complexity.RAM.RegisterStore.Machine.entryUpdateBranchTime {n : } (tapes : EntryUpdateTapes n) (entry : Entry) (address newValue total : ) :

                                Maximum controller branch cost after one readable comparison.

                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For
                                  def Complexity.RAM.RegisterStore.Machine.entryUpdateIterationTime {n : } (tapes : EntryUpdateTapes n) (entry : Entry) (rest : Store) (address newValue total : ) :

                                  Fixed cost of one positive-count iteration, excluding the recursive tail.

                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  Instances For
                                    def Complexity.RAM.RegisterStore.Machine.entryUpdateLoopTime {n : } (tapes : EntryUpdateTapes n) (address newValue total : ) :

                                    Recursive fixed bound for updating a remaining sparse-store suffix.

                                    Equations
                                    • One or more equations did not get rendered due to their size.
                                    Instances For
                                      def Complexity.RAM.RegisterStore.Machine.entryUpdateTime {n : } (tapes : EntryUpdateTapes n) (store : Store) (address newValue : ) :

                                      Public runtime bound for one complete encoded sparse-store update.

                                      Equations
                                      Instances For

                                        Controller states, including each checked nested machine.

                                        Instances For
                                          def Complexity.RAM.RegisterStore.Machine.instDecidableEqEntryUpdateQ.decEq {n✝ : } {tapes✝ : EntryUpdateTapes n✝} (x✝ x✝¹ : EntryUpdateQ tapes✝) :
                                          Decidable (x✝ = x✝¹)
                                          Equations
                                          • One or more equations did not get rendered due to their size.
                                          Instances For
                                            @[implicit_reducible]

                                            The update controller has finitely many states because every nested machine state type is finite.

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

                                            Fixed runtime-counted update controller. The old remaining count reaches zero on every complete scan; the result count is decremented only for deletion and incremented only for absent-address append.

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