RE: 2 + 2 = 5 And I Can Prove It
As a programmer I understand that part. Is there something else I'm not understanding correctly?
What I'm saying is that while you can count however you like, one finger is still a single finger. You can change the numbers to whatever words you want or use whatever language you like. However, if the finger is there then it's there. There aren't none of them there. It isn't nothing. It's there. Normally, it's a 1 and not a 0. If it was a 0 then it wouldn't be there because it would be nothing because 0 equals nothing.
You can change the index or the label of that object to whatever you like but it doesn't change reality or the fact that object is there or not. If it wasn't there then there would be 0 of them there and you wouldn't count it. So while you can count however you like or translate numbers however you like, you cannot change reality or how math works. If you take 2 objects and add 2 more objects you have 4 objects. If you are counting from 0 then you'll still have 4 objects, although you may use a different label other than 4 to describe them and count them with different words. You haven't actually changed the number of objects there, you've just given the values different names.
Okay, I understand what you're saying. But what I don't get is this, if we don't count 0 because it represents nothing, then why don't we count 2 twice? Why don't we triple-count 3? And if it was arbitrary to begin with then why didn't we start counting from 2 or some other arbitrary number?
If you're giving the numbers their original values and not using new labels then you can definitely start at any number you like. You could even start at 0 but in that case you won't be referring to a finger that's there, but nothing. If you're starting at 2 then you would be counting 2 fingers that are there, providing there are 2 there to count.
You don't have to count 2 twice because you're counting in whole numbers, which are in increments of 1. You don't use the same logic as 0 because nothing doesn't have to be counted. That doesn't mean you can't or don't have to start counting at 0 but that most people will skip counting nothing because all they care about is the somethings they're counting.
If you count 2 twice then you would have 4 and might be counting by 2s instead of 1s. If you count 3 three times then you'll have 9 and might be counting by 3s instead of 1s. If you counted 2 twice or 3 thrice and so on then you'd be counting more than necessary. Counting something isn't the same as counting nothing because there is something there to count. Although you could count nothing as many times as you like but you'd still have nothing. You could divide those nothings up into multiple nothings but that's not going to make them something, they'll still be nothing. If you start counting spaces where something could be then in that case you are no longer counting nothing, you're counting spaces. 0 represents having no finger there which is why it doesn't have to be counted while 2 or 3 represents 2 or 3 fingers being there and so they can be counted.
I don't think the number you start counting at has to be arbitrary unless maybe you want it to be or maybe if you are giving them different labels or values. It's not going to change how many there actually are no matter how you count them but you you might come up with different results if you aren't counting them properly or if you're using your own labels to describe the numbers.
I still don't understand how we can skip 0 for being 0 if we don't count 2 twice. That's a little bit like saying there's a separate rule for 0 than for any other number. Shouldn't there need to be a mathematical reason for such a rule? And I'm not suggesting that we should count 2 twice, I only mentioned that about 2 to point out the strangeness of skipping 0.
I know how to count the 'normal' way, but I think that way is wrong. When we count a range that spans both positive and negative numbers then we always include the 0. For example:
-3, -2, -1, 0, 1, 2, 3
Notice that when the digits at the end points share the same absolute value then the 0 is at the center of the count. My argument is just that this geometric center at 0 is where we should be counting from. Just like how when we measure the sides of a triangle people tend to count from 0 at the points.
While all those numbers you listed are all integers/whole numbers they do indeed have different rules. 0 would indicate that there are none of whatever you're counting whereas a positive integer would be the sum of those objects and negative would probably be taking that many away from whats already there depending on what you're doing I suppose.
However you can still start counting from 0 or -3 or whatever you like if it suits whatever you're counting. With a triangle maybe some people would start counting the points at 0 because they aren't necessarily interested in the total number of points but the number of lines, although I suppose you will get both in a shape since the start and end point are the same point. Plus if they wanted the total number of points then they would just have to add 1 if the end point and start point aren't the same point as in a triangle or other shape. Although it's pretty obvious there are 3 points and 3 sides in a triangle but in a more complex scenario just adding 1 would give the total number if desired. You could start at -3 if you wanted as long as you know what the numbers represent, however that might be confusing to other people if it's not the standard way of doing it. It also wouldn't necessarily be as simple for you to figure out the total number of points or lines but maybe it would tell you the number you wanted depending on your particular scenario.
Also since positive integers are the sum of the objects being counted, if you are doing an equation like 2 + 2 and since those are integers the result will be an integer because you're likely counting by 1s, so the objects you're counting are actually 1s. If you start counting from 0 then you are starting with nothing, you don't have an object yet or 0 X 1 objects. When you say 1 you now have your first object or 1 X 1 objects. When you say 2 you now have 2 objects or 2 X 1 objects. You aren't adding an additional 2 objects to the existing 1 because they already represent the sum of the objects. Therefore 2 + 2 is likely equal to 1 + 1 + 1 + 1 and not 0 + 1 + 2 + 0 + 1 + 2.
Of course that doesn't stop you from making your own numbering system or counting by 3s if you like.
array indexes aren't count of objects they are values added to first memory location. 0 means no add to starting point so you get 1st object, 1 means add one to the starting point so you get 2nd object from next locatin...