Live data from Hacker News

Numbering should start at zero (1982)

cs.utexas.edu

261–270 of 309 posts

Re: Numbering should start at zero (1982)

#261
post #11

I found it devastating that there are no distinct agreed-upon words denoting zero- and one-based addressing. Initially I thought that the word "index" clearly denotes zero-base, and for one-base there is "order", "position", "rank" or some other word, but after rather painful and humiliating research I stood corrected. ("Index" is really used in both meanings, and without prior knowledge of the context, there is real…

"offset" and "ordinal".

Re: Numbering should start at zero (1982)

#262
post #260

Earlier quoted context omitted.

I think I’m missing something here. PA defines x * 0 = 0 for all x. So while we could take (Z+, 1, ++) as a model of it, we would be imposing a completely different definition of multiplication than the usual. Would this not be simply choosing to label 1 as 0 and work from there?

> I think I’m missing something here. PA defines x * 0 = 0 for all x. So while we could take (Z+, 1, ++) as a model of it, we would be imposing a completely different definition of multiplication than the usual. Would this not be simply choosing to label 1 as 0 and work from there? Despite the name, in the usual mathematical meaning of the term, Peano arithmetic does not define arithmetic at all, only the successor o…

Sorry, but that’s incorrect. Multiplication is defined in the Peano axioms, in terms of S(x).

2 of the axioms are:

1. For all x, x*0 = 0

2. For all x, y: x*S(y) = x*y + y

Re: Numbering should start at zero (1982)

#263
post #260

Earlier quoted context omitted.

> I think I’m missing something here. PA defines x * 0 = 0 for all x. So while we could take (Z+, 1, ++) as a model of it, we would be imposing a completely different definition of multiplication than the usual. Would this not be simply choosing to label 1 as 0 and work from there? Despite the name, in the usual mathematical meaning of the term, Peano arithmetic does not define arithmetic at all, only the successor o…

Sorry, but that’s incorrect. Multiplication is defined in the Peano axioms, in terms of S(x). 2 of the axioms are: 1. For all x, x*0 = 0 2. For all x, y: x*S(y) = x*y + y

In the usual terminology, these are not axioms; as your wording itself says, they are definitions. (Indeed, I'd argue that it's almost ungrammatical to say something is "defined in the axioms"; axioms may, and probably must, be stated in terms of definitions, but the definitions are not themselves axioms.) As I say, one can quibble about terminology, since what's important is less what's axiom and what's definition, and more what we can build on top of both; but the usual mathematical presentation separates out the axioms (numbered 1–9 at https://en.wikipedia.org/wiki/Peano_axioms#Historical_second..., though things like 2–5 wouldn't usually be stated as an axiom of the theory but rather of the ambient logic) from the definitions (see https://en.wikipedia.org/wiki/Peano_axioms#Defining_arithmet...).

(Now having written that and looking back, I see that, in my previous post https://news.ycombinator.com/item?id=43442074, I wrote "Despite the name, in the usual mathematical meaning of the term, Peano arithmetic does not define arithmetic at all, only the successor operation, and everything else is built from there." Perhaps this infelicitious-to-the-point-of-wrong wording of mine is the source of our difference? I meant to say that Peano arithmetic does not axiomatize arithmetic at all, but that arithmetic can be defined from the axioms. Thus the specific definition x[pt] = [pt] is eminently sensible if we consider the distinguished point [pt] to be playing the usual role of 0; but the definition x[pt] = x is also sensible if we consider it to be playing the usual role of 1, and even things like x[pt] = x + x + x + x + x can be tolerated if we think of [pt] as standing for 5, say. The axioms cannot distinguish among these options, because the axioms say nothing about multiplication.)

Re: Numbering should start at zero (1982)

#264
post #263

Earlier quoted context omitted.

Sorry, but that’s incorrect. Multiplication is defined in the Peano axioms, in terms of S(x). 2 of the axioms are: 1. For all x, x*0 = 0 2. For all x, y: x*S(y) = x*y + y

In the usual terminology, these are not axioms; as your wording itself says, they are definitions. (Indeed, I'd argue that it's almost ungrammatical to say something is "defined in the axioms"; axioms may, and probably must, be stated in terms of definitions, but the definitions are not themselves axioms.) As I say, one can quibble about terminology, since what's important is less what's axiom and what's definition,…

No, they are axioms. Peano arithmetic itself is a first-order theory, and a theory is just a recursively enumerable set of axioms.

Enderton, “A Mathematical Introduction to Logic, 2nd Ed.”, p,203,269-270

Kleene, “Mathematical Logic”, p.206

EDIT: It seems like you're talking about Peano's original historical formulation of arithmetic? That's all well and good but it is categorically not what is meant by "Peano Arithmetic" in any modern context. I've provided two citations from pretty far apart in time editions of common logic texts (well, "Mathematical Logic" is a bit of a weird book, but Kleene is certainly an authority) and I hope that demonstrates this.

There's a lot of reasons that the theory is pretty much always discussed as a first-order theory. The biggest, of course, is that when taken as a first-order theory it fits neatly into the proof and statement of Godel's Incompleteness Theorems, but iiuc it's just generally much less useful in a model theoretic context to take it as a second order theory (to the point where I only ever saw this discussed as a historical note, not as a mathematical one).

EDIT 2: This is all a digression anyway. Both first- and second-order PA label the start of the Z-chain as 0; so any model of PA contains 0 when interpreted as a model of PA.

Re: Numbering should start at zero (1982)

#265

Earlier quoted context omitted.

I don't know of evidence that he did. But Dijkstra left us a famous quote: "LISP has jokingly been described as “the most intelligent way to misuse a computer”. I think that description a great compliment because it transmits the full flavour of liberation: it has assisted a number of our most gifted fellow humans in thinking previously impossible thoughts." This is obviously a compliment; it even mentions that word.…

"I must confess that I was very slow on appreciating LISP’s merits. My first introduction was via a paper that defined the semantics of LISP in terms of LISP, I did not see how that could make sense, I rejected the paper and LISP with it." https://www.cs.utexas.edu/~EWD/transcriptions/EWD12xx/EWD128...

Even McCarthy initially rejected the idea that the Lisp-in-Lisp specification could simply be translated into working code so that an interpreter pops out; at first he thought Steve Russel was misunderstanding something.

Re: Numbering should start at zero (1982)

#266

Earlier quoted context omitted.

Why do you write “you” as “u” here? I don’t want to be rude, but it’s very jarring to see juvenile txt-speak in a serious discussion.

maybe on a mobile?

I've never understood the universal acceptance of poor writing on mobile; everyone immediately throws their hands up and goes ahhh okay that makes sense then.

If only smartphones had some means of seeing the typed output... a screen perhaps? Icing on the cake would be some kind of backspace button, which together would enable proofreading! You know, like in other forms of written communication.

Basically everyone will insist it's entirely to be blamed on the phone, and we're expected to believe that no, really, the moment they sit at a physical keyboard they reliably distinguish your from you're etc.

Re: Numbering should start at zero (1982)

#268

Numbering should start at π (2025) (umars.edu) Seriously, it all depends on whether u're counting the items themselves (1-based) or the spaces btwn them (0-based). The former uses natural numbers, while the latter uses non-negative integers For instance, when dealing with memory words, do u address the word itself or its starting location (the first byte)? The same consideration applies to coordinate systems: r u pos…

Actually, the duality arises from counting (there can be 0 items) and ordering (there is only a 1st item), conceptually. Which is why the year 2000 can and cannot be the start of the 3rd millenium, for instance.

Dates and times are prime examples of modular systems that make the most sense when they start at 0. but most commonly start at 1. Think how stupid it is that the day start at 12 hours then goes back to 1 hour, at least 24 hour clocks do away with this absurdity.

My personal take is that we should not let one short sighted decision 1500 years ago to mess us up and the first century covers from years 0 to 99 and the 21 century 2000 to 2099

https://madeofrome.com/how-was-it-made/how-did-we-choose-the...

I have a database where I tried keeping once per year periodic events(like birthdays or holidays) as postgres intervals, so number_of_months:number_of_days_in_month past start of year or effectively 0 based month-day. this looks weird but solved so many calculation problems I kept it and just convert to more normal 1 based on display. and a shout out to postgres intervals, they do a heroic job at tracking months, a thankless job to program I am sure.

Re: Numbering should start at zero (1982)

#269

In France, street-level is the 0th floor, and the one above is the first floor. You see zero in elevators all the time.

Same in Germany, just that we usually call it ground floor instead of 0th floor. You could argue it's a bit of a translation error. The French and German words for floor are referring to ways to add platforms above ground. Either by referring to walls, wooden columns or floor joists. Over the course of language evolution those words have both broadened and specialized, referring to building levels in general. But the…

A good observation that explains everything!

Re: Numbering should start at zero (1982)

#270

Numbering should start at π (2025) (umars.edu) Seriously, it all depends on whether u're counting the items themselves (1-based) or the spaces btwn them (0-based). The former uses natural numbers, while the latter uses non-negative integers For instance, when dealing with memory words, do u address the word itself or its starting location (the first byte)? The same consideration applies to coordinate systems: r u pos…

Actually, the duality arises from counting (there can be 0 items) and ordering (there is only a 1st item), conceptually. Which is why the year 2000 can and cannot be the start of the 3rd millenium, for instance.

Can you elaborate? What duality, and how?
Post reply on HN