There are some small problems with the definition of a Turing Machine (TM), DEF 3.7.1. It is unclear whether the transition function \delta is meant to be partial or total (=complete in Savage's terminology). In DEF 3.1.1 of a FSM the transition function \delta and the output function \lambda can only be understood to be total. In 3.1.5 the possibility of having no next state is explicitly mentioned in the case of a NFSM, but also there the transition function \delta is total but maybe \delta(a,q) is the empty set. There are basically two possibilities: A. \delta is total. Then any TM can by definition only halt in its unique halting state h. The distinction between accepting and rejecting an input should then be made by writing some special markers on the file. Another possibility is to have two halting states, one for accepting and one for rejecting inputs. B. \delta is partial, so that \delta(a,q) needs not to be defined. In that case the TM could halt in any state, depending on the symbol. Again some convention for accepting/rejecting inputs should be fixed. Note that the definition of TM in Ch. 3 is sligthly different from Ch. 5. As a minor point we should fix what to do with a left move in the leftmost position of the tape: just let the head stay there. Adopting A with halting states h_a and h_r, we now define: 1. A TM accepts (rejects) an input word (left adjusted on an otherwise blank tape) if it halts in state h_a (h_r). Consequently, an input word is not accepted if the Turing machine halts in h_r or DOES NOT HALT AT ALL. 2. A TM accepts (or: recognizes) a language if it accepts all the words from the language and no other words. 3. A TM decides a language if it accepts the language and terminates on all inputs. This is equivalent to saying that all words of the language are accepted and the others are rejected. 4. A TM decides a language in polynomial time if it decides the language and there exists a polynomial p(n) such that the TM halts on all inputs in at most p(n) steps, with n the length of the input word. 5. PTIME is the class of languages that can be decided by some TM in polynomial time. Here different languages from PTIME may require different TMs to decide them in polynomial time. Extra exercise on Turing machines: Design a TM that, when given an arbitrary binary string as input, duplicates that input on its tape and halts. Example (with ^ indicating the position of the head): initial configuration in state s: 000101 ^ final configuration in state h_a: 000101000101 ^ Hint: use extra symbols.