Full Technical Derivation

The recurrence, the verse, the identity — step by step

The recurrence (Reeds 1998/2006)

Each of the Book of Soyga’s 36 tables is a 36×36 grid of letters from the 23-letter Latin alphabet:

Alphabet: a b c d e f g h i k l m n o p q r s t u x y z Ordinals: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 (No j, v, or w. Arithmetic is mod 23; position 23+1 wraps to position 1.)

Left margin. Each table is keyed to a 6-letter code word W₁W₂W₃W₄W₅W₆. The left column of the 36-row grid is the sequence: W₁W₂W₃W₄W₅W₆W₆W₅W₄W₃W₂W₁ (word then its reverse), repeated three times to fill 36 rows.

Top row (no cell above). For columns 2–36 of row 1:

X = W + f(W)   (mod 23)

where W is the cell to the left. Only the left-neighbour matters; there is no cell above.

Interior cells (rows 2–36, columns 2–36):

X = N + f(W)   (mod 23)

where N is the cell above and W is the cell to the left.

The crucial point: in both cases the function f is applied to the left (west) cell, and its output is added to the north cell (or, in the top row, to the left cell itself).

Reeds’s empirical f (Table II of his 1999 paper):

Wabcdefghiklmnopqrstuxyz
f(W)22351426514152022148132011881515152

Reeds noted: “f is known to us only by a table of values determined empirically." Its origin was open from 1998 until 2026.

The Section 18 verse and its number-words

Book of Soyga, Section 18 (Aldaraia sive Soyga vocor). Kupin 2014 edition, Latin text lines 8151–8172, English translation lines 8318–8337.

Heading: “Versibus ostendam quid monstret quaeque figura” — “In verses I will show what each figure denotes.”

The verse assigns each letter a value V(W) through Latin number-words. Parsing letter by letter:

Verse fragment (Latin)Letter(s)Number-wordV(W)
Tres numeros z, b; numeros tres continet a, fz, b, a, ftres = 33
H bis tres numeroshbis tres = 2×3 = 66
Septem Ggseptem = 77
O plenum cum T, comis est, S ter tria portato, t, ster tria = 3×3 = 99
Bis sex, Rrbis sex = 2×6 = 1212
Bis septem Ppbis septem = 2×7 = 1414
E cum n tenet I, numeros ter quinquee, n, iter quinque = 3×5 = 1515
V cum K ut x, y, dat bis octou, k, x, ybis octo = 2×8 = 1616
L ut Q, numeros ter viil, qter vii = 3×7 = 2121
M xxti tria portatmxx + tria = 20+3 = 2323
Terque novem per se Ccter × novem = 3×9 = 2727
Vigintique novem D dat cum sumitur ampladviginti + novem = 20+9 = 2929

Note on o, t = 9: The line “O plenum cum T, comis est, S ter tria portat” is fully legible in the printed Kupin edition (second independent review, 2026-06-09, ~line 8165). The values o = t = s = 9 are attested in the printed text, not inferred. The same independent OCR pass of the Internet Archive source concurs.

Letter-by-letter verification of f(W) = V(W) − 1 (mod 23)

LetterV(W)
(verse)
V(W)−1(V(W)−1) mod 23Reeds f(W)Match?
a3222
b3222
c272633✓ (mod-23 wrap)
d292855✓ (mod-23 wrap)
e15141414
f3222
g7666
h6555
i15141414
k16151515
l21202020
m23222222
n15141414
o9888
p14131313
q21202020
r12111111
s9888
t9888
u16151515
x16151515
y16151515
z3222
Total matches23 / 23

The mod-23 wrap. For c: V = 27, so V−1 = 26, and 26 mod 23 = 3 = f(c). For d: V = 29, so V−1 = 28, and 28 mod 23 = 5 = f(d). No other letter requires the wrap; c and d alone have V > 23.

Uniqueness. The offset k = 1 (i.e., f = V−1) is the only constant giving 23/23 matches. Every other integer k from 0 to 22 gives 0/23. This rules out coincidence.

The −1 as inclusive/exclusive counting

The verse says (in the author’s terms): the V-th letter, counting from and including the letter above, is the new value. Reeds’s recurrence says: advance f steps past the cell above. The gap between “the Nth item counting inclusively from position P” and “advance N steps from P” is exactly 1. Under the reading V is an inclusive ordinal and f is an exclusive step count, the tables regenerate exactly. This gloss is ours, not a quoted instruction from the manuscript; under it the arithmetic is perfect.

Regeneration of all 36 tables and 46,656 cells

Applying f(W) = V(W) − 1 (mod 23) to the recurrence reproduces:

NISRAM ground-truth rows

Tabula 1, code word NISRAM, rows 1–3 (verified against Reeds’s full typeset transcription):

Row 1: n d i z b d i z b d i z b d i z b d i z b d i z b d i z b d i z b d i z
Row 2: i s r l y t r l y t r l y t r l y t r l y t r l y t r l y t r l y t r l
Row 3: s c u c b x i b a x i b a x i b a x i b a x i b a x i b a x i b a x i b

The top-row pattern (n→d→i→z→b→d→i→z→…) is an instance of the two-cycle attractor structure explained in the Verification section.

The 36-table inventory

Tables Keys
T1–T12 Zodiac (Aries NISRAM through Pisces)
T13–T24 Zodiac reversed (T13 = MARSIN, the exact reverse of NISRAM; all 12/12)
T25–T31 Seven planets
T32–T35 Four elements
T36 Magistri (MOYSES — Moses)

T13–T24 code words are the exact reverses of T1–T12. However, a reverse code word does not produce a geometric mirror of its partner table: T1 (NISRAM) and T13 (MARSIN) differ in 1,233 of 1,296 cells (95.1%). The recurrence is non-linear; only the seed is reversed.

The Magistri table (MOYSES). Tabula 36 is the only table whose code word is a proper name. Its famous missing row is demonstrably not an algorithmic artifact: regenerating MOYSES yields zero rule violations across all interior cells. The blank row is a deliberate scribal reservation — and the two manuscripts (Bodley 908 and Sloane 8) blank different rows (Bodley row 13, Sloane row 36 after closing ranks), proving the scribes knew a row was reserved but disagreed which.

Error model

Reeds’s 1999 paper catalogued errors in the manuscript copies: 13 original transcription errors and 7 transposition errors. The verification implementation diverges from the manuscript precisely at those coordinates, and nowhere else. This is an additional confirmation that the generation algorithm and f are correct.