I’m studying for an upcoming exam and my book gives the following definition:

Let $ M$ be a Turing machine, then the accepted language $ T(M)$ of $ M$ is defined as $ T(M) = \{x \in \Sigma^* \mid z_0 x \vdash^* \alpha z \beta; \alpha, \beta \in \Gamma^*; z \in E\}$ .

As a side note, $ \vdash$ denotes the transition from one configuration of the TM to the next, and the $ ^*$ denotes an arbitrary number of applications of this relation.

What I’m confused about is that under this definition of acceptance, I only have to enter the end state once and even if I leave it, the word would be accepted, or I could loop in this end state. In push down automata or regular automata, we do not have this problem as we move through the word sequentially from beginning to very end, especially in push down automata where the stack is separated from the input word.

Now I read in most other definitions, *additionally* to ending up in an end state, the Turing machine must also halt, meaning that it must end in a state that has no transitions. Although I’m not sure what this would mean for deterministic Turing machines as they have to have transitions for all configurations of the machine.

To wrap it up:

**Question 1:** Is halting required? Is it a useful property for accepting languages or is there a reason the definition was given as is?

**Question 2:** How would you define "halting" for deterministic Turing machines?