A (PDA) is a 7-tuple
, where
is a finite set called the states,
is a finite set called the input alphabet,
is a finite set called the tape alphabet, where and .
is the start state, is the accept state,
and is the reject state.
is the transition function.
0 1 .... 8 9
L R
Q
Qaccept Qreject
//read the letter Q followed by one or more digits or "accept", or "reject."
//We will use the "" to denote a "transition state."
S
//We will use the "" to denote an "input symbol."
X
//We will use the "" to denote a "tape symbol".
(,,,,)
//We will use the "" to denote a "transition".
A TPL Program consists of:
A finite set of transition states, including Q0 ,Qaccept, and Qreject .
A finite set of tape symbols , including
The directions L and R.
A finite set of transitions statisfying the Turing Machine transition function condition with respect to 1. and 2. .
All TPL Programs can be written using the 21 symbols
0 1 .... 8 9Q Qaccept Qreject S X ( ,) L R
The Validity of a TPL Program can be decided.
States, tape_symbols, and transitions can be checked by a DFA.
That the transitions provide a transition function can be checked by a search on all pairs.
One can model any Turing Machine with a TPL Program.
Implement a TPL interpreter, hence emulate any Turing Machine, in any general purpose programming language.
Construct a "Universal Turing Machine" that is a TPL interpreter. Again, note that the UTM only has to recognize 21 input symbols.