# Tag Info

37

The largest Turing machines for which the halting problem is decidable are: $TM(2,3), TM(2,2), TM(3,2)$ (where $TM(k,l)$ is the set of Turing machines with $k$ states and $l$ symbols). The decidability of $TM(2,4)$ and $TM(3,3)$ is on the boundary and it is difficult to settle because it depends on the Collatz conjecture which is an open problem. See ...

32

I would like to add that there are some Turing Machines for which the Halting problem is independent of ZFC. For instance take a Turing machine which looks for a proof of contradiction in ZFC. Then if ZFC is consistent, it won't halt, but you cannot prove it in ZFC (because of Gödel's second incompleteness theorem). So it is not only a matter of not having ...

14

It's not a hidden link but one that has been made explicit using the language of category theory and also a very natural question to ask and study. There is a fair bit of material on the subject. CS Theory question asking the same thing Andrej Bauer's blog post about fixed point theorems and Cantor's theorem. A Universal Approach to Self-Referential ...

13

Because one of the principal applications of Type Theory in formalizations has been to study programing languages and computation in general, a lot of thought has gone into ways of representing possibly non-terminating programs. I won't make a complete survey here, but I'll try and give pointers to the main thrusts of different directions. The "...

11

I'm glad you are interested in complexity but there are some issues in your paper. Your techniques relativize and there is an oracle relative to which the Berman-Hartmanis conjecture is true and NP = EXP. The main issue is that you can't do self-reference for time-bounded machines since you can't simulate and stay within the time bound.

10

This isn't a "nice" property, because whether it's true or false depends upon the encoding. See David et al's Asymptotically almost all $\lambda$-terms are strongly normalizing, which proves what it says in the title. However, this paper also shows that the opposite holds for SKI-combinators (into which lambda-terms can be compositionally embedded). In ...

9

Termination of a Turing machine (on a fixed input) is a $\Sigma^0_1$ sentence and all usual first-order arithmetic theories are complete for $\Sigma^0_1$ sentences, i.e. all true $\Sigma^0_1$ statements are provable in these theories. If you look at totality in place of halting, i.e. a TM halts on all inputs, then that is a $\Pi^0_2$-complete sentence and ...

9

I believe that some version of this connection can be tied back to Turing's seminal paper on computability. Namely, Turing makes the following two claims: "The results of Section 8 have some important applications. In particular, they can be used to show that the Hilbert Entscheidungsproblem can have no solution." "If the negation of what Godel has ...

7

It depends in which sense you mean "undecidable". If you evaluate $M$ on the empty input, and want only to find a yes/no answer, then the algorithmic problem is trivially decidable, as answered by Gamow, since either the algorithm outputting "Yes", or the one outputting "No" is correct. you don't have to know which one is correct to prove decidability: ...

6

The mortality problem is undecidable (P.K. Hooper, Th eUndecidability of the Turing Machine Immortality Problem (1966)) The uniform mortality problem undecidability follows from the following: Theorem: A Turing machine is mortal if and only if it is uniformly mortal I found the proof in: Gerd G. Hillebrand, Paris C. Kanellakis, Harry G. Mairson, Moshe Y. ...

6

Gödel's incompleteness theorem can be thought of as a reduction from the Halting problem to the language $\langle \varphi \mid \varphi \text{ is a true sentence in number theory}\rangle$, and a careful analysis of the running time would show that it is indeed a polynomial time reduction. Not every such reduction is polynomial time, however. You can observe ...

6

As a counter-example to this, consider the Context-Free Equivalence problem: it's undecidable to determine, given two context free languages, whether they accept the same set. If your problem were decidable, we could use it to determine CFL equivalence, since it's always possible to turn a CFL into an always-halting Turing machine. So even for countably ...

6

This is answering the title of the question more than its content, but you can also consider "approximations" of the halting problem as algorithms which will give you a correct answer on "almost all" programs. The notion of "almost all" programs only makes sense if your model of computation is optimal (in the same sense that for Kolmogorov's complexity), to ...

6

It is well known that any language or function computable by a probabilistic algorithm is also computable deterministically. Here, we require that with probability $>1/2$, the algorithm outputs the correct answer (and therefore halts), but we allow the existence of infinite runs where the algorithm uses infinitely many random bits. Indeed, by $\sigma$-...

5

Consider the function $T: \mathbb N \rightarrow \mathbb N$, where $T(n)=n/2$ when $n$ is even and $T(n)=n+1$ when $n$ is odd. Then it is known that for any $n \in \mathbb N$, there exists a $k \in \mathbb N$ such that $T^{(k)}(n)=1$. If instead of $T(n)=n+1$ when $n$ is odd, we had defined $T(n)=3n+1$ when $n$ is odd, we would have the Collatz Conjecture, ...

4

Consider programs $e_1$, $e_2$ and numbers of time steps $t$. Let $f_i(t)$ be the output of $e_i$ after $t$ steps, and let $f_i(t)$ output a special message like "none" if there's no output yet. Then $f_1$ and $f_2$ both always halt, but you can't decide if they always output the same - see Rice's Theorem.

4

Yesterday I googled around to check the status of this problem and I found this new (2012) result: Dan Brumleve, Joel David Hamkins and Philipp Schlicht, The mate-in-n problem of infinite chess is decidable (2012) So the mate-in-n problem of infinite chess cannot be Turing complete. The decidability of infinite chess with no restrictions on the number ...

4

No one has a proof whether Universal Turing machine halts or not. In fact, such proof is impossible as a result of the undecidability of the the Halting problem . The smallest is a 2-state 3-symbol universal Turing machine which was found by Alex Smith for which he won a prize of $25,000. 4 This is another way to prove that not all Turing machines are predictable. First it's easy to note that: all halting machines are predictable; all machines that loop forever on a finite portion of the tape are predictable; all machines that expand towards both sides of the tape are predictable ($N=M, Q' = \emptyset$). The interesting case is when a ... 4 Yes, an example of a system that performs this task is T2. It does not solve the halting problem but instead it only attempts to solve certain special cases. A overview is at https://en.wikipedia.org/wiki/Microsoft_Terminator . The newest version of this system is at https://mmjb.github.io/T2/ . 3 No, there is a whole hierarchy of Turing undecidability: http://en.wikipedia.org/wiki/Turing_degree In particular, the language L_min consisting of all minimal Turing machine encodings is not reducible to L_halt. (A TM encoding is minimal if there is no shorter encoding of an equivalent TM). 3 I'm not a logic expert, but I believe the answer is no. If the Turing machine halts, and the system is strong enough, you ought to be able to write out the full computation history of the Turing machine on its input. When one verifies that the result of the computation is a terminating sequence of transitions, one can see that the machine halts. ... 3 The usual proof that the halting problem is undecidable already gives you exactly such an algorithm. Given an algorithm$A$, we construct an algorithm$B$that on input$x$computes$A$on program$x$and input$x$, and then enters an infinite loop iff$A$answered "halts". Now consider giving$B$itself as an input. If$A(B,B)=\text{"halts"}$then$B$doesn'... 3 The standard proof that the halting problem$L$is undecidable also gives an efficient algorithm for constructing an instance on which a given Turing machine$H$fails to solve the halting problem. For any Turing machine$H$, let$M_H$be a Turing machine implementing the following algorithm: "On input$\langle P \rangle$where$P$is a Turing machine, ... 2 In contradiction with Gurkenglas' answer, there actually is a community of scientists who work on proving non-termination of programs in various language and formalisms. An obvious approach would be to check for looping non-termination: for a given program$w$, pick an input$x$and check to see if the same state is reached twice with the same data. Non-... 2 If I understood your question correctly, the answer is NO. Let$M$be any TM and$w$any input string, and define the TM$M'$as follows: it reserves the leftmost square of the tape as "special" (e.g., by first moving all of its input 1 space over to the right) and then it interprets its input as an encoding of$\langle M,w \rangle$and simulates$M$on$w$. ... 2 For every concrete Turing machine$M$, the halting problem (Problem$P_M$without input: "Does the Turing machine$M$halt on the empty input$\varepsilon$?") is decidable. The corresponding decision algorithm is either the algorithm that outputs "Yes" and halts, or the algorithm that outputs "No" and halts. 2 "Easy to check" is the understatement of the century: can you actually carry out your proposed plan of "just" writing down all the registers/RAM cells, etc? You're right that it takes finite time, but a large amount of finite time. Our best algorithms for performing this check are exponential in the size of the input on the tape, and a strong version of the$...

2

First of all, the place for this question is cs.se, not here. But since I've already written an answer, I'll leave it. There is a formal definition of computability: a function $f$ is computable if there is a Turing machine that, given input $x$, always halts with $f(x)$ written on its tape. You could of course define more general computability, which uses ...

1

Such an $H$ would let us solve the halting problem: We begin by running $H(H(P))$ until it halts (which it does by assumption on $H$). If the output of $H(H(P))$ is "doesn't halt," then we know $H(P)$ doesn't halt, and so by assumption on $H$ we know that $P$ doesn't halt. If the output of $H(H(P))$ is "halts," then we subsequently run $H(P)$ until it ...

Only top voted, non community-wiki answers of a minimum length are eligible