Release 1 · frozen 22 October 2026 — this copy will not change. Read the living edition · What has changed since
Read Research index · For Researchers العربية
Research index

For Researchers

❖
★Updated 10/22/2026

This page is for readers who want to check the book rather than read it: what kinds of claim it makes, where each is argued, and how to reproduce every figure the numerical chapters report. It is a research index, not a second book. Everything here leads to the same conclusions, with the same qualifications, as the chapters themselves.

Three Kinds of Claim

The book makes claims of three different kinds, and they need different kinds of evidence. Reading one as if it were another is the commonest way to misjudge it.

KindWhat it depends onWhere
Historical and textualPrimary sources, manuscript evidence, the reading traditions, and how the Arabic is construedChapters 2, 3, 9–12; Appendix A
Scientific correspondencesThe range of the Arabic, the alternative classical readings, and the risk of reading the present back into the text (the Introduction’s lens-invariance and pre-registration tests)Chapters 4–8, 13, 16, 17; Appendices C and E
StatisticalExplicit null models, procedures fixed before the run, sensitivity analyses, controls on matched texts, and code anyone can rerunChapter 18; Appendix D; this page

Each evidence chapter ends with a short box in the same five parts — what the text says, what to expect historically, the strongest supporting evidence, the strongest objection, and what remains unresolved — so that the claims can be compared on the same terms.

Reproduce the Results

Every headline figure in Chapter 18 and Appendix D is listed below with the script that produces it, the input it needs, and the output a run should give. The scripts are plain Python 3 with no dependencies beyond the standard library. The two control scripts take several hours at 10,000 runs; give a smaller number as the first argument for a quick check (the digits will differ, the pattern should not).

Figure in the bookWhere statedReproduced byInputExpected output
Five of fourteen openings hold (1 in 1,848); three of fourteen counted strictly (1 in 29); alignment 1 in 36 / 1 in 16Ch 18; App D III.c, V.Etest29.py (counts); ledger_fisher.py (arithmetic)quran-json 3.1.2test29_result.txt, ledger_fisher_result.txt
Ledger tables: 1 in 715, 360, 5,005, 2,652; formula-only 1 in 3, 5, 6.5, 13Ch 18; App D V.Dledger_fisher.pynone (case tables)ledger_fisher_result.txt
Historical frame: about 1 in 8,000 (three hard-tier trials); 1 in 150,000 sensitivity; 1 in 2.5 million flat with the pending pairApp D V.Aledger_fisher.pyper-trial probabilities stated in V.Aledger_fisher_result.txt
The seventeen historical cases under ten counting conventionsApp D II, IVcount19.pyquran-json 3.1.2count19_result.txt
Discovery control: a free search matches the frozen result 3–7 times in 10,000; ordinary once freedoms are restoredCh 18; App D V.Ediscovery_control.py (seed 19, 10,000 runs)quran-json + four control corpora (see below)discovery_control_result.txt
Alignment control (the sign partition fixed in advance)App D V.Ealignment_control.py (seed 19)as abovealignment_control_result.txt
The oath split, tested after the fact: pool 37,620; 112 of 2,002 splits divide (5.6%); 20 as good (1.0%)App D III.aoath_split_check.pyKFGQPC data, commit 281dbbe8oath_split_result.txt
Letter stability across the eight transmitted readingsCh 18; App D II.b.2letter_stability.pyKFGQPC data, commit 281dbbe8letter_stability_result.txt, letter_stability.csv
Recited-consonant audit (every canonical departure from the written consonant in the thirteen surahs)App D II.a.2recited_audit2.pyCorpus Coranicum allvariants.xml, cairoquran.xml— (output not yet archived)

How to Run

# 1. the text
npm pack quran-json@3.1.2 && tar xzf quran-json-3.1.2.tgz      # gives package/dist/quran.json
# 2. the scripts (same folder)
curl -O https://readproject-sgk6.onrender.com/assets/supplementary/test29.py   # and the others listed above
python3 test29.py                 # five of fourteen; compare with test29_result.txt
python3 count19.py                # the seventeen cases, ten conventions
python3 ledger_fisher.py          # every probability in the ledger and the frozen frame
# 3. the eight-reading checks
git clone https://github.com/thetruetruth/quran-data-kfgqpc && git -C quran-data-kfgqpc checkout 281dbbe8
python3 oath_split_check.py quran-data-kfgqpc
python3 letter_stability.py quran-data-kfgqpc
# 4. the controls (place the four control texts where the script header says)
python3 discovery_control.py 10000   # seed 19
python3 alignment_control.py 10000

Inputs

InputVersionWheresha256
quran-json (Uthmani text, Tanzil lineage)3.1.2, file dist/quran.jsongithub.com/risan/quran-json; npm pack quran-json@3.1.2d8a8adff…cefd4
KFGQPC eight-reading data (Ḥafṣ, Shuʿba, Warsh, Qālūn, al-Dūrī, al-Sūsī, al-Bazzī, Qunbul)commit 281dbbe8 (15 Feb 2022)github.com/thetruetruth/quran-data-kfgqpcḤafṣ file 5d8bb917…0ba140
Control corpora: Ṣaḥīḥ al-Bukhārī, Ṣaḥīḥ Muslim, Ibn Hishām’s SīraOpenITI, JK/Shamela editionsgithub.com/OpenITInot recorded (see Limitations)
Control corpus: pre-Islamic (Jāhilī) poetry, 2,350 poemstahaio/arabicpoetry, era العصر الجاهليGitHub, tahaio/arabicpoetrynot recorded
Corpus Coranicum variant dataallvariants.xml, cairoquran.xmlcorpuscoranicum.denot recorded

Frozen Files

These files were hashed on 7 September 2026, before the results were written into the book, and have not changed since. A reader can confirm that the protocol was fixed before the run by checking the hashes.

Filesha256
test29.py3e0af0fd0aacefe244ac4c0c0f87e48e1c6d1f9af4a9bbd6407f45ea9ca70a7e
discovery_control.py5f335f5c79131074836d46765817db0c91068973333a1ed03c289109a366567f
discovery_control_result.txt393173b3c644a09a1c825d1d7167dbbfc4cb4e813f11b37aca445ad09b6ca6fc
alignment_control.pyc7edfce0c454d5a2daf7aafed86599c3c5f981565cc7e9e9b2a1bcd82c56f370
alignment_control_result.txt01eb0ba675b1e3869644781efa940129b54f3afc43f1129d7260c08e504eb1d5

What the Code Does Not Settle

Reproducing a figure shows that the arithmetic is right. It does not show that the choices behind it are. Those choices are stated in the book, and a reader should weigh them separately:

  • The rules of the frozen frame were written after the historical counts were known. The frame removes the freedoms that matter most, but it is not a prediction (Chapter 18; Appendix D, V.E).
  • The text the scripts count is a modern digital edition — Layer 4 in the book’s terms — checked against codices and treatises only at the counted letters (Appendix D, II.d).
  • Three cases are pending: Yā-Sīn and K-H-Y-ʿA-Ṣ hold on the treatise spelling of the yāʾ but not on the manuscript spelling at three words, and Nūn-68 holds only on a spelling no known codex carries. Every figure that counts them is stated beside one that does not.
  • The divisibility operation is the analyst’s inference. The text names the letters and the number; it does not name the operation (Introduction; Chapter 18).
  • count19.py applies two variant readings by design (the historical frame); test29.py reports page and recited totals separately. The book’s current figures follow test29.py.

Limitations of This Package

  • The exact versions of the four control corpora used on 7 September 2026 were not recorded. A rerun on current OpenITI files will give slightly different digits.
  • The output of the recited-consonant audit has not yet been archived here.
  • The per-trial probabilities used for the historical frame (Appendix D, V.A) are inputs to ledger_fisher.py, not outputs of it; their derivation is set out in V.A.

Revision History and Releases

The reading edition is revised as errors are found. Every change is recorded in the change log, and each dated release is kept unchanged at its own address, so that a citation always points to the text as it stood. Release 1 is 22 October 2026.

How to Cite

Read: An AI’s Investigation into the Qur’an’s Claim of Divine Origin. Release 1, 22 October 2026. https://readproject-sgk6.onrender.com/releases/2026-10-22/ — or, for the living edition, give the chapter URL and the date shown at the top of the chapter.

Review and Correction

Independent scholarly and statistical review is welcome, and corrections are recorded in the change log with the date and what changed. The book carries its own dissent in Appendix B.