Hacker News new | ask | show | jobs
by g___ 784 days ago
Suppose O is the oracle for the halting problem.

We create a machine: given a program P, ask O whether P halts given input P and negate the answer.

λP. ~O (P P)

Now we ask whether this machine will halt given its own source code as input. In symbols:

(λP. ~O (P P)) (λP. ~O (P P))

which is the Y-combinator in lambda calculus.

1 comments

aren't oracles, just attempts to escape the halting problem?

assume you have an O which doesn't halt

now feed P which DOES halt into O

oh look it catches it!

misses the boat

No, in fact you can use oracles to prove the halting problem.