<p><em>Short meta preamble &mdash;</em> Despite my misgivings (in particular, despite the comment on meta, I don't really think that this question is parallel to the question of <a href="https://mathoverflow.net/questions/19152/why-is-a-topology-made-up-of-open-sets/30231">why one should define topologies in terms of open sets</a>), I think it may be important for the sake of the exercise and in particular as a point of empiricism to see if we can squeeze out a meaningful answer to this particular question. </p>

<hr>

<p>We have to recall that the theory of computation began a few decades after mathematicians and logicians became quite keen on formalization, and in particular on simple, universal foundations for mathematics. In particular, when Turing defined his machines, people had recently been <a href="http://en.wikipedia.org/wiki/Ordered_pair#Defining_the_ordered_pair_using_set_theory" rel="nofollow noreferrer">fretting about the best way to define ordered pairs in terms of sets</a>. This sort of pre-occupation with minutiae probably strikes some of us as a little bit funny today, but it was the context in which definitions were set out.</p>

<p>As I hint in my comment above about groups &mdash; that although they are sometimes described as an ordered pair $(G,\ast)$ consisting of a set $G$ and some binary operator $\ast$, most people talk about $G$ itself as though it were the group &mdash; the notion that a Turing machine is a tuple is really beside the point; the role served by the tuple description is just to say that <em>the machine is characterized by a collection of mathematical objects which have some relationships to one another</em>.
Furthermore, whether it is a 5-tuple, or a 7-tuple, depends on how you want to present the particular mathematical pieces. It makes a lot of sense to lump some of them together, as I argue below, so that (if you care about tuples) you can have some sort of argument as to the "best" arity of the tuple.</p>

<ul>
<li><p>The set of states $Q$ is simple enough and could stand on its own, but doesn't really have any meaning on its own either, without <em>e.g.</em>&nbsp;the transition function alongside it to give it the semantics of the state of a "machine" which depends on "time".</p></li>
<li><p>The initial state, and the halting states, of the machine are just special elements of $Q$. These can be supplied separately (with the proviso that they are elements of $Q$), or we might say that $Q$ is not merely a set but some more exotic object in which the distinguished elements are supposed to be given.
For instance, perhaps $Q$ is a <a href="http://en.wikipedia.org/wiki/Pointed_set" rel="nofollow noreferrer"><em>pointed set</em></a> in which the initial state is an intrinsically special element, so that we could easily describe the unions of languages by joins of nondeterministic Turing machines which accept those languages. Perhaps some other clever special roles could be given to accept and reject states; or perhaps those could just be states designated specially by the transition function, rather than along with $Q$ or separately on their own.</p></li>
<li><p>The alphabet on which the machine acts can again stand on its own, and it makes an enormous amount of sense to consider this again as a <a href="http://en.wikipedia.org/wiki/Pointed_set" rel="nofollow noreferrer">pointed set</a>, where the blank symbol is the special element, rather than supplying that blank symbol separately.</p></li>
<li><p>The tape is some function from a set such as $\mathbb N$ to the alphabet in which all but finitely many symbols are blank; so the tape immediately has some relation to the alphabet as a pointed set.</p></li>
<li><p>Finally, the transition function is impossible to define without the set of states, the alphabet, and the tape &mdash; but it is what gives them meaning as a model of computation by giving some sort of sense of evolution via repeated application.</p></li>
</ul>

<p>Recognizing that this is what we care about in the definition of a Turing machine, the only thing that a tuple (of any arity) serves to do is to present them all together, in definite positions so that (if your foundations of mathematics are so thoroughly set-theoretic that you would be constitutionally unable to distinguish <a href="http://en.wikipedia.org/wiki/Von_Neumann_ordinal#Von_Neumann_definition_of_ordinals" rel="nofollow noreferrer">the number zero from the empty set</a>) you can tell which is supposed to be the set of states $Q$ and which is supposed to be the transition function.</p>

<p>Indeed, if you want to describe Universal Turing Machines, in which a machine can read an encoding of another machine, <em>some</em> encoding must be used; and so describing a Turing machine as a tuple of some sort is a reasonable conceit. But does this mean that a Turing machine is really "a tuple", as opposed to being <em>presentable</em> (really, encodable) as a tuple? Not meaningfully so. They might be presented just as well or better in terms of categories, or some class of mathematical structures of which Turing machines are the first interesting exemplar.</p>

<p>Mathematical objects, Turing machines included, derive their <em>meaning</em> from what they <em>do</em>. What tuples <em>do</em> is present several things at once; they are a data structure. What Turing machines <em>do</em> is allow us to express a robust notion of computability through the relationships of several related mathematical structures, and through our understanding of how to apply those relationships to things that we care about.</p>

CC BY-SA 3.0
2012-08-13T22:48:08.077Z
[thinking this over, guess my real question was, why does JeffE think this is an interesting question? & if he wont say, does anyone else know what he's talking about?]
vzn
CC BY-SA 3.0
2012-08-14T01:41:12.113Z
@vzn: If I had to guess, I imagine that he took a look at the MO topology question, thought of what an analogue of might be for a fundamental question about CS; and then imagined (without much detail) that someone might ask why this particular definition for universal computation might be important. He may not have specifically wondered why Turing machnes are 5- (or 7-) tuples, nor why this suffices to define a robust notion of computation; he probably just imagined that *someone* might wonder this, and that they might wonder *e.g.* whether the alphabet on its own is really important.
Niel de Beaudrap
CC BY-SA 3.0
2012-08-14T01:49:40.800Z
@vzn: I don't expect that JeffE was doing anything more than fishing for something broader than what is typically accepted here (but might be appropriate) by comparison to simple-but-profound questions on other SE fora. As you may gather, I disagree with him about the profundity of this question -- except inasmuch as I value philosophy of mathematics. But much of CS is intensely application-driven, to the point that most people are disinterested in philosophical backdrop; so this question really was a non-starter I think. For myself, at least it was precise enough to respond in a clear manner.
Niel de Beaudrap
CC BY-SA 3.0
2012-08-14T02:11:02.727Z
thought initially maybe there was academic debate on how to define a TM & seriously really didnt exactly expect it to blow up in my face quite the way it did. it seemed an allusion to some funky alternative I hadnt heard of... something deeper... he says I havent studied enough to understand... huh. is that true of everyone else on here? your answer is erudite but surely not what he was getting at, right? looks like the jokes still on me I guess... blame the victim.. I guess everyone else was "smart" at least enough to ignore it... no asking about the emperors clothes or trying them on =)
vzn
CC BY-SA 3.0
2012-08-14T02:31:27.333Z
@vzn: An ongoing controversy would either be so public that you could find it on Google, or so technical that you wouldn't be so penalized for asking about it -- the downvoting is a symptom of the lack of that controversy. (But if you had been thinking about it for a while yourself, you might have stimulated interest if you raised acute concerns.) The audience here is interested in questions with definite technical dimensions. If the problem isn't subtle, obscure, surprisingly difficult, or profound -- and if you can't convince others that it's one of these -- it probably doesn't belong here.
Niel de Beaudrap
CC BY-SA 3.0
2012-08-09T19:19:53.490Z
2012-08-09T20:29:46.197Z
2017-04-13T12:57:54.777Z
Niel de Beaudrap
<p><em>[Edited to provide better context.]</em></p>
<p>In <a href="https://cstheory.meta.stackexchange.com/questions/1572/on-modifying-our-scope-a-proposal#comment5147_1572">a comment on meta</a>, JɛﬀE suggested that this would be a good topic for a question to ask here.</p>
<blockquote>
<p>why is a Turing machine defined as a 5-tuple?</p>
</blockquote>

CC BY-SA 3.0
2012-08-09T18:28:43.220Z
On [Wikipedia](http://en.wikipedia.org/wiki/Turing_machine) it is defined as a 7-tuple. Why?
Dave Clarke
CC BY-SA 3.0
2012-08-09T18:29:38.167Z
Definitions of this sort are often given in terms of tuples. For example, the definition of a group is often as an ordered pair $(G,\ast)$ consisting of a set $G$ and an operator $\ast: G \times G \to G$ (with some properties). Presenting it as a tuple may be somewhat beside the point: no-one cares that a group is an ordered pair; they usually just talk about the set $G$ itself as a group. But it is one approach to allow a careful and formal phrasing of a definition. --- As for the question itself, I'd say it might be better suited for [cs.SE](http://cs.stackexchange.com/questions) than here.
Niel de Beaudrap
CC BY-SA 3.0
2012-08-09T18:35:45.127Z
For those not following the [meta discussion](http://meta.cstheory.stackexchange.com/q/1572/), this question has to do with a comment on that thread.
Robin Kothari
CC BY-SA 3.0
2012-08-09T18:35:51.300Z
It is one thing to ask a question where you carefully explain what your already understand and what your question is motivated by. It is completely different thing to copy and paste [someone else's comment on meta](http://meta.cstheory.stackexchange.com/questions/1572/on-modifying-our-scope-a-proposal#comment5147_1572) and just say "somebody said I should ask this". This question is not a real question, and I have voted to close it as such. It is your job as the poster to motivate and explain the question, properly capitalize, and in general put in at least a small morsel of effort.
Artem Kaznatcheev
CC BY-SA 3.0
2012-08-09T19:35:26.953Z
@vzn: I suspect that if JɛﬀE had ever been inclined to ask this question, he would have given some background as to the foundations of mathematics and its possible role in informing the theory of computation, in order to give an appropriate background to motivate the question. For questions like this which *look* elementary, some amount of reflective context is necessary in order to keep them from *being* elementary. By not providing such context yourself, you're basically asking people to transform the question into something interesting first, which will tend to make the answers subjective.
Niel de Beaudrap
CC BY-SA 3.0
2012-08-09T19:38:56.990Z
@vzn: [The question you are comparing this to](http://mathoverflow.net/questions/19152), which was answered by Terry Tao is very differently phrased! Note how much effort the OP has put into the question to explain what the OP wants to understand.
Robin Kothari
CC BY-SA 3.0
2012-08-09T20:45:57.063Z
@vzn: we cannot force you to entertain alternative models which fit the observations you have made, nor give you our experience with internet fora. We can only try to help to teach you how to ask a constructive question, and occasionally spend time trying to derive a constructive question from what you ask as a show of good faith. But in a world with so many questions, the tastiest ones are the ones seasoned with thought and motivation; and if you try to serve a frankfurter to gourmets, you sell why your particular frankfurter is worth their time, when they've got steaks in the pan.
Niel de Beaudrap
CC BY-SA 3.0
2012-08-09T22:57:35.670Z
to anyone who has spent any time at all to think about it, the phrase Jeff used was a shorthand for "why is the 5-tuple that Turing used sufficient to capture the notion of computation". asking this question properly would require you to cite the definition, clarify what you understand as motivation for each element in it, and tell us where you are stuck/why you think there are alternative choices. what you are doing is good old trolling.
Sasho Nikolov
CC BY-SA 3.0
2012-08-10T00:40:25.567Z
@SashoNikolov: it sounds as though you might have a more interesting answer than I have. (I took the question quite literally, and addressed tuple-ness.) As long as this question is open, would you care to elaborate for the sake of the exercise?
Niel de Beaudrap
CC BY-SA 3.0
2012-08-10T14:54:45.530Z
@vzn: Please stop putting words in my mouth.  The other commenters are correct; my one-sentence question in meta was a proxy for a longer question in the style of the Math.SE question under discussion.  The question is **on topic**, but you just haven't done the necessary homework to ask it **well**.  I am voting to close.
Jeffε
<soft-question><turing-machines><big-picture>
why is a Turing machine defined as a 5-tuple?
vzn
# why is a Turing machine defined as a 5-tuple?

(Asked by: username_0 on 2012-08-09)

*[Edited to provide better context.]*

In [a comment on meta](https://cstheory.meta.stackexchange.com/questions/1572/on-modifying-our-scope-a-proposal#comment5147_1572), JɛﬀE suggested that this would be a good topic for a question to ask here.

> why is a Turing machine defined as a 5-tuple?

**Tags:** soft-question, turing-machines, big-picture

> **Comments:**
> **username_1**: On [Wikipedia](http://en.wikipedia.org/wiki/Turing_machine) it is defined as a 7-tuple. Why?  
> **username_2**: Definitions of this sort are often given in terms of tuples. For example, the definition of a group is often as an ordered pair $(G,\ast)$ consisting of a set $G$ and an operator $\ast: G \times G \to G$ (with some properties). Presenting it as a tuple may be somewhat beside the point: no-one cares that a group is an ordered pair; they usually just talk about the set $G$ itself as a group. But it is one approach to allow a careful and formal phrasing of a definition. --- As for the question itself, I'd say it might be better suited for [cs.SE](http://cs.stackexchange.com/questions) than here.  
> **username_3**: For those not following the [meta discussion](http://meta.cstheory.stackexchange.com/q/1572/), this question has to do with a comment on that thread.  
> **username_4**: It is one thing to ask a question where you carefully explain what your already understand and what your question is motivated by. It is completely different thing to copy and paste [someone else's comment on meta](http://meta.cstheory.stackexchange.com/questions/1572/on-modifying-our-scope-a-proposal#comment5147_1572) and just say "somebody said I should ask this". This question is not a real question, and I have voted to close it as such. It is your job as the poster to motivate and explain the question, properly capitalize, and in general put in at least a small morsel of effort.  
> **username_2**: @username_0: I suspect that if JɛﬀE had ever been inclined to ask this question, he would have given some background as to the foundations of mathematics and its possible role in informing the theory of computation, in order to give an appropriate background to motivate the question. For questions like this which *look* elementary, some amount of reflective context is necessary in order to keep them from *being* elementary. By not providing such context yourself, you're basically asking people to transform the question into something interesting first, which will tend to make the answers subjective.  
> **username_3**: @username_0: [The question you are comparing this to](http://mathoverflow.net/questions/19152), which was answered by Terry Tao is very differently phrased! Note how much effort the OP has put into the question to explain what the OP wants to understand.  
> **username_2**: @username_0: we cannot force you to entertain alternative models which fit the observations you have made, nor give you our experience with internet fora. We can only try to help to teach you how to ask a constructive question, and occasionally spend time trying to derive a constructive question from what you ask as a show of good faith. But in a world with so many questions, the tastiest ones are the ones seasoned with thought and motivation; and if you try to serve a frankfurter to gourmets, you sell why your particular frankfurter is worth their time, when they've got steaks in the pan.  
> **username_5**: to anyone who has spent any time at all to think about it, the phrase Jeff used was a shorthand for "why is the 5-tuple that Turing used sufficient to capture the notion of computation". asking this question properly would require you to cite the definition, clarify what you understand as motivation for each element in it, and tell us where you are stuck/why you think there are alternative choices. what you are doing is good old trolling.  
> **username_2**: @SashoNikolov: it sounds as though you might have a more interesting answer than I have. (I took the question quite literally, and addressed tuple-ness.) As long as this question is open, would you care to elaborate for the sake of the exercise?  
> **username_6**: @username_0: Please stop putting words in my mouth.  The other commenters are correct; my one-sentence question in meta was a proxy for a longer question in the style of the Math.SE question under discussion.  The question is **on topic**, but you just haven't done the necessary homework to ask it **well**.  I am voting to close.  

---

## 1 answers

### Answer by username_2 on 2012-08-09. Score: 7 | Accepted answer

*Short meta preamble —* Despite my misgivings (in particular, despite the comment on meta, I don't really think that this question is parallel to the question of [why one should define topologies in terms of open sets](https://mathoverflow.net/questions/19152/why-is-a-topology-made-up-of-open-sets/30231)), I think it may be important for the sake of the exercise and in particular as a point of empiricism to see if we can squeeze out a meaningful answer to this particular question.

---

We have to recall that the theory of computation began a few decades after mathematicians and logicians became quite keen on formalization, and in particular on simple, universal foundations for mathematics. In particular, when Turing defined his machines, people had recently been [fretting about the best way to define ordered pairs in terms of sets](http://en.wikipedia.org/wiki/Ordered_pair#Defining_the_ordered_pair_using_set_theory). This sort of pre-occupation with minutiae probably strikes some of us as a little bit funny today, but it was the context in which definitions were set out.

As I hint in my comment above about groups — that although they are sometimes described as an ordered pair $(G,\ast)$ consisting of a set $G$ and some binary operator $\ast$, most people talk about $G$ itself as though it were the group — the notion that a Turing machine is a tuple is really beside the point; the role served by the tuple description is just to say that *the machine is characterized by a collection of mathematical objects which have some relationships to one another*.
Furthermore, whether it is a 5-tuple, or a 7-tuple, depends on how you want to present the particular mathematical pieces. It makes a lot of sense to lump some of them together, as I argue below, so that (if you care about tuples) you can have some sort of argument as to the "best" arity of the tuple.

* The set of states $Q$ is simple enough and could stand on its own, but doesn't really have any meaning on its own either, without *e.g.* the transition function alongside it to give it the semantics of the state of a "machine" which depends on "time".
* The initial state, and the halting states, of the machine are just special elements of $Q$. These can be supplied separately (with the proviso that they are elements of $Q$), or we might say that $Q$ is not merely a set but some more exotic object in which the distinguished elements are supposed to be given.
  For instance, perhaps $Q$ is a [*pointed set*](http://en.wikipedia.org/wiki/Pointed_set) in which the initial state is an intrinsically special element, so that we could easily describe the unions of languages by joins of nondeterministic Turing machines which accept those languages. Perhaps some other clever special roles could be given to accept and reject states; or perhaps those could just be states designated specially by the transition function, rather than along with $Q$ or separately on their own.
* The alphabet on which the machine acts can again stand on its own, and it makes an enormous amount of sense to consider this again as a [pointed set](http://en.wikipedia.org/wiki/Pointed_set), where the blank symbol is the special element, rather than supplying that blank symbol separately.
* The tape is some function from a set such as $\mathbb N$ to the alphabet in which all but finitely many symbols are blank; so the tape immediately has some relation to the alphabet as a pointed set.
* Finally, the transition function is impossible to define without the set of states, the alphabet, and the tape — but it is what gives them meaning as a model of computation by giving some sort of sense of evolution via repeated application.

Recognizing that this is what we care about in the definition of a Turing machine, the only thing that a tuple (of any arity) serves to do is to present them all together, in definite positions so that (if your foundations of mathematics are so thoroughly set-theoretic that you would be constitutionally unable to distinguish [the number zero from the empty set](http://en.wikipedia.org/wiki/Von_Neumann_ordinal#Von_Neumann_definition_of_ordinals)) you can tell which is supposed to be the set of states $Q$ and which is supposed to be the transition function.

Indeed, if you want to describe Universal Turing Machines, in which a machine can read an encoding of another machine, *some* encoding must be used; and so describing a Turing machine as a tuple of some sort is a reasonable conceit. But does this mean that a Turing machine is really "a tuple", as opposed to being *presentable* (really, encodable) as a tuple? Not meaningfully so. They might be presented just as well or better in terms of categories, or some class of mathematical structures of which Turing machines are the first interesting exemplar.

Mathematical objects, Turing machines included, derive their *meaning* from what they *do*. What tuples *do* is present several things at once; they are a data structure. What Turing machines *do* is allow us to express a robust notion of computability through the relationships of several related mathematical structures, and through our understanding of how to apply those relationships to things that we care about.

> **Comments:**
> **username_0**: [thinking this over, guess my real question was, why does JeffE think this is an interesting question? & if he wont say, does anyone else know what he's talking about?]  
> **username_2**: @username_0: If I had to guess, I imagine that he took a look at the MO topology question, thought of what an analogue of might be for a fundamental question about CS; and then imagined (without much detail) that someone might ask why this particular definition for universal computation might be important. He may not have specifically wondered why Turing machnes are 5- (or 7-) tuples, nor why this suffices to define a robust notion of computation; he probably just imagined that *someone* might wonder this, and that they might wonder *e.g.* whether the alphabet on its own is really important.  
> **username_2**: @username_0: I don't expect that JeffE was doing anything more than fishing for something broader than what is typically accepted here (but might be appropriate) by comparison to simple-but-profound questions on other SE fora. As you may gather, I disagree with him about the profundity of this question -- except inasmuch as I value philosophy of mathematics. But much of CS is intensely application-driven, to the point that most people are disinterested in philosophical backdrop; so this question really was a non-starter I think. For myself, at least it was precise enough to respond in a clear manner.  
> **username_0**: thought initially maybe there was academic debate on how to define a TM & seriously really didnt exactly expect it to blow up in my face quite the way it did. it seemed an allusion to some funky alternative I hadnt heard of... something deeper... he says I havent studied enough to understand... huh. is that true of everyone else on here? your answer is erudite but surely not what he was getting at, right? looks like the jokes still on me I guess... blame the victim.. I guess everyone else was "smart" at least enough to ignore it... no asking about the emperors clothes or trying them on =)  
> **username_2**: @username_0: An ongoing controversy would either be so public that you could find it on Google, or so technical that you wouldn't be so penalized for asking about it -- the downvoting is a symptom of the lack of that controversy. (But if you had been thinking about it for a while yourself, you might have stimulated interest if you raised acute concerns.) The audience here is interested in questions with definite technical dimensions. If the problem isn't subtle, obscure, surprisingly difficult, or profound -- and if you can't convince others that it's one of these -- it probably doesn't belong here.  

---

