The phrase "Hilbert scheme" came up in thread X, while thread Y mentioned some mathematically interesting aspects of "casting out nines". Naturally this reminded me of an occurence of homological algebra in the daily life of third graders. I am accordingly reposting for your reading pleasure a classic threepart sci.math post by james dolan (this version is itself a repost of the still earlier post):
From: *** (james dolan)
Newsgroups: sci.math
Subject: carrying, part 1 (repost)
Date: 19 Jan 1994 20:10:30 0800
Organization: fair play for neptune committee
[part 1 of n]
in another thread, i wrote:
>ron maimon wrote:
>
>>Well, I don't remember when I was six, but I remember when I first
>>understood a mathematical concept. I was on a school bus, I was 10
>>years old, and I finally understood why you carry a "1" when you do
>>addition. I mean, I _really_ understood why. I remember most of my
>
>
>well, i'm impressed. i was well into my thirties before i realized
>that the "carry digit" function is the premier example of a
>2cocycle.
some people have asked me to elaborate on this, so i will try to do
so, particularly since it ties in somewhat with questions tim chow has
been asking about homological algebra lately.
first of all, what do i mean by the "carry digit" function here?
well, the binary operation of addition of singledigit numbers gives
as output a number with two digits: the "ones" (or "least
significant") digit, and the "tens" (or "most significant") digit.
doing the case of base five so as to keep the table small, for
example, here is the addition table you get:
0 1 2 3 4
_______________

0  00 01 02 03 04

1  01 02 03 04 10

2  02 03 04 10 11

3  03 04 10 11 12

4  04 10 11 12 13
it turns out to be interesting, from the utmost practical point of
view (for example in the implementation of arithmetic on computers)
just as well as from the utmost theoretical point of view, to break up
this doubledigitnumbervalued function into two
singledigitnumbervalued functions. focussing on just the "ones"
digit, we get the wellknown operation of "addition of integers modulo
the multiples of five":
0 1 2 3 4
_______________

0  0 1 2 3 4

1  1 2 3 4 0

2  2 3 4 0 1

3  3 4 0 1 2

4  4 0 1 2 3
focussing on just the "tens" digit, on the other hand, we get the equally
important but less remarked upon "carry digit" operation:
0 1 2 3 4
_______________

0  0 0 0 0 0

1  0 0 0 0 1

2  0 0 0 1 1

3  0 0 1 1 1

4  0 1 1 1 1
so what is going on here? let's note the following particular features
of the situation:
1. we have a "big" group (the group of twodigit numbers, under the
operation of addition modulo the multiples of 100), and two "small"
groups (the "tens" group {00,10,20,30,40} and the "ones" group
{0,1,2,3,4}). the big group can be thought of as "built out of" the
two small groups, but in a slightly tricky way that makes crucial use
of the carry digit function, and that has the "ones" group and the
"tens" group playing sharply contrasting roles.
(be careful to note that the word "group" here is being used in its
technical mathematical sense, meaning a set equipped with a certain
sort of binary operation into itself, which in all the cases we're
interested in here is more or less just the binary operation of
addition.)
2. the "tens" group can be thought of as a "subgroup" of the big
group. that is, the elements 00, 10, 20, 30, 40 of the "tens" group
add together in the big group just the same way they add together
among themselves.
the "ones" group, on the other hand, can _not_ be thought of as a
subgroup of the big group. that is, the elements 0, 1, 2, 3, 4 of the
"ones" group add together very differently depending on whether they
are thought of as belonging to the big group or as forming a small
group all by themselves. for example 4+4 = 13 using the addition
operation in the big group, which is different from the answer 4+4 = 3
that you get in the small "ones" group.
3. the "ones" group can be thought of as a "quotient group" of the big
group. that is, the "ones" group can be thought of as the big group,
"modulo" the subgroup consisting of the multiples of 10. that is, if i
pick a pair x, y of twodigit numbers, but i only tell you the "ones"
digit of x and the "ones" digit of y, then you can tell me the "ones"
digit of x+y. that is, the "ones" digit of the sum x+y _depends only
upon_ the "ones" digits of x and y; the "tens" digits are completely
irrelevant if all you care about are the "ones" digits.
the "tens" group, on the other hand, can _not_ be thought of as a
quotient group of the big group. that is, if i pick a pair x, y of
twodigit numbers, but i only tell you the "tens" digits of x and the
"tens" digit of y, then you _can't_ in general tell me the "tens"
digit of x+y. the best you can do is to ask me: "it all _depends_
when you added the "ones" digits together what was the carry digit
produced?". for example, 11+12 = 23, whereas 14+14 = 33; you can't
figure out the "tens" digit of x+y without having a peek over at the
"ones" digits of x and y. that is, the "tens" digit of the sum x+y
does _not_ depend only upon the "tens" digits of x and y; it depends
also upon the carry digit produced by the "ones" digits of x and y.
those are the basic ingredients of the situation, which is, for some
reason, known as "expressing the big group of doubledigit numbers as
an extension of the quotient group {0,1,2,3,4} by the subgroup
{00,10,20,30,40}". besides the addition tables for the addition
operations in the two small groups q={0,1,2,3,4} and
s={00,10,20,30,40}, the basic data that you need to build the addition
table for the big group is the carry digit function, which is a
function with two inputs both of type q and one output of type s,
represented in standard "arrow" notation as:
q x q > s
then, thinking of a twodigit number as a pair (s1,q1), the formula for
the sum of (s1,q1) and (s2,q2) is (s1+s2+carry(q1,q2),q1+q2).
essentially this same formula can be used with many different
"carrydigit functions". the technical name for such a "carrydigit
function" is "2cocycle" (or more specifically, "2cocycle on the
group q with coefficients in the group s"). 2cocycles by definition
satisfy certain simple algebraic laws that guarantee that the
resulting "big group" is in fact a genuine group extending the
quotient group q by the subgroup s. different 2cocycles can result
in fundamentally different big groups, but sometimes there are
interesting relationships between the resulting big groups.
as long as the situation is viewed as one of pure algebra, however,
much about it must appear mysterious and arbitrary. in order to
understand the really most important reasons why 2cocycles (and their
relatives the "ncocycles", for other natural numbers n) are
interesting, you have to learn about what at first may seem like a
completely unrelated branch of mathematics: topology.
(notice that i am essentially repeating here the message conveyed by
john baez in a recent reply to tim chow: that the secret weapon to use
in understanding even the most algebraic manifestations of
"homological algebra" is an understanding of the conceptual origin of
homological algebra in problems of topology.)
[this concludes part 1; in part 2 i hope to begin to explain how in
the world the phenomenon of "extensions of groups" actually has
anything to do with topology.]