logoalt Hacker News

program_whizyesterday at 11:56 PM1 replyview on HN

Wasn't the original proof something like "a program that loops indefinitely when the oracle says it will halt, and stops immediately if an oracle says it will not stop"? The whole point was the you can construct a contradictory program that cannot be decided by any oracle by its very nature.

```python

source_code = open(__file__, 'rt').read()

response = ask_llm("will this program halt, only answer 'yes' or 'no'?\n" + source_code)

will_halt = response == 'yes'

while will_halt:

   continue
```

Replies

xyzzy123today at 1:07 AM

You're right of course, LLMs provide a partial, unsound oracle.

The "halting problem is unsolvable" argument relies on the oracle not being able to output "not sure". But adding that option admits trivial oracles, like ones which output "not sure" for everything, so some are better than others.

The "real world" use most people have for halting oracles is as part of software safety, where if the checker outputs "not sure" you modify the software until the checker can decide if it halts.

show 1 reply