concept in theoretical computer science used to augment deterministic automata such as Turing machines