A distributional broadsheet Indus Valley Civilisation
2,543 artefacts
11,135 sign tokens
515 identifiable signs
41 rounds of testing

Indus Valley script analysis

I put forty-one hypotheses about the Indus script to the corpus itself, and once position, site and object class were held fixed most of them fell apart. What survived is a short list that has since held up against every control, replication split and draw of transcription noise I could think to apply.

This is not a decipherment

The twenty-four most frequent signs in the corpus, commonest first. Sign 740, which closes more texts than any other, leads them, and past the end of this line the tail runs to hundreds of signs carrying fewer than twenty tokens each.

What survived

Eleven results that cleared every control

Every one of these is a distribution rather than a meaning, arrived at by holding position, site and object class fixed inside each null, collapsing duplicated texts before anything gets counted, and then re-running each headline 300 times through a noise model built from the disagreement between two independent digitizers.

Texts end in a fixed cohort

Seven signs close 1,179 of the 2,086 texts where a shuffle that keeps every sign in a position it actually occupies predicts only 400, and within that cohort signs 740 and 520 turn up together just six times against 27.7 expected, which makes that pair the one exclusion still standing after every control I have.

finality z = +47.5 · pair z = −5.45

The ending floats, but only one step

Whenever 400 or 90 follows it the whole construction slides one place to the left, so the paradigm floats rather than being nailed to the final position, and behind it there is nothing further to find: of 33 candidate exclusions at −2, not one survives correction.

−2 cohort: 0 of 33 exclusions after BH

A text never reuses a sign

Repetition sits far below what the exact-position, site- and object-matched control predicts, and because it is the most reliable fact in the corpus it also explains why positional statistics keep working here while sequence statistics dissolve into noise.

z = −14.85 · noise 95% −14.17 to −10.03

Seals and tablets fill the last field differently

The two media draw on one inventory and one slot layout and then part company at the end, where tablets append 400 in a way seals mostly do not, and where seals carry numerals nearly twice as often as tablets do.

p = 1e−14

One form across the civilisation

Seal endings at Mohenjo-daro and Harappa cannot be told apart statistically, and since the smaller towns follow the same template as well, the only genuinely local practice anywhere in the corpus turns out to be Harappa’s tablets.

p = 0.98

Stroke signs are numerals, and twelve is a spike

Counted off the rendered glyphs rather than inferred from the database ids, the values run from one to nine with an ordinary decay and then jump at twelve, where sign 55 carries 37 deduplicated tokens against the 0.9 that the decay through four to nine predicts.

Poisson p = 1.4e−45

Numeral side is sign-specific

Pooled across the corpus the order comes out at nearly one to one, which hid the structure completely, and yet fifteen of the 37 eligible signs turn out to be at least 90% one-sided against 0.01 expected, with that overdispersion holding through every control and every noise draw.

controlled z = +16.09

Dependence reaches distance four

Measured against a surrogate that preserves every observed bigram exactly, mutual information stays above the null at separations of two, three and four signs before fading at five and vanishing at six, which leaves the corpus with real middle-distance dependency that is nonetheless dominated by local order.

excess 0.052 to 0.078 bits, BH corrected

The four headlines replicate

Repeat avoidance, the 740/520 exclusion, terminal concentration and numeral-side overdispersion all hold in random halves and in disjoint site halves where no site appears on both sides, and all four sit well outside nulls built by destroying the very pairing the pipeline goes looking for.

exploratory paradigm scan FPR = 7.1%

The inventory is not saturated

Removing the twelve database markers for unidentified signs leaves 515 identifiable types, but the estimators that key on singletons put the real total closer to 700, and since the accumulation curve has not turned over yet, more data will go on adding types as well as tokens.

Chao1 ≈ 715 · ACE ≈ 695

Copies are mostly local production

Of the 250 sequence types that recur, producing 684 attestations beyond the first, 84.4% are simply another copy made where the text already sat, though circulation is not negligible either, since 35% of the repeated types reach somewhere between two and four sites.

577 local · 107 new-site attestations

House rules

Six rules, five of them adopted after something went wrong

Almost every rule below was adopted after something went wrong and most of them carry a body count, so they are listed in the order the mistakes happened rather than in any tidier arrangement.

01

Epigraphy only

The source database ships a Sanskrit decipherment that its own field rejects, so I took the epigraphic layer and nothing else: which signs appear, in what order, on which object.

02

Deduplicate first

Mass-produced tablets repeat a single text dozens of times, and left in they manufacture significance out of nothing, which is why this rule cost 25 sign–motif findings on the day it went in.

03

Control for position

If one sign prefers the start of a text and another prefers the end, then ordering between them comes for free without meaning anything, so every null here shuffles inside exact positions.

04

Control for site and object class

Two signs from different cities never meet for reasons that have nothing to do with grammar, and since medium and city are very nearly the same variable in this corpus, both have to be held fixed at once.

05

Define groups before you look at the outcome

Sorting signs by the behaviour you are about to test guarantees a result and teaches you nothing, which is how round 21 ended up withdrawing a shape split it had already written down.

06

Report the failures

Everything below is the record as it happened, including the rounds that knocked over earlier headline results of my own.

The ledger

Everything I tried, in the order it happened

Each round came out of the one before it, and when a round overturns something I had already concluded it gets tagged Corrected while the original stays on the record rather than being quietly edited away. Open any round to see the evidence behind it and the plate that goes with it.

  • Held under every control
  • Narrowed to something smaller
  • Hypothesis refuted
  • Corrected an earlier claim of mine
  • Blocked by data or method
  • Groundwork
Each square is one round, coloured by what happened to the hypothesis. Click a square to open that round below.

The wall

Why this stops where it stops

The corrected merged corpus records 527 sign IDs, twelve of which are database markers for unidentified signs, leaving 515 identifiable types. Roughly 416 non-numeral signs still have fewer than 20 tokens. Partial pooling puts all of them on one uncertainty scale but it can’t invent observations: three rare signs came out with finality intervals above the base rate, two of those look like post-terminal additions, and the model fails its global posterior-predictive check.

515 isn’t a ceiling either. Estimators sensitive to singletons put the merged total near 695–715 and the accumulation curve hasn’t plateaued, so more data will add types as well as tokens. That makes the wall bigger rather than smaller.

Two independent digitizers agree on 93.2% of aligned signs. Propagate that disagreement and the no-repeat effect, the terminal cohort, the 740/520 anchor and the global numeral-side result all come through intact, while most marginal pairwise edges get erased. The wall is explicit uncertainty now rather than a blanket objection: strong effects clear it, and z around −2 to −3 generally doesn’t.

ICIT (4,660 artefacts, 17,957 signs) is the only corpus big enough to move any of this, and it’s request-gated. Round 41 showed the numbering is already ICIT’s, so integrating it would need no crosswalk. The gain would be stratification rather than raw power; doubling N buys about √2 on a z-score and leaves the median sign just as rare.

The corpus, measured
Artefacts in the parsed corpus2,543
Sign tokens11,135
Records after deduplication2,086
Recorded sign IDs (merged)527
Identifiable types515
Non-numerals under 20 tokens416
Estimated true inventory (Chao1)~715
Inter-digitizer agreement93.2%
Tokens perturbed per noise draw668 (7.3%)
ICIT, if it can be obtained4,660 / 17,957