Documentation

Complexitylib.Models.TuringMachine.OutputSemantics.Defs

Pointwise output semantics for deterministic Turing machines #

This definitions layer treats the input string as a program and records the complete binary string produced by a deterministic machine. The definitions are machine-relative: no universality assumption is built into them.

runCfg is a total bounded evaluator on configurations. It performs the requested number of transitions and stands still after reaching the halt state. ProducesInTime nevertheless records the actual number of transitions before halting, so its clock agrees with the exact-step semantics of TM.reachesIn.

Main definitions #

def Complexity.TM.runCfg {n : } (tm : TM n) (c : Cfg n tm.Q) :
Cfg n tm.Q

The configuration after steps transitions, standing still once halted.

Equations
Instances For
    def Complexity.TM.Halts {n : } (tm : TM n) (program : List Bool) :

    Machine tm, run on program program, eventually reaches its halt state.

    Equations
    Instances For
      def Complexity.TM.HaltsInTime {n : } (tm : TM n) (program : List Bool) (time : ) :

      Machine tm, run on program program, reaches its halt state within time transitions. The witness steps is the actual number of transitions.

      Equations
      Instances For
        def Complexity.TM.Produces {n : } (tm : TM n) (program output : List Bool) :

        Machine tm, run on program program, eventually halts with exact output output.

        Equations
        Instances For
          def Complexity.TM.ProducesInTime {n : } (tm : TM n) (program output : List Bool) (time : ) :

          Machine tm, run on program program, halts within time transitions with exact output output. The witness steps is the actual number of transitions.

          Equations
          Instances For