When is x + x = x more true than x + x = 2x?

Disclaimer: these thoughts are a bit raw and not well explained here, but I need to start posting to develop my thoughts more.  Disclaimer 2: yes, x can be 0.

Okay, admittedly, the title of this post sounds like a dumb question.  And while I know that in most cases, the former answer is the “true” answer, it was the lame possibility that there are instances wherein the latter is more true which kept me up thinking for a little while the other night.

On the one hand, in the physical  world, things seem pretty clear cut–at least at first.  Let’s say I have a souvenir from president Taft:

A Souvenir from President Taft

A Souvenir

If I happened to get two souvenirs, I’ll have… wait for it…

1+1 = 2

1 + 1 = 2 souvenirs... go ahead and check!

…two souvenirs.  1 souvenir + 1 souvenir = 2 souvenirs.  Genius!

Hello World!

Now, let’s get more abstract.  We’ll start with a teeny-tiny programming lesson.  In common programming languages, the = symbol has an additional function beyond expression equation and evaluation; it is also used to assign variables.  There are two common ways of assigning variables, by reference and by copy.  Assigning by reference simply assigns that variable as a “pointer” which points (or references) a particular space containing the value of the variable.  An assignment by copy takes the value of the initial value of the variable and copies it into the new variable.

The standard in the PHP language is variable assignment by copy.  Thus, if I type

A = 5

B = A1

…then B is also equal to 5, but if I later change the value of A:

A = 9

…then B still retains its value as 5.  In essence, this means that every variable name used in PHP code is by default a placeholder for its value, rather than a link to a particular “place” in a computer’s memory.  Thus, just like in the real world, it generally makes sense that A + A = 2A because in PHP this is like saying: (the value of) A combined with (the value of) A is equal to two times (the value of) A.

However, in a language like Python–which assigns by reference by default–after setting B = A, if I alter the value of A = 9, then the value of B becomes 9 as well.  This is because the A and B variables both refer to the same “place” in the computer’s memory, so when you change the value in that place, it appears as changed to all of the variables that reference that space.  This is where there appears to be a different relationship with reality.  Because A and B (and, of course, A and A) are not simply copies of a value but are actually references to the same object, the objects of their pointers have the same identity.  In PHP, the objects of the separate variables cannot be said to be completely identical because  even if they have all other qualities in common, they represent different places in the computer memory; however, in Python, the objects of the variable pointers hold all qualities in common.  As anyone who remembers Leibniz’s Law knows, any two things sharing all attributes are the same thing.  What does it mean to add a thing to itself, when each object in the addition equation is merely a pointer to that object?  In other words, I’d like to make the case that in Python, A + A is not like doubling the value of A.  It is not like having one souvenir and having another souvenir.  Rather, I think that, given the way the language defaults its variable assignments to references, A + A is like pointing to the same souvenir twice, but not working with the value.  In other words, I think in this case the more appropriate equation is A + A = A.  In the same manner that pointing to the same souvenir twice still only leaves you with one souvenir, pointing to the same A twice ought only leave you with one A.

That said, yes, I understand that programming languages are more pragmatic than systematic.  If that were the actual function of the + operator on referenced variables, it would hardly be worthwhile.  Furthermore, all of the operators in programming language imply more function than is implied in their natural language definitions.  In other words, using the + symbol (as with other symbols * / % – etc.) implies that the factors involved will be treated as values.  The value role which I have claimed was missing from the default Python variable model is just played by the operator, rather than the variable itself…but that doesn’t mean this little thought experiment was completely pointless.

Back to the real world…

This actually makes a lot of sense coming back to the physical world.  Let’s  say I ask you how many Stings there are:

Sting!  You know, like from the Police!

Sting

Sting! You know, like from the Police!

Sting

There  are really two ways of looking at this; we have either one Sting or two.  To map this back onto the programming discussion, these images can be taken on the one hand to refer to the Sting.  In this case, each image itself would not “count” , because both images refer only to a single thing (person).  They are, by this understanding, mere pointers to the physically extant sting (I’ll call him ontological Sting, because he has being).  Having two pointers is just as if you pointed to Sting twice…you wouldn’t say that there are two Stings in that case.

On the other hand, we could say that both Stings count.  Using our programming language metaphor, we could say that each Sting image copies the value of the Sting–at least for our purposes, and because they have value aside from their referent we can count them.  Thus, we would have two (non-ontological) Stings.

This hints at my first point.  Basically, it seems to me that math, even simple sums and counting numbers, is 1) too abstracted and too rigid to account for ontology (being) and because of this 2) it does a poor job of accounting for identity, and as a result 3) it can lead to ambiguity that when not addressed leads  to error or confusion.   In other words, because there is no link between being and the abstract concept of number (this has been true at least since the West abandoned the simple Greek conception of counting numbers), there is a live translation issue when going from the real to the abstract and when going from the abstract to the real.  While it is certainly true that we get around just fine most of the time with our assumptions about the identities and numbers, I bring this up to propose that taking it into account from time to time might provide us with a little insight where we could use a little creativity.

To be sure, there are a few workarounds for the identity-less nature of numbers (even at a basic enough level for me to understand).  We’ve all played around with those factorial problems (think: “how many possible order configurations are there for Jan, Jim, and Jill to stand in a single-file line?”), for instance, but while these techniques offer us some of the effects of taking identity into account, they still lack a truely correlative relationship with what can be said to be or what can be said to have such-and-such an identity.  2

What strikes me as rather unusual about this is not simply that nobody seems to pay attention to the lack of a relationship between mathematics and ontology, but that people seem to have never thought about this lack of relationship despite the fact that ontology seems to me to be psychologically prior. At least in my limited, subjective experience, I have found that ontological assumptions predated and founded mathematical assumptions, but I am known to be an edge-case in many things.  If you are tenacious enough to still be with me at this point, I hope you can help describe your history learning mathematics in a manner that will either affirm or counter my own experiences.

Let me be a little more clear.

I can very vividly recall learning multiplication and somewhat clearly recall my thoughts learning addition.  For multiplication, I remember being rather incredulous.  We were started with addition problems like “4 + 4 + 4 + 4 + 4 = ?” followed by examples like “4 x 5 = ?”.  The fact that you could replace the one operation with the other, that you could–by say counting the number of fours and using that result as a factor–obtain the same result as adding that many fours or counting by as many fours…it all seemed to me to be a parlour trick which might hold true in some cases–but it certainly could not be known to hold true in all cases.  It took a lot of examples to convince me that this could be thought of as a mathematical rule.  The same was roughly true, I more  vaguely remember, of addition.  The fact that every time you counted four apples and another three apples, you could combine them and count them up to seven apples… it seemed like a neat trick, but I was initially skeptical, and it took a number of examples to convince me.

I don’t know if I am an unusual case or not, but as described to me, it seems I learned most of my fundamental mathematics inductively.  I took examples from what existed in the world  and tested them for consistency against rules and language I was given until I accepted them as true conventions.  In other words, for me, ontology was more fundamental than mathematical abstractions.  Many so-called mathematical necessities came to me a posteriori, and I do not know whether it is safe to assume this is common.

To get back to my point, I think there is an oft-ignored relationship between being and number which ought to be unearthed from time to time, and I think that relationship is one upon which our more abstracted conception of mathematics is dependent.  In many or most cases, it can be convenient or beneficial to forget this relationship while we experiment with the great, complex language of mathematics and find a way to relate it back to the world…functional relationships, irrational numbers, even negative numbers and zeros seem to have a much more distant relationship to ontology.  In many cases, they may have more effect on our conception of being than vice versa (where do the notions of anti-matter or charge come from, if not from mathematics?), but I don’t think that means we can ignore that initial relationship.

  1. Technically, this is improper PHP, but for consistency with the Python examples, I have removed variable delimiters ‘$’ and end-of-line markers ‘;’
  2. Mathematics also suffers another identity-translation issue insofar as naming can correspond to an ontological object or a pointer worthy of holding a certain value.  In other words, it cannot determine whether the wrestler Sting and the musician Sting both qualify as Sting for the purposes of the count.  I’m not too worried about this, though, as I think it can be addressed by my take on Jamesian pragmatism