The Source of Reeds’s Function:
How the Book of Soyga Generates Its Own Tables

Jason Louv · first public presentation 13 June 2026, Austin, TX · this page first published June 2026
jason@ultraculture.org · ultraculture.org

The claim, stated narrowly. In 1998 the cryptographer Jim Reeds showed that the 36 letter-tables of the Book of Soyga — the book John Dee asked the archangel Uriel about at his first scrying session with Edward Kelley, 10 March 1581/2 — are generated by the recurrence X = N + f(W) mod 23, where N is the cell above and W the cell to the left. The auxiliary function f he could determine only empirically; in his words it was "known to us only by a table of values determined empirically." Its origin has stood open since 1998. The answer is printed in the book itself: the Section 18 verse assigns every letter of the 23-letter alphabet a numerical value V, and

f(W) = V(W) − 1  (mod 23)

— exact for all 23 letters, with one uniform constant and zero free parameters. Reeds's function is the book's own letter-value system, off by one — and the "one" is the difference between inclusive and exclusive counting.

Context: the 1582 session and the open problem

On 10 March 1581/2, at Mortlake, John Dee sat opposite his skryer Edward Kelley and opened communication with what he took to be the archangel Uriel. Dee held up the Book of Soyga — the Aldaraia sive Soyga vocor, a Latin magical encyclopaedia he had probably copied in manuscript — and asked Uriel directly how to read its 36 letter-tables. The angel told him only that the interpretation of the book belonged to the archangel Michael, and that Zadzaczadlin was Adam.

Jim Reeds, working in 1998, solved the mechanical part of the question: the tables are generated by a deterministic recurrence. But the auxiliary function f(W) he could find only by reverse-engineering it from the grids themselves — 23 empirical values with no stated origin.

The origin was in the book all along, 150 pages from the tables: the Section 18 verse, which assigns each letter a numerical value V. Reeds never had a complete transcription of the prose (Jane Kupin’s complete edition appeared only in 2014). The two halves of the answer sat in one codex for four centuries.

The Section 18 verse

"Versibus ostendam quid monstret quaeque figura…" — In verses I will show what each figure denotes.
Tres numeros z, b; numeros tres continet a, f. / H bis tres numeros… / Septem G… /
O plenum cum T, comis est, S ter tria portat. / Bis sex, R… / Bis septem… P… /
E cum n tenet I, numeros ter quinque… / V cum K ut x, y, dat bis octo… / L ut Q, numeros ter vii… /
M xxti tria portat. / Terque novem per se C… / Vigintique novem D dat cum sumitur ampla.

Book of Soyga (Aldaraia sive Soyga vocor), Section 18; text per Jane L. Kupin's 2014 edition (esotericarchives.com), Latin lines 8151–8172, translation lines 8318–8337. An independent OCR pass concurs with Kupin's readings of every number-word. The O/T/S line ("O plenum cum T, comis est, S ter tria portat") is fully legible in the printed edition (second independent review, 2026-06-09); o = t = s = 9 is attested, not inferred.

Every letter checks — 23 of 23

Letterabcdefghiklmnopqrstuxyz
V (verse)3327291537615162123159142112991616163
(V−1) mod 2322351426514152022148132011881515152
Reeds's f (1998)22351426514152022148132011881515152

23 of 23. The mod-23 wrap is needed only for the two letters whose value exceeds the alphabet size (c: 27−1 = 26 ≡ 3; d: 29−1 = 28 ≡ 5). Under this identity the book’s own values regenerate all 36 tables, all 46,656 cells, identically to Reeds’s construction.

The uniqueness check: offset k = 1 is the only value giving 23/23 matches; every other constant k gives 0/23. This is not a coincidence.

The verse is not an island — book-wide arithmetic

The same letter-values do arithmetic work throughout the book’s prose. No modern transcription could have been fitted to Reeds’s table after the fact:

What the tables are for

The Book of Soyga answers Dee’s question in its own prose — material Reeds never had transcribed. Section 26.1 (the Liber Radiorum preface) describes the tables as simultaneously an angel-binding grid (per virtutem tabularum exorcismo alligati — “bound by exorcism through the power of the tables”) and a scrying mirror (vicem speculi gerit… intuentibus faciet videre quod libuerit — “serves as a mirror and makes the gazer see what they wish”). Section 27 states that each letter in the tables summons a named count of spirits, and that all binding is per Agla virtutem — through the divine name AGLA. The tables are not a cryptogram concealing a message; they are an operative instrument designed to be enacted.

Generate a table now

Six letters from the 23-letter alphabet: a b c d e f g h i k l m n o p q r s t u x y z (j→i, v/w→u). The margin is your word and its reverse, repeated; everything else follows from the verse’s numbers.

 try nisram and compare with Bodley 908 / Sloane 8, Tabula 1

Or with twenty lines of code

ABC = "abcdefghiklmnopqrstuxyz"                 # 23 letters, no j/v/w
V = dict(zip(ABC, [3,3,27,29,15,3,7,6,15,16,21,23,15,9,14,21,12,9,9,16,16,16,3]))
f = {c: (V[c] - 1) % 23 for c in ABC}           # f = V - 1  (the whole discovery)
def table(word, n=36):
    margin = (word + word[::-1]) * 3             # code word + reverse, repeated
    g = [[margin[r] for c in range(n)] for r in range(n)]
    for r in range(n):
        for c in range(1, n):
            prev = g[r][c-1] if r == 0 else g[r-1][c]
            g[r][c] = ABC[(ABC.index(prev) + f[g[r][c-1]]) % 23]
    return g
for row in table("nisram")[:3]: print(" ".join(row))
# n d i z b d i z b ...
# i s r l y t r l y ...
# s c u c b x i b a ...

Full verification suite (independent reimplementation, Reeds-anchor checks, null models): soyga_verification_bundle.zip.

Cite this work

Louv, Jason (2026). "The Source of Reeds's Function: How the Book of Soyga Generates Its Own Tables." First presented 13 June 2026, Austin, TX. https://soyga.magick.me — f(W) = V(W) − 1 (mod 23). DOI: [DOI placeholder — Zenodo]

A timestamped deposit of the full findings dossier and verification code is linked here upon Zenodo registration: [DOI placeholder — Zenodo]. This page is archived at the Internet Archive.


Full technical derivation: Derivation · Verification methodology: Verification · Per-claim confidence ledger: Confidence · Objections answered: FAQ · Sources: Sources