15

Is Mathematica a Turing-complete language? If so, how can that be proved? If not, why?

rm -rf
  • 88,781
  • 21
  • 293
  • 472
Timothy
  • 303
  • 2
  • 8

2 Answers2

24

Something is turing complete if you can simulate a turing machine with it.

http://reference.wolfram.com/mathematica/ref/TuringMachine.html

There's one just sitting there in the documentation.

Searke
  • 4,404
  • 20
  • 23
  • 1
    Well, to be universal you must be able to simulate any turing machine, not just "a turing machine"? Is it so obvious that you can specify all machines with that functions input? I.e. is it clear that the input for the function is defined in a way equivalent to a turing complete grammar? – Nikolaj-K Oct 12 '12 at 15:11
  • 2
    I apologize. My syntax here wasn't sharp. Given a Turing machine, you can simulate that Turing machine using the TuringMachine function. – Searke Oct 15 '12 at 13:41
23

It has already been proven that the Rule 110 cellular automata is Turing complete. Since Mathematica can implement this cellular automata, it must be true that Mathematica is Turing complete.

Incidentally, it has been claimed that HTML + CSS3 is Turing complete, and Mathematica is a bit more expansive than that combination. So it should not be surprising that Mathematica is also Turing complete.

All this is with the standard limitation that a 'real' turing machine needs unlimited memory and time, both is not available to any physical thing.

Verbeia
  • 34,233
  • 9
  • 109
  • 224