Documentation

Cslib.Computability.Machines.Turing.SingleTape.Defs

Basic definitions for Turing Machines (TMs) #

The transition labels used by a single-tape Turing Machine.

  • read {Symbol : Type u_1} (x : Symbol) : TrLabel Symbol

    Read x from the tape.

  • write {Symbol : Type u_1} (x : Symbol) : TrLabel Symbol

    Write x on the tape.

  • move {Symbol : Type u_1} (d : Turing.Dir) : TrLabel Symbol

    Move the head of the tape.

  • skip {Symbol : Type u_1} : TrLabel Symbol

    Do nothing.

Instances For
    structure Cslib.Computability.Turing.SingleTape.Cfg (State : Type u_1) (Symbol : Type u_2) :
    Type (max u_1 u_2)

    Configuration of a single-tape Turing machine.

    • state : State

      The state that the machine is in.

    • tape : Turing.BiTape Symbol

      Tape of the machine (memory).

    Instances For
      theorem Cslib.Computability.Turing.SingleTape.Cfg.ext {State : Type u_1} {Symbol : Type u_2} {x y : Cfg State Symbol} (state : x.state = y.state) (tape : x.tape = y.tape) :
      x = y
      theorem Cslib.Computability.Turing.SingleTape.Cfg.ext_iff {State : Type u_1} {Symbol : Type u_2} {x y : Cfg State Symbol} :
      x = y x.state = y.state x.tape = y.tape
      def Cslib.Computability.Turing.SingleTape.Cfg.mk₁ {State : Type u_1} {Symbol : Type u_2} (s : State) (xs : List Symbol) :
      Cfg State Symbol

      Helper builder for a configuration with a given tape content.

      Equations
      Instances For
        def Cslib.Computability.Turing.SingleTape.Cfg.spaceUsed {State : Type u_1} {Symbol : Type u_2} (cfg : Cfg State Symbol) :

        The space used by a configuration is the space used by its tape.

        Equations
        Instances For