Friday, January 29, 2016

DRAFT Natural Number Arithmetic

I try to construct a rigorous and relatively simple path from natural numbers to arithmetic for rational numbers. It is pieced together from Wiki articles on the natural, integer, and rational number systems. I would like to think it shows the existence of an accessible, and rigorous basis for all of school arithmetic, accessible for teachers to enrich and inform their instruction.

[I did not intend the font change. In published form it does not follow the word processing instructions.]

Rote learning can be put in its proper place: it can make simple, practical calculation possible. But at the end of the day we can rest assured there is firm support for what we are doing A little exposure to foundation plants the seed to grow mathematical sense; and besides that, seeing how thought leads to understanding is the unique pleasure of mathematics.


I am not qualified to present material in a ready-to-teach-young-students form. I do try to get at the roots of elementary arithmetic. What is presented is certainly sufficiently straight-forward to be inform teachers on the foundation of the material they teach. This material should put teachers in position to evaluate for themselves claims like "multiplication is really addition". It looks to me like arithmetic proceeds in a straight line from a foundation well within the grasp of young students, and certainly well within the grasp of their teachers.


The mathematical approach can only be an abstraction of what? To use the result of that abstraction it is not necessary to know "what" it is, or could be. Teaching mathematics to beginners, on the other hand, requires taking a stand, conscientiously or not. Since I am trying to teach myself, I eventually had to face up to having no plausible story for how the bootstrap could have started for me. This is not cognitive science, it is simply what I see as a possibility when I look at the mathematics: what I could have been doing before I started learning school mathematics?


Here is the story I imagine. I realized one thing came after another thing, it wasn't all one long hum. I heard sound from my most significant other; it came in bursts, one after the other, sometimes little bursts inside big bursts. Eventually I got the hang of this after, after, ... business. At the same time I noticed the leg going out in front of me followed my other leg going out out in front of me, sort of like one sound burst followed another. "after" was like "following". My feet made marks in the sand, one after the other. When I took a step from a rock there was a mark in the sand, when I continued walking more marks appeared. Eventually I came up with a song to hum when I was walking with a word for the first step followed by another word for this next step. I noticed the tree close to the to the rock was ug1-ug2-ug3-ug4-ug5, that is an ug5 walk from the rock.  

Counting

Now I would describe counting as the attribution of "1 more", call it "+1" to the count of the pile before I put a ---- onto it. It is the same pile that was empty, call its count "0"(zero), before I put a --- onto it: Counting produces a sequence of counts:
  • starting with:          old-count = 0 
  • proceeding with:    new-count = old-count +1
  •                                old-count   = new-count
  • and continuing       new-count = old-count +1


  •  
Counting evaluates the sequential growth/augmentation of the pile in the process of adding a --- to the pile that was empty to begin with. It is a sequential process, it does carry the idea of progression, of "step after step ..." but it also carries a record of augmentation, the pile is getting bigger. We attend to the progression part, or rather we let Peano and his axioms for the sequence of Natural Numbers take care of it. There is a problem with calling them numbers at this stage because Peano's axioms alone are only requirements that a sequence of words must satisfy in order for


  • the sequence to start with a unique word,  
  • for each word in the sequence to be different from all other words and for each word to have a unique place in the sequence, and 
  • for there to be a simple way to prove something for every word in the sequence.
The set of all the words is written as N = {0,1,2,3, ...}. Each one of the words is called a natural number, but at this stage we need to be careful to remember they are only what we say about them, and we say they are words that Peano calls natural numbers. Peano says:


  • 0 is a natural number.
  • Every natural number has a successor.
  • 0 is not the successor of any natural number.
  • if the successor of x equals the successor of y. then x equals y.
  • if: [a] something (since we are talking about words that "something is a statement) is true about 0, and [b] if the truth of that statement for a number implies (means) it is true for the successor of that number, then [c] the statement is true for every natural number.                                                                  
Here is a place you have to be careful not to assume "1" or "2" mean what you remember they meant before we decided to get at the truth of things. "2" is not the successor of "1" is not the successor of 0 until we show how Peano's axioms let that be so. We have to prove what we say so we can know, really know the truth of what we are talking about. We are talking about natural number arithmetic. Is it true, and exactly what is it?

First we need to define addition. We do not know what is the successor of what. All we know is 

  • that special word 0 is not the successor of any natural number, 0 is a natural number, and therefore 0 is not a successor of itself.
  • Every natural number has a successor. 
If we use the usual numerals in the following, we are likely to use the properties we have come to associate with them in the proof that all those properties follow from just the Peano's axioms. For now we take the usual alphabet for the natural numbers. Use "+" for addition, then we define "+" by


  • a + the-succ-of b = the-succ-of ( a + b), and
  • a + 0 = a.
First notice that we are trying to define + on the left hand side of = by an expression on the rhs that contains + ;  rather like the definition of a word including the word itself. It works in this case because the b is the-succ-of c in a + b , and then  a + b = a + the-succ-of c = the succ-of (a + c), and we continue in this "recursive" manner until we inevitably arrive at a + 0. 0 is not the successor of an natural number. That is why setting a + 0 = a is part of the definition of addition. And finally we have + on the lhs but not on the right hand side, and the recursion stops. This is a general definition, it works for all natural numbers a and b, but recursion is slippery; we will provide some numerical calculation later to show how it all hangs together

We are free to name the-succ-of 0: let's say 1 := the-succ-of 0. 



  • b + 1 = b + the-succ-of 0 = the-succ-of ( b + 0 ) = the-succ-of b,
b + 1 is the successor of b, where b can be any natural number. Using only: [a] 1 defined as the succ of 0, and [b] the defined addition for natural numbers, we can name/define them in accord with our expectations for them:
  • 0 is not the successor of any natural number
  • 1 := the-succ-of 0 ,        definition of 1
  • 2 := the-succ-of 1 ,        definition of 2
  • 3 := the-succ-of2 ,        definition of 3
  • 4 := the-succ-of 3 ,        definition of 4
  • 5 := the-succ-of 4 ,        definition of 5
  • 6 := the-succ-of 5 ,        definition of 6
  • 7 ...
  • 8 ...
  • 9 ...
  • ...
From here on we will denote "the-succ-of" by "succ". The defined addition gives:
  • 6 + 3 = 
  • 6 + succ (2)  =  succ (6 +2) =  
  • succ ( 6 + succ (1)) = succ(succ(6 + 1))  =
  • succ(succ(6 + succ(0)) = succ(succ(succ(6 + 0))) = succ(succ(succ(6))) =
  • succ(succ(7)) = succ(8) = 
  • 9
This is a general pattern for recursion; construct the "program" to produce the result as a sequence of steps, for addition each step is a "succ"; until it comes to a step that can be executed; and then it runs back up the program, executing each step to produce the input for the next until it runs out of steps. Also note the associated "shape" of the program: the width starts out small, reaches a peak, and returns to small corresponding to first building out a counting program and then consuming it as each counting step is executed. 

How is this useful?
  • It shows how mathematics works: it proves things about words that are specified only by simple relations among them. For the set of natural numbers it shows how the definition of an addition of two of these words/numbers leads to a relation between them that can be expressed with the numbers themselves.
  • It shows how addition of natural numbers is true: it is the rigorous working out of the implications of a small number of requirements for the set of all the natural numbers.
  • It displays the elegance and economy of mathematics. 
  • It will turn out that all of school analysis can be related back to natural number arithmetic.  

Multiplication

Given that addition has been defined, multiplication can be defined in an analogous fashion by setting
  • a x 0 = 0, and
  • a x succ b = (a x b) + a.
For the experience represent the set of natural numbers as N = {0, #, ##, ###,  ...} with # = succ 0, etc. Then
  • ###### x ### 
  • (###### x succ ##)  = (###### x ##)  + ###### =
  • (###### x succ #)  + ######  =  ((###### x #) + ######) + ###### =
  • (( ###### + ######) + ######) =
  • ( ############ + ###### ) =
  •  ##################
We used
  • (###### x #) = (###### x 0) + # = 0 +  ###### = ###### .
Sorry for any problems reading this. Actually there is an advantage in being limited to a  small number of symbols that can only be displayed in a straight line, but the advantage is mine; I am allowed to look for a scheme that makes sense without facing diversion by pretty notation. It is not good for you though.

Eventually I noticed word processing a multiplication of natural numbers in the # notation was mostly a matter of copying and pasting. And then it occurred to me that was true because the # notation for natural numbers is a self representation; e.g. pasting a # on to the end of natural number constructs its successor, and that leads to the realization a natural number can be representing by the thing that constructs it: a string of successor "operators" we have denoted by "succ" that extends to the left ( this is  just the way readers of mathematics are used to seeing it) and originates with a 0 on the right. It is best to think of succ as a small machine that pulls in the natural number on its right, makes the successor of that natural number, and puts it directly under itself, and then goes away. Starting from the right it is then easy to see that 6 can be represented by the construction


  • 6 := succ succ succ succ succ succ 0
In the # representation of natural numbers: we can have
  • for # = succ 0, 
  • # + ##...  = ###... for any natural number; i.e,
  • succ ##... := prepend # to ##...
We can go back and forth between the mathematical construction of a natural number with a string of succ operators, and a displayed representation of them made by executing a string of prepend instructions. In either case we could write a program to produce
  • natural numbers as prepend(prepend( prepend( ... prepend(# to 0) ...))). There are n prepends to create an n length string of #s.
  • n + m as prepend(m to n). where the natural numbers n and m are represented as n and m length strings of #s as shown in first bullet. The a correct program that implements the bullet above would produce a string of (n + m) #'s.
  • n x m as prepend(prepend(...prepend(n to 0)...))). There are m prepends and again n is a natural number produced as the first bullet indicates. Now a correct program would generate a n x m length string of #s.
This is just an outline. You could work entirely in the # representation by implementing counting as picking a # off a string off the string of #'s that represents a natural number until there were no more. If this doesn't relieve you of some worries, forget it.

I did not start with the intent to show all natural number arithmetic, at bottom, is just fiddling with strings of #'s or succ's, by whatever names these may be known; it just turned out that way. All integer and rational number arithmetic can be expressed as natural number arithmetic, and hence all school arithmetic is, at bottom, just more of this fiddling. At the end of the day that is why computers can do it. What we learn in school is the syntax of working with the names of these strings. For computers this is called syntactic candy. For us, the time we must spend on syntax it is the price we pay for being slow calculators. Still I think we could write computer programs that showed young students how it all really works, we could call it the "The String Theory Game".

Windup 

What have we learned?

  • There is a foundation for arithmetic.
  • A little of how mathematics works.
  • A good basis for going on to develop the foundation for the integer number system which incorporates negative integers, and the rational number system where fractions/ratios live. I hope to tackle this in the next post.

Currently there is a belief, or at least a strong wish, that natural number multiplication is really addition. This is the sort of issue that is difficult to address from the perspective of school arithmetic itself, where apparently a thing can get defined by the practices associated with the signs in it; if an expression only has plus signs it must be addition. The plus signs that appear in an intermediate stage of multiplication do reflect addition in the definition of multiplication; addition must be defined before multiplication can be defined, but the definitions of addition and multiplication are not the same: multiplication is not addition. For one thing thing, with a slight abuse of definition, addition counts by 1 from n, while multiplication counts by n from 0. There should be, at the least, someone available to every teacher who can explain questions at the level of: what is addition? what is multiplication? what is the difference?         

I left high school thinking math was mostly a matter of retrieval of small facts put in memory by rote learning and repetitive manipulation. This may have produced some number sense, but it is not number sense that underlies success in later work in mathematics. It is more a matter of mathematics sense. I came away with very little. Some exposure to the foundation of arithmetic would have been helpful.