Documentation

Complexitylib.Models.TuringMachine.Combinators.WorkBranch.Defs

Direct work-symbol branch combinator -- definitions #

TM.branchWorkBlankTM idx onBlank onNonblank inspects work tape idx once. A blank selects onBlank; every other symbol selects onNonblank. The dispatcher uses the ordinary read-back action on every tape and never uses the output tape as control storage.

Finite driver states for direct work-symbol branching.

Instances For
    @[reducible, inline]
    abbrev Complexity.TM.WorkBranchQ (QBlank QNonblank : Type) :

    State space of a direct work-symbol branch.

    Equations
    Instances For
      def Complexity.TM.workBranchBlankState {n : } (onBlank onNonblank : TM n) (q : onBlank.Q) :
      WorkBranchQ onBlank.Q onNonblank.Q

      Embed a blank-branch state, collapsing its halt state to the shared halt.

      Equations
      Instances For
        def Complexity.TM.workBranchNonblankState {n : } (onBlank onNonblank : TM n) (q : onNonblank.Q) :
        WorkBranchQ onBlank.Q onNonblank.Q

        Embed a nonblank-branch state, collapsing its halt state to the shared halt.

        Equations
        Instances For
          def Complexity.TM.branchWorkBlankTime (blankTime nonblankTime : ) :

          Uniform time bound for a one-step dispatch followed by either branch.

          Equations
          Instances For
            def Complexity.TM.branchWorkBlankTM {n : } (idx : Fin n) (onBlank onNonblank : TM n) :
            TM n

            Inspect one work symbol and run the selected branch on the same tapes.

            The dispatcher selects onBlank exactly when wHeads idx = Γ.blank and otherwise selects onNonblank. Branch halt states are collapsed into the shared halt state on the same simulated transition, so there is no trailing seam step and no extra tape action after a branch halts.

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