Unit 16: The historical bug and historical honesty

29 min
DEVELOPMENT REVIEW DEPLOYMENT - NOT READY FOR RELEASE

Video

Media Pending: Unit Video

Intended content: Full narrated video presentation, including visual assets, caption file, and transcript.

Learning purpose: Guides students through debugging Table 1 in Note G (1843).

Planned form & duration: Video, ~6 minutes.

Accessible text alternative: A narrated video presentation covering the unit's written material. The written material below covers the same complete learning path.

A required unit, and the one where this module checks itself. It works through a published error in Note G's table, the module's own mistaken account of that error, and the difference between a claim that is established and one that is merely repeated. The lesson — that a claim's status is part of the claim — is also recorded in course/misconceptions.md entry 12, "Published means true"; this unit is where you do it rather than read it.

Reading time: about 11 minutes. Activity: about 12 minutes. Checkpoint: cp16-note-g. Before this unit: Unit 6 (the Bernoulli numbers and Ada's indexing) and Unit 8 (the verification lab).


How to read the citations on this page

This unit is about the difference between a claim you can stand behind and a claim you have merely heard often. It would be absurd to make that argument sloppily, so every historical statement below carries one of two marks.

Fuller detail on every historical claim is in course/historical-notes.md; this page does not duplicate it.


1. What the document is

In 1843, an English translation of Menabrea's account of Babbage's Analytical Engine was published in the third volume of Taylor's Scientific Memoirs. The translator was Ada Lovelace, and she appended to the translation a series of her own notes, lettered A to G (Menabrea 1843).

Note G is the last and by some distance the longest. It contains a table that sets out, operation by operation, how the engine would compute a Bernoulli number (Menabrea 1843).

The number worked through is the one Lovelace labels B7. Her scheme numbers only the Bernoulli numbers that are not zero, so her labels run ahead of the modern ones:

Lovelace's label modern index
B1 B2
B3 B4
B5 B6
B7 B8

You met this mapping in Unit 6. The values are tabulated in course/historical-notes.md, deliberately not repeated here, because working the value out for yourself is the checkpoint.


2. The claim this module makes

Note G's published table contains at least one error.

That is stated as established. It is recorded, with its supporting material, in course/historical-notes.md.

Read the sentence again and notice how little it says. It does not say where the error is. It does not say what kind of error it is. It does not say whose it was. Everything that sentence leaves out, it leaves out on purpose, and section 3 shows what it took to earn each of the pieces it leaves out.


3. One claim checked, one still refused

You will encounter a specific account of the error, repeated widely and confidently: that one operation in the table has a divisor and a dividend the wrong way round. You will also encounter attributions — to Lovelace, to Babbage, to the compositor who set the type, or to something introduced in translation.

Those are two different claims, and they belong in two different buckets. Which bucket each goes in can change when a check is actually done, and that movement, from "widely repeated" to "checked against the source", is the whole point of the unit.

The description has been checked, and it holds. A facsimile of the printed diagram was examined (recorded as [P2a] in course/references.md). The error is in operation 4, which acts on the variables V₅ and V₄ in that order, while producing its stated result (2n−1)/(2n+1) requires dividing V₄ by V₅. So the operands are inverted, exactly as the common account says. This claim sits in established, not contested — not because it is repeated often, but because the check was actually done, against the source rather than against other accounts. See course/historical-notes.md §4.

The attribution is still refused. Who introduced the slip — the compositor, the translator, Lovelace, Babbage — is not something the table can settle, and the common "it was a typesetting error" is an inference, not a finding. That stays contested. Two related things this module has also not established:

Notice the shape of that. The check that was available got done, and one claim moved. The check that is not available — into who set the type in 1843 — has not, and that claim did not move. The honest position tracks what has actually been verified, not what would read well.

A note on the buckets. Contested does not mean "probably false", and it does not mean "nobody knows anything". It means this module has not satisfied itself that the claim has been checked against the source. Claims move out of this bucket when the check is done. The operand inversion just did; section 6 says what would move the attribution.


4. Why an error like this survives

This is the part that transfers, so it is worth being precise about the mechanism.

An error in a private working notebook gets caught or it does not, and either way it affects one person. The Note G table was in a different position entirely. It was in print. It was in a respected series. It was attached to two names readers had reason to respect. And it concerned a computation that very few readers were ever going to sit down and redo by hand.

Here is the uncomfortable part: every one of those properties reduced the chance that anyone would check it.

That is not a story about careless readers. It is a story about reasonable readers. Attention is finite. Spending it on a source that has already been vouched for, in a venue that has already applied its own scrutiny, is normally the right call. It was the right call in almost every case — and wrong in this one.

An error that arrives inside something already trusted does not have to defeat scrutiny. It only has to arrive somewhere scrutiny has already been withdrawn.

This is not a nineteenth-century problem that modern tooling has solved, and the clearest example is this module's own. Across the web, the Note G table "as printed" is said to compute −25621/630. This module recomputed it, got 139/630, and published that as a refutation. Both figures are reproducible; neither claim was complete. Note G's table carries more than one printed fault: operation 4's inverted division, and operation 24, which as printed omits the sign inversion the computation needs, and it consumes Bernoulli numbers that may be supplied or generated by the routine itself. Those choices give at least four different answers, set out in course/historical-notes.md §4. 139/630 is what you get having repaired operation 24 without saying so; −25621/630 is what you get when the faulty routine feeds its own output back in. Neither the web accounts nor this module had stated which object was being executed.

So the failure is not that someone repeated a wrong number. It is that a confident, checkable-looking claim was made without saying what it was a claim about — inside finished, internally consistent, already-vouched-for accounts, this module's included. The fix is not more care. It is stating the interpretation, then recomputing under it, and treating a bare number with no stated interpretation as unfinished rather than as evidence.


5. Why this is a unit about AI and not about history

Change one variable and hold the rest fixed.

Fluent generated text has the same protective properties. It arrives finished rather than in draft. It is internally consistent, so nothing snags. And it carries no visible seam between the parts that are correct and the parts that are not — the tone does not change, the hedging does not increase, the sentence structure does not wobble.

That last property is the one that matters. A statistically plausible continuation can make an unsupported citation as polished as a correct one. Ordinary style and confidence are therefore insufficient evidence. Some systems can expose sources or calibrated uncertainty signals, but those still need to be checked for the task at hand.

The historical analogy is limited but useful: both readers face a polished claim whose appearance does not establish its source. Modern generation differs in scale, speed, variability, and the possibility of attached retrieval or tools.


6. The skill: three buckets

The response is not scepticism. Blanket scepticism is as useless as blanket trust and far more exhausting; a person who doubts everything checks nothing, because they have no way to decide where to spend the effort.

The response is sorting. Put every claim in front of you into one of three buckets.

Established. You can name where it comes from, and the source is one that you, or someone accountable to you, has actually looked at. Not "I have seen this asserted" — "here is the thing I looked at".

Contested. Sources disagree with each other, or a single account has been copied forward through many retellings without an independent check behind it. Repetition is not corroboration. Ten sources that all trace back to one unchecked account are one source.

Unsourced. You cannot currently say where the claim came from. This is not the same as false, and treating it as false is its own error. It is a claim with no weight yet.

A schematic showing three buckets: Established, Contested, and Unsourced. A claim stating "Note G has an error" moves into Established. Another claim stating "Ada made the error" moves into Contested.

Most claims that go wrong go wrong at the filing stage: something from bucket two or three gets quietly recorded as bucket one, and thereafter is repeated with the confidence appropriate to bucket one. That misfiling is recorded as a named expected error — course/misconceptions.md entry 12, "Published means true" — so the module carries it whether or not you work through this unit.

The second half of the sorting habit is knowing what would move a claim. A claim you cannot say that about is one you have not really thought about. For the Note G error, the movers are concrete:

That last group is unsourced: what manuscript material exists, and where it is held, is recorded as an open question in course/historical-notes.md.


7. What this looks like when you write

Three sentences, on the same subject, at three different strengths.

The third sentence is the most readable of the three. That is exactly why it is the dangerous one. Confident prose is easier to write and easier to read than careful prose, and generated text defaults to it, because that is the register most text is written in.

When you write up your own work, prefer the shorter, more careful sentence over the longer, more confident one.


A note on the general case

The three buckets are not a probability scale. "Contested" does not mean "roughly half likely to be true"; it is a statement about the state of the record and about the authority available to settle the claim, which is a different kind of uncertainty from a probability and does not behave like one. Some claims exceed what any currently available source can decide, and reporting that is the correct output rather than a failure to produce one. That distinction has a general form, set out in course/second-order.md, which the module's closing Unit 18 teaches from; nothing on this page, in the activity, or in cp16-note-g depends on it, and Unit 18 in turn does not assume you have read this one.


Checkpoint

cp16-note-g asks you to state the value Note G's example should produce, from the oracle and the Unit 6 mapping, before comparing it with anything historical. Work through the activity first, then:

python3 selfcheck.py run cp16-note-g  # or in the browser

Both routes ask the same question and accept the same answers. Neither is a fallback for the other.

Where to look next

Timings: video 6 min, reading 11 min, activity 12 min.

Check yourself

This unit has one checkpoint, answered here. A wrong answer says which misunderstanding it matches. Nothing is uploaded.

Local progress is available in a supported browser.

Manage or delete this record

Prefer a terminal?

The same questions, from course/lab/:

python3 selfcheck.py run --unit 16

Your progress, and every checkpoint in the module