← Module hub · Self-check · Your local record

Unit 7: The historical bug and historical honesty

Draft Item 2: What A Language Model Does Differently Item 4: Ask AI To Generate The Routine Item 7: The Historical Bug And Historical Honesty *(optional)* 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.

Production state: Draft (awaiting final audio/video assembly and YouTube upload).

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

Watch what changes

Two number lines run across the frame, one above the other. The upper line is modern Bernoulli indexing: B0 = 1, B1 = -1/2, B2 = 1/6, B3 = 0, B4 = -1/30, B5 = 0, B6 = 1/42, B7 = 0, and B8 is withheld. The lower line begins as an exact copy, aligned index for index. Then the lower line changes. The three zero terms at B3, B5 and B7 fall away, each marked with the word 'zero', because Note G numbers only the non-zero terms. The first two terms, 1 and -1/2, fall away too, marked 'not numbered in Note G', because Note G's numbering begins at 1/6. Four terms remain: 1/6, -1/30, 1/42 and one withheld. They are then renumbered as Ada's B1, B3, B5 and B7, and the labels visibly slide one place to the right as they arrive, so the two lines are no longer in step. The animation ends with Ada's B7 highlighted directly beneath the modern B8, and the statement that Note G computes Ada's B7, which is the modern B8: the same symbol, two different terms, because the modern B7 is 0.

This unit is optional and it is not part of the module's core path. It sits outside the 2.5–4 hour core time budget, and its checkpoint cp07-note-g is an optional checkpoint. A learner who skips this unit has still completed the module: nothing in the core path depends on this page for a checkpoint, an activity, or a definition. The lesson it works through at length — that a claim's status is part of the claim — is also recorded in course/misconceptions.md entry 12, "Published means true", which is where the core path carries it.

Reading time: about 11 minutes. Activity: about 12 minutes. Course items: 2, 4, and light 7. Checkpoint: cp07-note-g (optional). Before this unit: Unit 3 (the Bernoulli numbers and Ada's indexing) and Unit 5 (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 3. 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. Take this module's own verified example. Across the web, the as-printed Note G table is confidently said to compute −25621/630 — a figure that appears in no scholarly source this module has found. Nor does it survive recomputation: tracing the as-printed operations, inversion and all, gives 139/630 (course/historical-notes.md §4). The figure has survived exactly as Note G's error did — repeated inside finished, internally consistent, already-vouched-for accounts — because being published and repeated is not the same as being checked. The fix was not more care; it was a check that recomputes the number from the source and fails if the two disagree. The mechanism is two centuries old; so is the remedy.


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.

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: a facsimile or a physical copy of the 1843 printing; a comparison across separate print runs or later editions, if they differ; surviving manuscript or correspondence material from the period; and a published study that states which copy it worked from (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 9 teaches from; nothing on this page, in the activity, or in cp07-note-g depends on it, and Unit 9 in turn does not assume you have read this one.


Checkpoint

cp07-note-g is an optional checkpoint: it belongs to this unit, it gates nothing, and no other unit requires it. Work through activity.md first, then:

python3 selfcheck.py run cp07-note-g     # or use the browser self-check

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

Where to look next

Work through it

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

Check yourself

This unit has one checkpoint. Both routes ask the same questions and accept the same answers — use whichever suits you.

In a terminal, from course/lab/:

python3 selfcheck.py run --unit 7

Your local record

Local progress is available in a supported browser.

Before this unit