Documentation

Complexitylib.Models.RandomAccessMachine.Simulation.RegisterStore.Machine.EntryUpdate.Internal.Ctrl

Bounded encoded sparse-store update — controller internals #

Embed a match configuration in the update controller.

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

    Embed a miss-copy configuration in the update controller.

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

      Embed a deletion-cleanup configuration in the update controller.

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

        Embed a replacement configuration in the update controller.

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

          Embed a final-append configuration in the update controller.

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

            Embed the remaining-count predecessor in the update controller.

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

              Embed the deletion result-count predecessor in the update controller.

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

                Embed the append result-count successor in the update controller.

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

                  Canonical loop-test controller configuration.

                  Equations
                  Instances For

                    Canonical halted update-controller configuration.

                    Equations
                    Instances For

                      Work family after the hit-dispatch transition records a match.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        theorem Complexity.RAM.RegisterStore.Machine.entryUpdateTM_step_test_continue_internal {n : } (tapes : EntryUpdateTapes n) (inp : Tape) (work : Fin nTape) (out : Tape) (hremaining : (work tapes.remaining).read Γ.blank) (hinput : TM.Parked inp) (hwork : ∀ (i : Fin n), TM.Parked (work i)) (houtput : TM.Parked out) :
                        (entryUpdateTM tapes).step (entryUpdateTestCfg tapes inp work out) = some (entryUpdateMatchWrap tapes { state := (entryMatchReadTM tapes.entry).qstart, input := inp, work := work, output := out })
                        theorem Complexity.RAM.RegisterStore.Machine.entryUpdateTM_step_test_found_internal {n : } (tapes : EntryUpdateTapes n) (inp : Tape) (work : Fin nTape) (out : Tape) (hremaining : (work tapes.remaining).read = Γ.blank) (hfound : (work tapes.found).read = Γ.one) (hinput : TM.Parked inp) (hwork : ∀ (i : Fin n), TM.Parked (work i)) (houtput : TM.Parked out) :
                        (entryUpdateTM tapes).step (entryUpdateTestCfg tapes inp work out) = some (entryUpdateDoneCfg tapes inp work out)
                        theorem Complexity.RAM.RegisterStore.Machine.entryUpdateTM_step_test_zero_internal {n : } (tapes : EntryUpdateTapes n) (inp : Tape) (work : Fin nTape) (out : Tape) (hremaining : (work tapes.remaining).read = Γ.blank) (hfound : (work tapes.found).read Γ.one) (hreplacement : (work tapes.replacement).read = Γ.blank) (hinput : TM.Parked inp) (hwork : ∀ (i : Fin n), TM.Parked (work i)) (houtput : TM.Parked out) :
                        (entryUpdateTM tapes).step (entryUpdateTestCfg tapes inp work out) = some (entryUpdateDoneCfg tapes inp work out)
                        theorem Complexity.RAM.RegisterStore.Machine.entryUpdateTM_step_test_append_internal {n : } (tapes : EntryUpdateTapes n) (inp : Tape) (work : Fin nTape) (out : Tape) (hremaining : (work tapes.remaining).read = Γ.blank) (hfound : (work tapes.found).read Γ.one) (hreplacement : (work tapes.replacement).read Γ.blank) (hinput : TM.Parked inp) (hwork : ∀ (i : Fin n), TM.Parked (work i)) (houtput : TM.Parked out) :
                        (entryUpdateTM tapes).step (entryUpdateTestCfg tapes inp work out) = some (entryUpdateAppendWrap tapes { state := (entryAppendRestoreTM tapes.replace).qstart, input := inp, work := work, output := out })
                        theorem Complexity.RAM.RegisterStore.Machine.entryUpdateTM_step_match_delete_internal {n : } (tapes : EntryUpdateTapes n) (cfg : Complexity.Cfg n (entryMatchReadTM tapes.entry).Q) (hhalt : (entryMatchReadTM tapes.entry).halted cfg) (hresult : (cfg.work tapes.entry.result).read = Γ.one) (hreplacement : (cfg.work tapes.replacement).read = Γ.blank) (hinput : TM.Parked cfg.input) (hwork : ∀ (i : Fin n), TM.Parked (cfg.work i)) (houtput : TM.Parked cfg.output) :
                        (entryUpdateTM tapes).step (entryUpdateMatchWrap tapes cfg) = some (entryUpdateDeleteWrap tapes { state := (entryMissCleanupTM tapes.entry).qstart, input := cfg.input, work := entryUpdateMarkFoundWork tapes cfg.work, output := cfg.output })
                        theorem Complexity.RAM.RegisterStore.Machine.entryUpdateTM_step_match_replace_internal {n : } (tapes : EntryUpdateTapes n) (cfg : Complexity.Cfg n (entryMatchReadTM tapes.entry).Q) (hhalt : (entryMatchReadTM tapes.entry).halted cfg) (hresult : (cfg.work tapes.entry.result).read = Γ.one) (hreplacement : (cfg.work tapes.replacement).read Γ.blank) (hinput : TM.Parked cfg.input) (hwork : ∀ (i : Fin n), TM.Parked (cfg.work i)) (houtput : TM.Parked cfg.output) :
                        (entryUpdateTM tapes).step (entryUpdateMatchWrap tapes cfg) = some (entryUpdateReplaceWrap tapes { state := (entryReplaceCleanupTM tapes.replace).qstart, input := cfg.input, work := entryUpdateMarkFoundWork tapes cfg.work, output := cfg.output })
                        theorem Complexity.RAM.RegisterStore.Machine.entryUpdateTM_step_match_miss_internal {n : } (tapes : EntryUpdateTapes n) (cfg : Complexity.Cfg n (entryMatchReadTM tapes.entry).Q) (hhalt : (entryMatchReadTM tapes.entry).halted cfg) (hresult : (cfg.work tapes.entry.result).read Γ.one) (hinput : TM.Parked cfg.input) (hwork : ∀ (i : Fin n), TM.Parked (cfg.work i)) (houtput : TM.Parked cfg.output) :
                        (entryUpdateTM tapes).step (entryUpdateMatchWrap tapes cfg) = some (entryUpdateMissWrap tapes { state := (entryMissCopyTM tapes.entry).qstart, input := cfg.input, work := cfg.work, output := cfg.output })
                        theorem Complexity.RAM.RegisterStore.Machine.entryUpdateTM_step_miss_halt_internal {n : } (tapes : EntryUpdateTapes n) (cfg : Complexity.Cfg n (entryMissCopyTM tapes.entry).Q) (hhalt : (entryMissCopyTM tapes.entry).halted cfg) (hinput : TM.Parked cfg.input) (hwork : ∀ (i : Fin n), TM.Parked (cfg.work i)) (houtput : TM.Parked cfg.output) :
                        (entryUpdateTM tapes).step (entryUpdateMissWrap tapes cfg) = some (entryUpdateRemainingWrap tapes { state := (TM.binaryPredTM tapes.remaining).qstart, input := cfg.input, work := cfg.work, output := cfg.output })
                        theorem Complexity.RAM.RegisterStore.Machine.entryUpdateTM_step_delete_halt_internal {n : } (tapes : EntryUpdateTapes n) (cfg : Complexity.Cfg n (entryMissCleanupTM tapes.entry).Q) (hhalt : (entryMissCleanupTM tapes.entry).halted cfg) (hinput : TM.Parked cfg.input) (hwork : ∀ (i : Fin n), TM.Parked (cfg.work i)) (houtput : TM.Parked cfg.output) :
                        (entryUpdateTM tapes).step (entryUpdateDeleteWrap tapes cfg) = some (entryUpdateDeleteCountWrap tapes { state := (TM.binaryPredTM tapes.resultCount).qstart, input := cfg.input, work := cfg.work, output := cfg.output })
                        theorem Complexity.RAM.RegisterStore.Machine.entryUpdateTM_step_replace_halt_internal {n : } (tapes : EntryUpdateTapes n) (cfg : Complexity.Cfg n (entryReplaceCleanupTM tapes.replace).Q) (hhalt : (entryReplaceCleanupTM tapes.replace).halted cfg) (hinput : TM.Parked cfg.input) (hwork : ∀ (i : Fin n), TM.Parked (cfg.work i)) (houtput : TM.Parked cfg.output) :
                        (entryUpdateTM tapes).step (entryUpdateReplaceWrap tapes cfg) = some (entryUpdateRemainingWrap tapes { state := (TM.binaryPredTM tapes.remaining).qstart, input := cfg.input, work := cfg.work, output := cfg.output })
                        theorem Complexity.RAM.RegisterStore.Machine.entryUpdateTM_step_append_halt_internal {n : } (tapes : EntryUpdateTapes n) (cfg : Complexity.Cfg n (entryAppendRestoreTM tapes.replace).Q) (hhalt : (entryAppendRestoreTM tapes.replace).halted cfg) (hinput : TM.Parked cfg.input) (hwork : ∀ (i : Fin n), TM.Parked (cfg.work i)) (houtput : TM.Parked cfg.output) :
                        (entryUpdateTM tapes).step (entryUpdateAppendWrap tapes cfg) = some (entryUpdateAppendCountWrap tapes { state := (TM.binarySuccTM tapes.resultCount).qstart, input := cfg.input, work := cfg.work, output := cfg.output })
                        theorem Complexity.RAM.RegisterStore.Machine.entryUpdateTM_step_deleteCount_halt_internal {n : } (tapes : EntryUpdateTapes n) (cfg : Complexity.Cfg n (TM.binaryPredTM tapes.resultCount).Q) (hhalt : (TM.binaryPredTM tapes.resultCount).halted cfg) (hinput : TM.Parked cfg.input) (hwork : ∀ (i : Fin n), TM.Parked (cfg.work i)) (houtput : TM.Parked cfg.output) :
                        (entryUpdateTM tapes).step (entryUpdateDeleteCountWrap tapes cfg) = some (entryUpdateRemainingWrap tapes { state := (TM.binaryPredTM tapes.remaining).qstart, input := cfg.input, work := cfg.work, output := cfg.output })