Halt halt halt

From Esolang
Jump to navigation Jump to search
Halt halt halt
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:

  1. 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)
  2. Resets the output (the output becomes empty)
  3. 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.