| | | | | machines is also called composition, as in forming a |
| The ideas presented in this article came about as | | | | "composite" or "compound". As any mathematician |
| a response to a perfectly awful third grade text | | | | will agree, composition is the most fundamental |
| book lesson which my wife was forced to | | | | operation in mathematics. Composition is what |
| present when she was student teaching. The | | | | allows us to build arbitrarily complex assemblies, |
| lesson was intended (I suppose) as an introduction | | | | concepts, and theories from simple components. |
| to algebraic concepts. | | | | It is also the basis of logical deduction: if A can be |
| Without any motivation or other rationale, the | | | | derived from B and C can be derived from B |
| text introduced a problem: | | | | then C can be derived from A. Not surprisingly, |
| If 3 × X = 12 what is X? | | | | the most fundamental principle of mathematics |
| This was followed by a description of the | | | | concerns composition. We can describe this |
| standard algebraic procedure for solving the | | | | principle using a dishwasher. |
| problem: | | | | As illustrated below, our dishwasher is built out of |
| - Divide both sides of the equation by three; | | | | three component machines: a washer, a rinser, |
| - "Cancel" the "3"s on the left hand side; | | | | and a dryer. |
| - Divide 12 by 3; | | | | |
| - Conclude that X = 4. | | | | |
| This procedure was described by a sequence of | | | | |
| diagrams, each showing the next step in the | | | | |
| transformation. The authors of the text were | | | | |
| clearly under no illusion that a typical or even | | | | |
| advanced third grader would understand the | | | | The dishwasher is a machine that takes dirty |
| meaning and justification behind an algebraic | | | | plates as input and produces clean dry plates as |
| derivation. The level of abstraction required to | | | | output. Looking inside the dishwasher we see that |
| understand the concept of variable, the meaning | | | | the dirty plate first enters a washer which |
| of an equation, the idea that equations are | | | | produces a clean but soapy plate as output. The |
| assertions which can be transformed to logically | | | | soapy dish then enters the "rinser" which |
| equivalent assertions and the strategy for deriving | | | | produces the clean but wet plate as output and |
| a solution is light years beyond anything a normal | | | | the wet plate is then put through the dryer that |
| third grade student has encountered or could | | | | produces the final output: a clean dry plate. |
| possibly understand. The goal was simply to teach | | | | There are a number of different ways of |
| the students a mechanical procedure in the way | | | | organizing the components of the dishwasher. One |
| one might program a computer. | | | | way is just to view them as three separate |
| In attempting to recast this lesson in a form that | | | | elements of the dishwasher. Another, illustrated |
| might be meaningful and even valuable to third | | | | below, is to associate the Rinser with the Washer |
| grade students the challenge is how to make the | | | | and view the pair as forming a Washer-Rinser |
| concepts involved concrete. When a child thinks of | | | | machine which is then connected to a dryer. |
| a (whole) number she can imagine a basket of | | | | |
| apples or a stack of pennies. When a child thinks | | | | |
| of addition the child can think combining baskets | | | | |
| of apples or stacks of pennies. But what | | | | |
| interpretation can a young child give to an | | | | |
| equation or a variable? | | | | Another way of viewing the components is to |
| We start by considering how we might visualize a | | | | associate the Rinser with the Dryer to form a |
| variable and an equation involving a variable in | | | | Rinser-Dryer machine and connect the Washer to |
| terms of some kind of more or less concrete | | | | the Rinser-Dryer. |
| object that would make sense to an eight year | | | | |
| old. A variable is a kind of object, which can be | | | | |
| assigned different values. An equation involving a | | | | |
| variable is a statement which depending on the | | | | |
| value we assign to the variable may be either | | | | |
| true or false. We may thus think of an equation | | | | Now we ask the question: does the way we view |
| as a kind of question answering machine. This | | | | the organization of the components: |
| machine accepts a number, which is to be | | | | - A washer connected to a rinser connected to a |
| assigned as the "value" of the variable, and the | | | | dryer or |
| machine answers the question: "Is the equation | | | | - A washer-rinser connected to a dryer or |
| true when this value is assigned to the variable?" | | | | - A washer connected to a rinser-dryermake any |
| We can picture such a machine operating as in | | | | difference to the behavior of the dishwasher? To |
| the following diagrams. | | | | answer this question, consider the behavior of the |
| | | | | dishwasher from the point of view of the plate. |
| | | | No matter how we view the organization of the |
| | | | | components, all the plate "sees" is that it first |
| The machine has a part we have labeled the input | | | | gets washed by the washer and then gets rinsed |
| where values are placed and a part called the | | | | by the rinser and then get dried by the drier. So |
| output where answers are produced. We will call | | | | the results are the same. This is the most |
| machines that produce an output when presented | | | | fundamental principle of mathematics. It is |
| with an input, Input/Output Machines. When | | | | sometimes called the associative law of |
| presented with an input value, the machine | | | | composition. It says that no matter how we |
| illustrated above, which we have labeled "3 × X | | | | associate the components in a composition of |
| = 12?" substitutes that value for the variable X in | | | | input/output machines, for example associating |
| the equation 3 × X = 12, evaluates whether the | | | | the rinser with the washer vs. associating the |
| resulting equation is true or false, and outputs the | | | | rinser with the dryer, the behavior of the |
| result. Thus when we enter the input "3," the | | | | composite machine is the same. |
| machine substitutes "3" for "X" in the equation "3 | | | | The associative principle might lead us to ask |
| × X = 12," resulting in the equation "3 × 3 = | | | | whether the order in which machines appear in a |
| 12" which, when we substitute the value of 3 × | | | | composition matters. The answer is a definite yes! |
| 3 for "3 × 3," gives the equation "9 = 12" which | | | | Consider a composite made up of two clothing |
| evaluates to "False" which is then output. Using | | | | machines: One accepts a person as input and puts |
| this machine, we can restate the original problem | | | | on underwear and the second takes a person and |
| as: "Find an input for the "3 × X = 12?" machine | | | | puts on outerwear. If we connect the machines in |
| which causes this machine to output True. | | | | one order we get a machine that properly |
| While this machine may help students to visualize | | | | dresses a person with underwear underneath and |
| the meaning of an equation as a machine that | | | | outerwear outside. If we connect the machines in |
| outputs True or False, it seems questionable | | | | the opposite order then we get machine that |
| whether young students would understand the | | | | puts our underwear over our outerwear. These |
| manipulations involved in substituting a value for a | | | | machines are definitely not equivalent. So in |
| variable or substituting values for expressions as | | | | general, when connecting machines the order |
| when we substitute "9" for "3 × 3." Further it | | | | matters! |
| seems likely that the interpretation of an equation | | | | The crucial concept for solving problems like the |
| not as an assertion but as a predicate, i.e. an | | | | one in our lesson, is the concept of inversion |
| expression that may be "true" or "false" would be | | | | which we will represent by an "Un-machine." Let's |
| confusing to students. We can simplify the | | | | consider an example. |
| problem in two ways. First we can get rid of the | | | | Billy and Sally like to send love notes to one |
| equation by considering the following Input/Output | | | | another in class. Since they don't want other |
| machine. | | | | people to read them, they use a secret code. |
| | | | The way the code works is that each letter in |
| | | | | the message is replaced by the letter that comes |
| Here we've replaced the equation, "3 × X = | | | | after it in the alphabet. So, "A" is replaced by "B", |
| 12?," by the expression "3 × X". Like the | | | | "B" is replaced by "C", and so on. Of course, "Z" |
| equation machine, when presented with a value as | | | | have a following letter so we replace it with "A." |
| input, this machine substitutes the value for the | | | | To decode the message we do just the opposite: |
| variable and evaluates the expression and outputs | | | | replace "B" with "A", "C" with "B", …, "Z" with |
| the value. The difference is that in this case the | | | | "Y", and finally "A" with "Z". We can picture this |
| value of the expression is a number rather than | | | | process in terms of an "alphabet circle" as |
| "true" or "false." For example, when presented | | | | illustrated below. The coding process substitutes |
| with input "3", this machine produces the value "9". | | | | the next letter in the clockwise direction and the |
| In terms of this machine we can restate our | | | | decoding process substitutes the next letter in the |
| problem as "Find an input value which causes the | | | | counter clockwise direction.. |
| ‘3 × X' machine to output 12." | | | | |
| While we have eliminated the need to interpret an | | | | When Billy sends the message, he codes it using |
| equation as a predicate, it still requires the student | | | | the coding method, and when Sally receives it, |
| to make sense out of the concept of a variable | | | | she decodes it using the decoding method. We |
| and the process of substituting into a symbolic | | | | can visualize this in terms of input/output |
| expression and simplifying. So our final step in the | | | | machines as in the following diagram. |
| reduction of the problem is to eliminate the use of | | | | |
| the variable. After all, what does the "3 × X" | | | | So, what is done by the coding machine is undone |
| machine do? It takes whatever input you present | | | | by the decoding machine, so if I feed the output |
| to it and multiplies by 3. We can describe this | | | | of the Coding machine into the decoding machine |
| without using a variable. We simply call this the | | | | I get my input back. Put another way, if I |
| "Times 3" machine (or if you prefer the "Times | | | | connect the coding machine to the decoding |
| by 3" or perhaps the "tripling" machine.) | | | | machine I get a machine that outputs exactly |
| | | | what you put into it. For example we put "I love |
| | | | | you" in and we got "I love you" out. A machine |
| Now our problem can be stated entirely in terms | | | | whose output is always identical to the input in is |
| of the Times 3 machine: find a number which | | | | called an Identity machine. A telephone provides |
| when input to the Times 3 machine produces | | | | another example of an identity machine. |
| output 12. | | | | |
| No doubt some would argue that in this | | | | |
| formulation we have "watered down" the lesson | | | | |
| precisely in that we have eliminated the use of a | | | | |
| variable, the notion of an equation as a predicate, | | | | |
| and the symbolic manipulation of expressions. Our | | | | When you speak into the phone, a part of the |
| counter to this has two elements. The first is that | | | | phone called the microphone takes the sound as |
| even if a typical third grader can be programmed | | | | input and produces an electrical signal as output. |
| to carry out these manipulations their meaning, | | | | The electrical signals are then sent to the phone |
| justification, and value are totally beyond his | | | | of the person you are talking to where another |
| capabilities. Put differently, if a student can make | | | | machine called a speaker takes the electrical signal |
| sense of variables, equations as predicates, and | | | | as input and produces the same sound for the |
| symbolic manipulation then she is actually ready to | | | | other person. Again we have an example of a |
| learn algebra "for real" and as far as we know no | | | | machine, in this case the speaker, which undoes |
| one is seriously proposing algebra as a standard | | | | what another machine, the microphone, does so |
| for the third grade curriculum. Our second point is | | | | that when the two are connected we get an |
| that, as we hope to make clear in the following | | | | identity machine for sounds. We will call a machine |
| discussion, we have replaced notions that are | | | | which undoes what another machine does an |
| beyond the ken of a third grader with concepts | | | | unmachine for the first machine. Thus the |
| and principles the student can understand and | | | | decoder is an unmachine for the coder and the |
| which are ultimately far more fundamental and | | | | speaker is an unmachine for the microphone. |
| important to the student's mathematical | | | | If we have an unmachine for a machine then we |
| development. | | | | can answer questions of the form: "What was |
| These concepts include that of a mathematical | | | | the input that produced this output?" by feeding |
| function and relations and operations on functions | | | | the output into the unmachine. Consider the "Add |
| as represented here by an "input/output machine." | | | | 2" machine. You put a number in and it outputs |
| The significance of these concepts cannot be | | | | the number + 2. So if you input 5, it will output 7, |
| overstated and given their importance, time spent | | | | and if you input 12 it will output 14. Suppose the |
| developing the student's intuition about them is | | | | output is 23 and we want to find the input? We |
| time well spent. For this purpose we need not be | | | | can solve this problem if we can find an Un-Add 2 |
| restricted to numeric or even mathematical | | | | machine. How do we undo adding 2? Let's look at |
| machines. | | | | some examples where we know the input. |
| We have experience with many examples of | | | | |
| objects or systems that behave like input/output | | | | |
| machines. A vending machine provides a good | | | | |
| example. The input to the machine is money and | | | | |
| the output is candy or whatever products the | | | | So when we input 3 to Un-Add 2 we get 1 and |
| vending machine is vending. Real vending machines | | | | when we input 4 we get 2 and when we input 11 |
| are a little more complicated than this of course | | | | we get 9. After we look at enough examples or |
| because the input is usually the money plus an | | | | perhaps we see immediately because our teacher |
| item selection, which we may make by pressing a | | | | explained subtraction that way, we realize the |
| button or pulling a knob. We could picture such a | | | | way you undo adding 2 is to subtract 2. So the |
| machine this way. | | | | Un-Add 2 machine is the Subtract 2 machine and |
| | | | | feeding 23 into the subtract 2 machine gives us |
| There is no problem to extending the notion of | | | | the answer 21. After a few more problems we |
| input/output machine to allow multiple inputs. | | | | realize that the way you undo adding any number |
| There is also no problem allowing input/output | | | | is by subtracting that number. In mathematical |
| machines to have more than one output. For | | | | terms addition of a number and subtraction of |
| example, we might have an additional output for | | | | that number are inverse operations. In the same |
| change. | | | | way we can discover that division by a number is |
| | | | | the unmachine for multiplication by the number |
| A factory is another example of a kind of input | | | | and thus we can solve problems like the one we |
| output machine. The inputs are the raw materials | | | | started with. |
| and the outputs are the finished goods. The | | | | |
| factory below takes cocoa and sugar as inputs | | | | To make things more interesting let's combine |
| and outputs chocolate bars. | | | | multiplication and addition. Suppose the result of |
| | | | multiplying some number by 6 and then adding 14 |
| Of course, an input/output machine needn't be | | | | is 56. What is the number? |
| made of brick or metal. A person baking | | | | |
| cupcakes can be thought of as an input/output | | | | So our problem is how to undo "Times by 6 and |
| machine. The inputs are the ingredients (flour and | | | | then adding 14". After computing the value of |
| so on) and the output is a cupcake. A leaf can be | | | | times by 6 and then adding 14 for some different |
| thought of as an input/output machine that takes | | | | input we realize that a times by 6 and add 14 |
| sunlight, water, and carbon dioxide and outputs | | | | machine can be built by connecting a "Times 6" to |
| sugar and oxygen. An animal can be thought of | | | | an "Add 14" machine. |
| as an input/output machine that takes oxygen | | | | |
| and sugar as input and outputs water and carbon | | | | Now we know that "Divide by 6" undoes "Times |
| dioxide. You can even think of yourself putting on | | | | 6" and "Subtract 14" undoes "Add 14". Is there |
| your shoes and socks as an input/output machine. | | | | some way we can use these unmachines to build |
| The input is you in bare feet, a pair of socks and | | | | an unmachine for the composite? |
| a pair of shoes and the output is you with your | | | | Let's consider a more familiar example: a two |
| socks and shoes on. | | | | stage "dressing machine." As illustrated in the first |
| The really interesting and important thing about | | | | diagram below, the first component puts on my |
| input/output machines is that sometimes you can | | | | underwear and the second component puts on |
| take two or more input/output machines and | | | | my pants and shirt. The second diagram shows |
| connect them together to make a new kind of | | | | the Un-dressing machine. It has two components: |
| input/output machine. As an example, suppose I | | | | one that undoes putting pants and shirt and the |
| sell machines and I've got two kinds of machines. | | | | other undoes putting on underwear. But notice |
| One is a cupcake-making machine that makes | | | | that the order of the unmachines is the reverse |
| cupcakes from mix. The other is a chocolate | | | | of the order of the machines. If the last thing you |
| frosting machine that takes whatever you give it, | | | | did getting dressed was to put on your pants and |
| (dogs, cats, kids, bats, balls, cookies, fruit, | | | | shirt then the first thing you do in getting |
| whatever!) and puts chocolate frosting on it. | | | | undressed is to take off your pants and shirt. |
| | | | |
| | | | |
| One day I get a call from someone who wants a | | | | |
| special machine that makes chocolate frosted | | | | |
| cupcakes. I say, "Well we have a machine that | | | | This is a general principle that works for all input |
| makes cupcakes and we have a machine that | | | | output machines, arithmetical or otherwise. If un-A |
| puts chocolate frosting on things but I don't have | | | | is an unmachine for A and un-B is an un-machine |
| a machine that makes a chocolate frosted | | | | for B then un-B connected to un-A is the |
| cupcake. Maybe the chief machine maker (the | | | | unmachine for A connected to B. This is illustrated |
| CMM) can figure out a way to make one?" The | | | | in the diagram below. An input "x" enters the A-B |
| CMM says, "No problem, we'll take a cupcake | | | | machine where it is first passed through A which |
| maker and a chocolate froster and connect the | | | | generates an output "a" and then "a" is passed |
| output of the cupcake maker to the input of the | | | | through B to produce an output "b." If we then |
| chocolate froster and we'll put the whole thing in a | | | | feed "b" into Un-B-Un-A, "b" is first passed |
| box and call it the Chocolate Frosted Cupcake | | | | through Un-B which must give us "a" back, and |
| Maker." | | | | then "a" is passed through Un-A which must give |
| | | | us "x" back |
| So now I'm selling three machines: my cupcake | | | | |
| maker, my chocolate froster, and my chocolate | | | | |
| frosted cupcake maker. After a while I add a | | | | Thus to undo Times 6 and then Add 14 we first |
| "Cherry Topping" machine to my product line. The | | | | subtract 14, to undo adding 14, and then divide by |
| cherry topper takes whatever you put in and | | | | 6 to undo multiplying by 6. Feeding 56 to this |
| puts a cherry on top. | | | | unmachine we have |
| | | | |
| Things are going along well and then one day I | | | | Indeed, 7 × 6 + 14 = 42 + 14 = 56. |
| get a call from a customer who wants a machine | | | | In this article we have barely scratched the |
| that will make a chocolate frosted cupcake with a | | | | surface of what can be explained at an |
| cherry on top. I don't make one so I go to my | | | | elementary level using concepts based on the |
| chief machine designer. He says, "No problem" and | | | | notion of machine. In addition to using these |
| designs a machine consisting of a chocolate | | | | concepts to prepare students for more advanced |
| frosted cupcake-making machine connected to a | | | | areas like algebra they can be used to provide a |
| cherry-topping machine with a box around the | | | | much deeper understanding of the meaning and |
| whole thing. So the contraption looks like this. | | | | use of numbers and operations on numbers. We |
| | | | will explore these ideas in a future article. |
| The operation of connecting two input/output | | | | |