Is Mathematica a Turing-complete language? If so, how can that be proved? If not, why?
Asked
Active
Viewed 2,287 times
15
2 Answers
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
-
1Well, 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
-
2I 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.
-
4Another minimalist example for a Turing complete language is Brainfuck, which syntax consists of 8 symbols. – sebhofer Apr 30 '12 at 12:37
-
3@sebhofer which we've also shown that Mathematica can act as an interpreter for. :) – rcollyer Apr 30 '12 at 14:18
-
What are practical guidelines for evaluating a language's “Turing Completeness”?
And of course Mathematica language is Turing complete.
– Yu-Sung Chang Apr 30 '12 at 14:47