Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I've been teaching my 5 year old multiplication and division for the last couple of weeks. I'm at a loss how you would teach it without explaining that it is repeated addition.

For example, the other day I asked her how many fingers and toes the three kids at the table had, and she came up with "20 fingers and toes each times 3 kids means there are 60 fingers and toes." I think the units are intuitive in most cases and all of the more advanced concepts the author (and the related articles) discuss can be taught later.




You start by teaching rings, duh.

But seriously, her first objection is

> To define multiplication as repeated addition is to make multiplication a sub-species of addition.

To me, that means the author is wrong from the get-go. Not all cases of multiplication might be easily seen as repeated addition, but to get hung up on a deliberate linguistic misunderstanding? And to add insult to injury, she finishes by proposing to see multiplication as the answer to "how many or how much OF the unit", and shows a diagram with _repeating_ units.

Oh, never mind, the answer is at the end: she's got books to sell, and probably tries to improve her sales by appealing to parents with children that can't multiply 83 by 17 when they're 8.


> I'm at a loss how you would teach it without explaining that it is repeated addition.

How much will they later have to unlearn when they find out about other kinds of numbers for which multiplication is not repeated addition?

Quite possibly the same approach won't work for all children; some will be better served by telling them multiplication is repeated addition at first, and then later explaining that it isn't always, it only is for whole numbers. Others might be better served by telling them up front that multiplication is a separate operation, but can be "emulated" for whole numbers by repeated addition. (As a child I was in the latter group; I hated it when teachers told me one thing in one grade, and then said "well, what you were taught before isn't actually correct..." in a later grade. How many more times would they change the rules?)


The approach you describe definitely does not work for all children. The vast majority (that I've taught) are better served by a scaffold of increasingly complex metaphors and definitions. The fact that the metaphor of repeated addition wears thin actually highlights the idea that different sets of mathematical objects have different operators for most students in a way that just telling them that ahead of time does not.

The changing of the rules is good preparation for scientific study where our understanding actually changes over time and we have to internalize new models regularly. I taught my chemistry students that quarks only combine in pairs or triplets, until one year Fermilab released evidence that quarks combine in quartets and quintets while I was teaching the unit. How could I avoid telling my students that what I'd taught them before was incorrect? Literally no one knew. So the practice of revising our ideas has utility.


Maybe I've been doing too much computer-assisted proofs recently, but I'm not understanding what all the fuss is. At some point you need a `Nat.mul` that's concretely defined, and probably the only reasonable definition is recursively using repeated addition (and if your natural numbers are in unary, which is theoretically the simplest, then even `Nat.add` is going to be defined recursively by repeated incrementing! like taking a bead from a pile one at a time and putting it into another).

Then you can define an interface with abstract operations like addition and subtraction, then any given number system can try to implement this interface. Naturals, integers, rationals, reals, polynomials, rational functions, complex numbers, and many others can implement at least the semiring interface. But what's important, I think, is that there's no universal multiplication operation -- it's just a word that fills in for whatever is the right multiplication operation at the moment. It's some ad-hoc polymorphism.

Unless you're accepting the real line as being axiomatic (maybe from geometry, where you can define all the basic operations using ruler-and-compass constructions), all the definitions of multiplication for all the above number systems are going to be, eventually, based on the one for the naturals.


> At some point you need a `Nat.mul` that's concretely defined

And since your computer can only perform finite operations on numbers with a finite bit size, which means operations on a set of numbers isomorphic to the integers, then yes, repeated addition works fine for your concrete implementation.

But that's not at all the same as saying that multiplication is repeated addition, without any qualification whatsoever. The latter claim is the claim I'm arguing against.

> Unless you're accepting the real line as being axiomatic

Your computer can't manipulate real numbers. It can only implement finite operations on numbers with a finite bit size, which, as above, is a set of numbers isomorphic to the integers. So if you want to work with the real numbers themselves, abstractly, then you can't expect what the computer does to carry over.


My computer can manipulate and prove things about real numbers just fine. I think it can do at least everything I can do normally, though much more laboriously.

What I was mostly responding to in your previous comment is the idea of "emulating" multiplication for whole numbers by repeated addition. What I got from that is that you were thinking of the whole numbers as being inside the real numbers. My point was that to get the real numbers you usually have to start with the whole numbers and build up to the reals (say by Dedekind cuts or Cauchy sequences), and then you can embed the whole numbers inside and pretend that that was where they were the whole time.

I do get that you were giving different pedagogical approaches, and this was just one of them, but I think this one is at least as bad of a misrepresentation as saying "multiplication is repeated addition" without specifying "for whole numbers." That is, unless you're like the Greek geometers and accept a continuum from the start.

(There are other number systems that the integers sit inside, though, that don't themselves sit inside the real or complex numbers, which is a reason I would hesitate to think about whole numbers this way in general.)


> My computer can manipulate and prove things about real numbers just fine.

If you mean it can, with appropriate software, do symbolic manipulations of general formulas that are valid for real numbers, yes, of course. But that's not the same as doing specific concrete computations with them.

> What I was mostly responding to in your previous comment is the idea of "emulating" multiplication for whole numbers by repeated addition. What I got from that is that you were thinking of the whole numbers as being inside the real numbers. My point was that to get the real numbers you usually have to start with the whole numbers and build up to the reals (say by Dedekind cuts or Cauchy sequences)

Ah, I see. As far as I know the axiomatic reasoning involved can go either way. But in any case, that wasn't what I was trying to get at with the term "emulating"; I'm sorry if my use of that term caused confusion, and I agree with you that telling a child something like "the whole numbers are inside the real numbers" without qualification would also be a misrepresentation. My point was simply that teaching a child a specific computational procedure, repeated addition, in order to get an answer to particular multiplication problems does not require telling the child that multiplication is repeated addition, without qualification. The two things are distinct, and I am fine with the former; I only object to the latter.


> If you mean it can, with appropriate software, do symbolic manipulations of general formulas that are valid for real numbers, yes, of course. But that's not the same as doing specific concrete computations with them.

No, I don't mean computer algebra systems, if that's what you mean. In something like Lean, you can set up an actual construction of the system of real numbers (in mathlib it's the Cauchy completion of the rationals, which in turn are a given by a numerator and positive nonzero denominator that are coprime; an integer is essentially a natural number and a sign bit, and natural numbers are inductively constructed from zero and taking successors). Maybe this will convince you that these are "the" real numbers: you can prove there are uncountably many of them, and more importantly that it is the unique complete ordered field (up to isomorphism).


> In something like Lean, you can set up an actual construction of the system of real numbers

I'm not familiar with Lean, but from what I can gather, it's a theorem proving system. That is included in what I was referring to. Proving general theorems is still not the same as doing specific concrete computations.


Yes, it's a theorem proving system, and it's based on foundations that are powerful enough to represent all of (formal) math. Including something like Lean excludes math itself from being able to do "specific concrete computations," which is absurd.

Here are some examples to give you an idea of concrete calculations. Lean is not a CAS, so it needs some help in the form of tactic proofs (which are unreadable without an IDE, but their structure sort of mirrors work you'd do on paper):

  import data.real.basic
  import data.real.sqrt
  import tactic

  -- that 2^2 - 2 = 0
  example : (real.sqrt 2)^2 - 2 = 0
  := by norm_num

  -- that if x solves x^2 - 2x + 1, then x = 1.
  example (x : ℝ) (h : x^2 - 2*x + 1 = 0) : x = 1
  := begin
    have : x^2 - 2*x + 1 = (x - 1)*(x - 1), ring,
    rw this at h,
    cases eq_zero_or_eq_zero_of_mul_eq_zero h with h' h',
    repeat {
      convert_to x - 1 + 1 = 1,
      norm_num,
      rw h',
      norm_num,
    },
  end
These were just some quick examples, but what I'm trying to show you is that in Lean you are working with the real numbers. They're just as real as the ones defined in a real analysis textbook, maybe moreso. They're just more tedious to deal with because the computer needs every calculation to come with some sort of proof of correctness, which thankfully can be filled in automatically sometimes with tactics like norm_num.

(A meta-comment: I'm not sure why if you're not familiar with Lean you'd tell me what it can and cannot do. Maybe someone told you at some point "theorem prover systems prove general theorems" or "theorem provers can only prove things about computable reals" and you had no reason to believe that they weren't telling you the whole story? Don't take this too seriously, I'm just riffing on your original point.)

p.s. Looking back to the beginning of this thread, I realize my saying "I'm not understanding what all the fuss is" could be misinterpreted -- I didn't meant to refer to you in particular. This was meant to be in the context of all the comments and the original article, and somehow I ended up replying to yours. Maybe one thing that caught my eye was the idea that there was much to unlearn here, but I ended up not addressing that point because I didn't have anything cogent to say. I think the sibling comment put it well, that there's value in learning to unlearn.


Lego is a great tool for this.

I also taught prime numbers by handing out (round) 1x1 pieces and told him to figure out which ones could be made into squares.

The teacher was surprised when - in the middle of a more convoluted explanation for primes - he just said "primes are numbers that can't be arranged as rectangles".


*rectangles (hopefully)


You can teach (some intuition for) multiplication without numbers by multiplying lengths to get areas. Then show e.g. how the number of seats in a theater is the number of seats in a row * the number of rows.

Let the school teacher press the algorithms on him, teach him your hacker's sense of wonder.


> Then show e.g. how the number of seats in a theater is the number of seats in a row * the number of rows.

How do you do that without adding up the number of seats in the rows or columns (ie repeated addition)?


Using a calculator.

Not a troll: the ability to compute products and the idea that (horizontal length) times (vertical length) = (area) are different things.


So teaching multiplication ends up as "whatever the calculator does when I press this button"?


Having been teaching programming I can see an immediate problem with it, whilst it works great as a starter tying it too hard in the mind will require more un-doing when it comes to more advanced concepts where it isn't an appropriate level.

On the other hand knowing the relation is a good hint at how to explain exponentiation.

In the end teachers should be aware of what will be needed at higher grades to use tools such as it as a starting point but not ingrain it too much and try to push students onto thinking of multiplication as it's own functional primitive once they get the hang of basic tables and start moving on to long multiplication.


I tend to think of multiplication as a transformation. "repeated additional" almost makes it sounds like we're merely telescoping an interval within a single dimension. Whereas "transformation" (to me), evokes more of a Cartesian Product or Quadrature sort of mental image.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: