“Counting” involves a number of different mathematical ideas
If you watch really young children count, you may notice that they aren’t all doing the same thing. For some children, counting “one-two-three” is done in very much the same way as singing a song, or as reciting the Pledge of Allegiance. One word comes after another, in a predictable and repeatable way. The one-two-three sequence isn’t yet linked to a notion of quantity.
For other kids, counting “one-two-three” is done the same way as reciting “eeny meeny miny moe” while pointing at one thing after another, more or less in unison. These kids show understanding of some idea of correspondence, that the counting words have some relation to the things being counted.
When kids start to be able to count piles of blocks or stacks of pennies – that is, they are clear that the number they come up with is a number that tells you something important about the pile of blocks – there are significant variations in the degree of repeatability, organization, and certainty in the process of counting. Some kids carefully count the blocks moving from left to right, others count in what looks to the observer to be a random order but somehow seem to be able to keep track visually as to which blocks have already been visited and which blocks have not. Other kids move the blocks as they count them, yet others move their fingers to help them separate the blocks that have been counted from the blocks that haven’t yet been counted.
Why am I looking at counting rather than at something more mathematically sophisticated? I actually think there is plenty of sophistication in the conglomeration of ideas that make up “counting”. Looking at what kids do with it is one way to really get the subtlety of it. As adults, we are so familiar with counting that it is hard to see all the assumptions that go into it, hard to see all the stuff about counting that we take for granted.
One of the ways to talk about all the stuff we take for granted about counting is to come up with some scenarios in which we recoil from trying to count at all. A simple one is counting the bees in a swarm of bees. Me, if I needed to do such a thing, I’d be more inclined to trap them all in a big plastic bag, and then weigh the bag. From the weight of the bag (strictly speaking, the difference in the weight before and after) I could make a pretty shrewd estimate of the number of bees in the bag. But counting them? Not likely.
A trickier example is counting the bubbles after you pour yourself a glass of Coke. But here we might dismiss the example as one where maybe there isn’t a real count that the process of counting could reveal. For we all know that bubbles come and go faster than we can count.
Counting takes time
One of the irreducible facts about counting is that it takes time. We go through stages, steps. And something is happening in these steps, something mathematical. The mathematics doesn’t just magically show up when we’re done, it is there along the way. There’s something we’ve got, all the way along the way, even before we’re all the way done counting, something worth standing still and paying attention to. If our way of counting is intentional, we expect to be making progress, to get closer to a final result we call the count. While we’re counting, we are proceeding from just beginning, to being somewhere along the way, to being almost done, to being done. Clear, then, something is changing along the way. It is not hard for us to pay attention to what it is that is changing, it seems a rather natural thing to do. Not so natural, but just as important, is to look at what it is that is staying the same, all along the way. Along the way, something is staying invariant, something important to the process of counting.
Invariants during counting
Once you decide to look for things that stay the same during the process of counting, you won’t have much difficulty finding some. A key idea in counting is that there is a pile of stuff that’s already counted, and a pile of stuff that hasn’t been counted yet. How the piles are organized, and how you can tell where one pile ends and the other one begins, that depends on the details on how you do your counting. I’ve given some examples of how kids count above. The pile of stuff that’s already counted has a number associated with it, and this is a number important to keep track of. It is the number that you hear children say out loud when they count. The number they say out loud is the number that matches the number of items in the pile already counted. This is the fundamental invariant of the act of counting, no matter the details of how you do your counting. You may count by ones or by twos, from left to right or from right to left, you may move the things you count or simply move your finger. Regardless of the details, you are keeping track of a pile or group that you consider already counted, and you have a number to go with it. As you make progress in your process of counting, the pile of hasn’t been counted yet will shrink. When that pile is all gone, the other pile will have all the stuff in it, and the number you’ve been keeping track of can now be promoted from intermediary result to final result.
(There are other invariants during the process of counting – you may have thought of some while we discussed this. One is the total count – even though we don’t know what this number is (until we’re done), we assume there is such a number, and that it doesn’t change while counting. If the things we’re counting are dying or breeding while we count, we can come up with a count alright, but we wouldn’t put much stock in being able to say what exactly it was that we counted. We end up with a number, but without a clear idea of the pile of stuff that the number corresponds to.)
I discussed the process of counting, since we’re all familiar with it, and with a number of variations of it. It provides us with a useful starting point from which to start looking for invariants. Invariants are a useful thing to look for whenever the process of getting our result takes more than a single step. Below is a picture for the standard algorithm for multiplying 34 x 12. The final result is 408. The 408 is obtained by adding 48 and 360. Yet many people (kids as well as adults) who use this method have nevertheless no idea what the 48 and the 360 represent. That wasn’t considered important.
The 48 represents 4 x 12. In this, 12 is the top number, and 4 is the rightmost digit of 34. By putting down 48 we’re saying essentially that we’ve now dealt with the 4, and the 30 is still to be dealt with. When we put down 360, which represents 30 x 12, we are saying that both the 4 and the 30 of the 34 has been dealt with (and if 34 had any hundreds or thousands in it, we would have added more lines till all of those would be accounted for as well.) Below is the same multiplication, but this time annotated.
The annotation is just for our benefit – I’m not suggesting that anybody should write their multiplications this way. We start with having to do 34 x 12. After the first line, we’ve got 4 x 12 of the 34 x 12 accounted for, and we’ve got 30 x 12 left to do. After the second line, we’ve got another 30 x 12 accounted for, and we’ve got 0 x 12 left to do. When we add the numbers on the left, 48 and 360, what we’re adding is 4 x 12 and 30 x 12, so we can see that 408 matches 34 x 12. What is invariant in each step is that we have numbers that represent multiples of 12, and that more and more digits of 34 have been accounted for. For us to be more precise in our formulation it would help to bring in a three- or four-digit bottom number, but I’ll spare you that.
What about invariants?
Looking for invariants in a computational process is something that can gain us clarity. It isn’t necessarily a new way of doing things, but rather a different way to look at what it is we’re doing already. When we’re doing something with many steps, we must be keeping track of some number of things while we move from step to step. The numbers we’re saying out loud, or the partial results we’re writing down, they tell us something; they represent a truth about some part of the process we’ve already dealt with. Articulating what truth those partial results represent, and finding and describing the invariants, turns out to be a very useful practice.