Halt halt halt
Jump to navigation
Jump to search
Paradigm(s) | Imperative |
---|---|
Designed by | User:Hakerh400 |
Appeared in | 2020 |
Computational class | Turing complete |
Major implementations | Unimplemented |
File extension(s) | .txt |
Halt halt halt is a Turing-complete brainfuck derivative which can partially solve the Halting problem.
Overview
Besides all 8 instructions inherited from brainfuck, Halt halt halt has an extra instruction: ?
That instruction does the following:
- Interprets the current output (that is generated so far) as a Halt halt halt program (it is an error if the program has unmatched brackets)
- Resets the output (the output becomes empty)
- Tries to determine whether the parsed program will halt on empty input using ZFC axioms
Based on the result of step 3, do the following:
- If it can be proved that the program halts, do nothing
- If it can be proved that the program does not halt, increment the current cell by
1
- If it is undecidable (independent of ZFC), increment the current cell by
2
- If ZFC is inconsistent, increment the current cell by , where is an integer such that (the value of is implementation dependent, it can even be chosen randomly)
After this continue execution normally.
Properties
Halt halt halt is similar to Hyperon, but while Hyperon is uncomputable (because it assumes the existence of a perfect (consistent) first-order logic system), this language is Turing-complete, because instruction ?
may never finish if ZFC is consistent (and the consistency of ZFC cannot be proved from within ZFC itself, as stated by the Gödel's Second incompleteness theorem).
Interpreters
Unimplemented.