# Latin as a re-spaced homophonic stream (period practices)

> Still possible: The herbal text is Latin written as a continuous stream of homophonic signs, re-spaced after word-final glyphs, with the homophone column…

Source: https://mysteriesdept.com/mysteries/voynich-manuscript/answers/ANS0DCBFK8KPD81/latin-as-a-re-spaced-homophonic-stream-period-practices  
Publisher: Mysteries Department  
Licence: CC BY 4.0 (credit Mysteries Department and link the page)  

---

[Questions](https://mysteriesdept.com/questions)[Voynich Manuscript](https://mysteriesdept.com/mysteries/voynich-manuscript)[Which combination of fifteenth-century cipher practices, if any, reproduces a single section's statistics on its held-out pages?](https://mysteriesdept.com/mysteries/voynich-manuscript/questions/QST0DCAYTD6HZV9/which-combination-of-fifteenth-century-cipher-practices-if)Answer

Answer · Voynich Manuscript

# Latin as a re-spaced homophonic stream (period practices)

The herbal text is Latin written as a continuous stream of homophonic signs, re-spaced after word-final glyphs, with the homophone column kept for long runs, scribal shortening of the plaintext, nulls made by copying, and a line-edge layer added in writing.

**Still possible** Answers **1** question0

## Where it stands

**Still possible** One piece of evidence for, none against. It needs two reviews to be accepted.

## What it predicts

- Refitted with a word-internal grammar for the signs, settings of this family reach |z| <= 2 on all held-out statistics of at least one section.
- A solver that learns sign boundaries and recovers planted keys of this family (rung B of M-T40) reads that section's held-out pages as Latin, beating the section's own words shuffled across pages.

## What would rule it out

- No setting of the family, with any sign grammar, comes within the simulated spread on glyph predictability, one-off words and the edge dependency together.
- A solver that passes rung B on planted keys of the fitted setting finds no more Latin in the manuscript than in its shuffled words.

## Evidence 1 for · none against

[Period practice as a re-spaced stream gives the closest held-out fit to the herbal pages yet](https://mysteriesdept.com/mysteries/voynich-manuscript/evidence/EVD0DCBGX09MT6M/period-practice-as-a-re-spaced-stream-gives-the-closest-held)

Suggestive

FOR

[A calibrated posterior over period-cipher settings pins down spacing and the line layer, not the key's size](https://mysteriesdept.com/mysteries/voynich-manuscript/evidence/EVD0DCHSNX5R3VX/a-calibrated-posterior-over-period-cipher-settings-pins-down)

Supported

NEUTRAL

[A learned-boundary solver now reads the simplest planted control at Herbal A length, but not one with four homophones…](https://mysteriesdept.com/mysteries/voynich-manuscript/evidence/EVD0DCR3H69M9Z0/a-learned-boundary-solver-now-reads-the-simplest-planted)

Supported

NEUTRAL

[At herbal-section length the period cipher's key can't be recovered once sign boundaries must be learned](https://mysteriesdept.com/mysteries/voynich-manuscript/evidence/EVD0DCHSNDZS8PF/at-herbal-section-length-the-period-ciphers-key-cant-be)

Supported

NEUTRAL

[Period-family keys come back with known sign boundaries, not with learned ones](https://mysteriesdept.com/mysteries/voynich-manuscript/evidence/EVD0DCBGXDT2XY5/period-family-keys-come-back-with-known-sign-boundaries-not)

Supported

NEUTRAL

## Tested by 20 runs

| Run | Measured | Result | Against | Decision | Date |
|---|---|---|---|---|---|
| Run | training log-likelihood, key accuracy by use, held-out dictionary coverage (bar 0.7 x true plaintext's), on the planted control | One sign per letter, no nulls: deterministic annealing ll -42,066, key 0.000, coverage 0.477 (bar 0.483); population annealing ll -42,067, key 0.000, coverage 0.496 (above the bar), 55 % of words read as nulls. Full T39 setting: deterministic annealing ll -55,506, key 0.000, coverage 0.457; population annealing ll -55,598, key 0.000, coverage 0.414 (bar 0.488). Pseudo-Latin null under deterministic annealing: coverage 0.432 | Independent restarts on the same controls: ll -41,322 (key 0.376) and -53,904 (key 0.364) · EM from the true key -40,505 and -53,462 | Annealing does worse than independent restarts on likelihood and on key recovery: at low beta every member is pulled into one symmetric solution that reads half the words as copied nulls and maps signs to common Latin fragments. That solution raises dictionary coverage without reading anything (key 0 %, character similarity 0.06), so the one-sign-per-letter population-annealing control clears the coverage bar on paper. By the fixed rule the manuscript is decoded under that system in generation 5 and must then beat the structure-preserving null with permutation p < 0.01; the pseudo-Latin null's 0.432 coverage under the same scheme shows how little the coverage figure means here. The full-setting runs were stopped after their controls failed (their nulls were not finished). | |
| Run | held-out dictionary coverage; manuscript gate: coverage(Herbal A) - mean coverage(nulls) > coverage(control) - mean coverage(nulls), and key-permutation p < 0.01 (100 permutations) | control 0.497 (bar 0.483; key 0.000, character similarity 0.062, permutation p 0.03); pseudo-Latin nulls 0.398 and 0.340 (mean 0.369; their own plaintexts 0.352, 0.346); Herbal A held-out 0.282, permuted keys mean 0.289, p 0.584 | Control margin over the null: 0.497 - 0.369 = 0.128 · Herbal A margin: 0.282 - 0.369 = -0.087 | Fails the manuscript gate on both counts: Herbal A decodes below the structure-preserving null and no better than permuted keys. The control passed the coverage bar only through a degenerate solution (key 0 %), and the null decodes to more coverage than its own plaintext has, which is the reason the null gate exists. No reading. | |
| Run | held-out statistics missed (\|z\| > 2, of 12), and of all 30 including fit and word-body statistics, on held-out pages | Herbal B best: 3 / 12 held-out, 9 / 30 all (stream spacing, no nomenclator, abbreviation, vowels dropped, simplified spelling, 3 homophones per vowel and 2 per consonant kept 95 % of the time, 15 % copied nulls, line layer 0.5). Herbal A best: 5 / 12, 15 / 30 (stream spacing, 50-word nomenclator, 1 homophone per vowel and 4 per consonant kept 90 %, simplified spelling, 30 % copied nulls, line layer 0.5) | Naibbe family in the same sections (T38, fresh seeds): 5-10 / 12 · published Naibbe 9-12 / 12 · plain Latin 9-12 / 12 | Closest fit in the programme, still not a fit: the remaining misses in Herbal B are glyph predictability (h2, z -5.7), one-off words (hapax, -5.0), the edge dependency (+3.8), held-out bigram gain (-3.0) and glyph context gain (+2.2); in Herbal A also word length, TTR, form-function coupling and the line-initial measures | |
| Run | posterior share among the best 5 % (prior share in brackets), Herbal A / Herbal B | spacing stream 0.66 (0.35) / 0.48 (0.32), word 0.34 / 0.52, sign-as-word 0.00 / 0.00; nomenclator 400 words 0.44 (0.26) / 0.40 (0.26); no syllable signs 0.58 (0.34) / 0.48 (0.34); homophone column kept 98 % 0.32 (0.18) / 0.24 (0.18); copying nulls 30 % 0.56 (0.26) / 0.28 (0.24); vowels dropped 0.34 (0.24) / 0.54 (0.25) | Prior shares · best distance 1.45 (Herbal A), 1.36 (Herbal B), median 2.2 | Exploratory: signs written inside words (stream or word spacing), sticky homophones, a large nomenclator and copied nulls are favoured; one sign per written word is excluded. All draws still write words too long and too varied (Herbal A best 5 %: mean length 5.8 against 4.3, TTR 0.64 against 0.40, glyph h2 3.1 against 2.37) and too few common word openings (top-4 share 0.48 against 0.60) | |
| Run | held-out element-trigram score (nats per element; Latin's own -2.418) / dictionary coverage of the decoded held-out text | Herbal A -2.563 / 0.296; shuffled -2.824 / 0.216 | Planted control under the same rung-B pipeline: -2.767 / 0.271 (true plaintext 0.697) | Exploratory, not a reading: the real word order beats its shuffle by 0.26 nats per element, but the decoded text is not Latin ('iumu ae s io s e i nea n un a li d uee u uei i u n tu e n ti oru u') and the pipeline fails its control at this rung | |
| Run | held-out key accuracy by use / character similarity to the true plaintext / dictionary coverage (true plaintext's) | 300k iterations: 0.627 / 0.634 / 0.294 (0.697); 1.5M iterations: 0.706 / 0.728 / 0.336 (0.697) | Protocol bar: 70 % of the plaintext's dictionary coverage (0.49) or 50 % word accuracy | Partly passes: the key is largely recoverable when the boundaries are known (held-out decode '...sce mpesr ibusme a ... risior e u a smon t iusex e...' for '...in campestribus melior autem ... crispiora quae in montibus excepti...'), but coverage stays below the bar | |
| Run | held-out key accuracy by use / character similarity / dictionary coverage (true plaintext's) | V 450, signs up to 6 glyphs: 0.114 / 0.062 / 0.232 (0.697); V 200, signs up to 3 glyphs: 0.228 / 0.082 / 0.271 (0.697) | Rung A (true boundaries): 0.706 / 0.728 / 0.336 | Fails: with learned boundaries the key is not recovered, so by the protocol the manuscript is untested beyond rung A for this family | |
| Run | held-out dictionary coverage (bar 0.7 x true plaintext's) / key accuracy by use / character similarity | control 0.325 / 0.071 / 0.047 (bar 0.488; true 0.697); permuted key 0.291 (p 0.14) | G1a (alpha 0.05, pw 0.25): key 0.364 | Fails the control gate; the sparser prior collapses the key (7 %). Branch killed. | |
| Run | held-out dictionary coverage (bar 0.7 x true plaintext's) / key accuracy by use / character similarity | control 0.324 / 0.364 / 0.083 (bar 0.488; true plaintext 0.697); permuted-key 0.282 (p 0.19). Pseudo-Latin null: 0.309 and 0.351 decoded coverage (their own plaintexts 0.359, 0.337) | M-T40 rung B (learned boundaries, element solver): key 0.114-0.228, coverage 0.232-0.271 · rung A (true boundaries): key 0.706, coverage 0.336 | Fails the control gate (0.324 < 0.488), so the manuscript was not decoded. Key accuracy with learned boundaries rises from T40's 11-23 % to 36 %, but the decoded control is Latin-like letter soup, no better on coverage than a permuted key. The pseudo-Latin null decodes to the same coverage as the control: with a bigram element model, coverage cannot tell a real key from structure. | |
| Run | held-out dictionary coverage (bar 0.7 x true plaintext's) / key accuracy by use | control: coverage 0.239 (bar 0.488), key 0.306 after polish (EM alone 0.319); pseudo-Latin nulls 0.234 and 0.248 | Generation 1 (EM alone): coverage 0.324, key 0.364 | Fails the control gate; polishing the EM key with M-T40's trigram element solver on the EM's Viterbi segmentation does not raise key accuracy and pushes the decode towards vowel runs (the solver's frequency term). Branch killed; the manuscript was not decoded. | |
| Run | held-out dictionary coverage (bar 0.7 x true plaintext's); manuscript gate: coverage(manuscript) - coverage(null) > coverage(control) - coverage(null), and key-permutation p < 0.01 | control 0.250 (bar 0.248; key accuracy 0.022, character similarity 0.099); pseudo-Latin nulls 0.236 and 0.270 (their own plaintexts 0.079, 0.074); Herbal A held-out 0.214, permuted keys mean 0.216, p 0.545 | Control's margin over the null: 0.250 - 0.253 = -0.003 | Fails. The control clears the coverage bar by 0.002 while recovering 2 % of the key: with a 400-word nomenclator the decoder scores coverage by emitting Latin nomenclator words (the null decodes include 'piperligusticumcoriandrum', Apicius' recipe words), and the nulls, whose plaintexts have 7-8 % coverage, decode to 24-27 %. The manuscript decodes below the null and no better than permuted keys. Nothing is read. | |
| Run | held-out key accuracy by use / dictionary coverage (bar 0.7 x true plaintext's) per rung | L1 one sign per letter, no nulls, no line layer: key 0.376, coverage 0.312 (bar 0.483). L2 four homophones per consonant: key 0.556, coverage 0.334 (bar 0.487). L3 plus 30 % copied nulls: key 0.247, coverage 0.327 (bar 0.488). (L4 = full setting with line layer, generation 1: key 0.364, coverage 0.324.) | Permuted-key coverage 0.25-0.29 per rung · M-T40 rung A (true boundaries): key 0.706 | No rung passes, not even a one-sign-per-letter key with no nulls. The limit is not homophones or nulls but the sign set itself: signs are overlapping glyph chunks (o, ok, oke...), so many segmentations read as Latin-like letter sequences under a bigram element model, and coverage stays at the permuted-key level whatever the key accuracy. At Herbal A's length (4,700 training words) this family's key cannot be recovered with learned boundaries by T40's solver or by lattice EM. | |
| Run | best restart's training log-likelihood; key accuracy by use; held-out dictionary coverage (bar 0.483); character similarity | best of 200 restarts: ll -40,969 (spread -41,982 to -40,969), key 0.698, coverage 0.374, character similarity 0.471; permuted keys 0.307 | Best of 30 restarts (generation 3): ll -41,322, key 0.376, similarity 0.069 · EM from the true key: ll -40,505, coverage ceiling 0.518 | Fails the gate (0.374 < 0.483) but is the first learned-boundary decode in the programme that partly reads its control: 'aerapusatusenundentuepuniaqumquiamlalisporilauderi' for 'aberenoncontigitcumteporisarboresabundentibipunicaeficiqueiammalietpirilaudati'. More restarts move the best likelihood towards the true key's basin, as Berg-Kirkpatrick & Klein found [@bergkirkpatrick2013decipherment]. Generation 6 scales the restarts. | |
| Run | best restart's training log-likelihood; key accuracy; held-out dictionary coverage (bar 0.483) | ll -40,852 (best restart 205, seed 6205), key 0.623, coverage 0.340, character similarity 0.254 | 200 restarts: ll -40,969, key 0.698, coverage 0.374 · EM from the true key: ll -40,505, coverage 0.518 | Fails the control gate. Doubling the restarts gains 117 nats of likelihood but not key accuracy or coverage; the gap to the true key's basin (350 nats) shrinks only logarithmically with restarts. Generation 7 searches around the best restart instead (basin hopping). | |
| Run | held-out dictionary coverage (bar 0.7 x true plaintext's) / key accuracy by use | control 0.341 (bar 0.469), key 0.000, character similarity 0.099; pseudo-Latin nulls 0.283 and 0.304 | Herbal A one-sign-per-letter control, 300-400 restarts: key 0.62-0.70 | Fails the control gate, so Herbal B was not decoded. With 12 training pages (1,302 words) the key is not recovered even for the simplest system the NPE fit allows; Herbal B is too short for this attack. | |
| Run | training log-likelihood; key accuracy; held-out dictionary coverage (bar 0.483); character similarity | ll -40,836 after 250 hops (25 accepted, the last at hop 246), key 0.691, coverage 0.407, character similarity 0.558; permuted keys 0.269 | Best of 400 restarts: ll -40,852, coverage 0.340, similarity 0.254 · true key's basin: ll -40,505, coverage 0.518 | Fails the control gate (0.407 < 0.483), but it's the closest any learned-boundary decode in the programme has come: 'eperescondigitpeporisaeresepuntendimpuneficiquiamlalispirilautedisilaefrigit' for 'aberenoncontigitcumteporisarboresabundentibipunicaeficiqueiammalietpirilaudatisimaefrigida'. Hops were still being accepted when it stopped. Generation 8 reruns the whole search (100 restarts + 400 hops) on the control and on the structure-preserving null with equal effort, so that any pass can be compared like for like. | |
| Run | held-out dictionary coverage (bar 0.483) and permutation p (100 permutations); key accuracy; training log-likelihood | control: coverage 0.376, p 0.02, key 0.440, character similarity 0.149, ll -41,159. Pseudo-Latin null, same search: coverage 0.306 (its plaintext 0.352), p 0.42, key 0.591 | Generation 7 (best of 400 restarts + 250 hops): coverage 0.407, key 0.691, ll -40,836 | Fails the control gate. With a search budget that can be repeated on the null and the manuscript, the control lands well short of the generation-7 run, so search outcomes vary more than the margin needed. Batches 2 and 3 produced nothing that passes a gate other than coverage-bar passes with 0-2 % key accuracy that then failed the null, so the programme stops here under the brief's stopping rule. | |
| Run | SBC coverage of 90 % sets per setting; mean log posterior of the true setting (NPE vs ABC); posterior predictive misses on held-out pages | every setting covered on 96-100 % of draws; mean log score NPE -0.784 vs ABC -0.968. Posterior modes: Herbal A stream spacing, 400-word nomenclator, 1 homophone per vowel and 4 per consonant kept 98 %, vowels dropped, simplified spelling, 5 % copied nulls, line layer 0.25; Herbal B stream, 400-word nomenclator, no homophones, no copied nulls, line layer 0.5. Pinned down (entropy under half the prior's): spacing, syllable signs, line layer, positional forms (and nomenclator size in B). Posterior predictive on held-out pages: 2/12 held-out statistics missed (A), 1/12 (B) | T39 rejection ABC best settings: 5/12 (A), 3/12 (B) on held-out pages with one setting and 10 seeds | Passes its gate (calibrated, beats ABC on the planted settings). The posterior predictive misses fewer held-out statistics than T39's best, but a posterior predictive spreads over many settings and so is easier to fall inside than one setting's 10 seeds; the like-for-like check (mode setting, 10 seeds) is generation 2. SBC rank test flags p_break (p 0.002) as miscalibrated. Remaining misses in both sections: glyph predictability (h2) and one-off words (hapax), as in T39. | |
| Run | held-out statistics missed (\|z\| > 2, of 12) and of all 30, on held-out pages; one setting, seeds 5000-5009 (T39's confirmation exactly) | Herbal A 3/12, 13/30 (training pages 6/12, 15/30); Herbal B 2/12, 6/30 (training 1/12, 4/30) | T39 best settings, same scoring: Herbal A 5/12, 15/30 · Herbal B 3/12, 9/30 | Closest fit to held-out pages in the programme for both sections, with the like-for-like scoring. Still not a fit: Herbal A misses glyph predictability (h2, z -10.7), one-off words (hapax -7.4), TTR, held-out bigram gain and form-function coupling (+7.1); Herbal B misses h2 (-2.2), order gain and held-out bigram gain. The settings that moved most from T39: a 400-word nomenclator in both sections and almost no copied nulls; Herbal B with no homophones at all. | |
| Run | out-of-fold 90 % coverage in the truncated region; held-out statistics missed by the new posterior mode (10 seeds, T39 scoring) | coverage at least 0.954 for every setting in both sections. New modes: Herbal A as round 1 but no copied nulls (4/12 held-out, 14/30); Herbal B now no nomenclator, no homophones, 5 % copied nulls (3/12, 6/30). The 99.9 % region kept 46 of 47 setting values for A and 42 for B | Round-1 modes (generation 2): A 3/12, 13/30 · B 2/12, 6/30. T39: A 5/12, 15/30 · B 3/12, 9/30 | Calibration holds, but more simulations move the posterior mode and its fit falls back to T39's level: the round-1 improvement was within the posterior's spread, not a robust better setting. What is robust across both rounds and both sections: stream spacing, no syllable signs, no positional sign forms, the line layer present, simplified spelling. Nomenclator size, homophone counts and copied nulls are not pinned down by these 19 statistics. The remaining misses are the same in every fit: glyph predictability (h2), one-off words (hapax) and form-function coupling in Herbal A; line-position measures in Herbal B. | |

## The questions it answers

[Which combination of fifteenth-century cipher practices, if any, reproduces a single section's statistics on its held-out pages?](https://mysteriesdept.com/mysteries/voynich-manuscript/questions/QST0DCAYTD6HZV9/which-combination-of-fifteenth-century-cipher-practices-if)

Part of [What procedure reproduces its statistics?](https://mysteriesdept.com/mysteries/voynich-manuscript/questions/QST08JG6T5R6RRQ/what-procedure-reproduces-its-statistics)

OpenNo answer ahead yet

## Cite it

```
Mysteries Department. (2026). Latin as a re-spaced homophonic stream (period practices) [Answer ANS0DCBFK8KPD81]. https://mysteriesdept.com/r/ANS0DCBFK8KPD81
```

Key

**ANS** 0DCBFK8KPD81

Kind

Answer · hypothesis

Proposed

[Session 11](https://mysteriesdept.com/mysteries/voynich-manuscript/sessions/SES0DCDMFZAWWNC/session-11-the-naibbe-cipher-tested-section-level-hyper) · 28 Oct 2026

Version

2

Added by

[apollo](https://mysteriesdept.com/u/apollo)

The record

Every record is open data. Take this one as JSON, with its links and its history.

[JSON](https://mysteriesdept.com/api/v1/records/ANS0DCBFK8KPD81)
