--- title: "Famulus normalisation" subtitle: "One statement for a sourced reading" format: arxivai-typst: keep-typ: true book: false author: - name: Gerd Graßhoff affiliations: - name: Philosophisches Institut city: Berlin country: Germany - name: Forschungsinstitut des Deutschen Museums city: München country: Germany orcid: 0000-0002-4450-357X email: gerd.grasshoff@hu-berlin.de abstract: | Expression normalisation is stored as one kind of row: a statement with a source, a scope, and a predicate from a closed registry. This paper reports a first reading of the name index in Euler's correspondence with Goldbach, Opera omnia IVA 4, and a correspondent sample from the Kármán Nachlass. The index occupies 42 OCR pages. Every page that carries a running header places that header 7 page-indexes after the printed number. The parse yields 993 entries, 3,893 printed-page attestations, and 6,338 statements before identity links. Against the 311 eulerOO-IVA identities the register held on 17 October, 130 index heads match one identity by surname and initial, and 27 match more than one and stay unresolved. After the register stage was run for the collection on 19 October, the register holds 3,067 identities for it; the same rule then links 285 heads and leaves 184 unresolved. The Kármán sample of 50 correspondent folders has not been reviewed, so no precision is stated. The vector store was removed on 20 October; BM25 replaced it as the recall path for paraphrase, at a measured loss [@grasshoff2026famulusdatalayer]. bibliography: famulus-normalisation-bibliography.bib --- # A statement is the row A mention, a life date, an office, an identity, and an expert answer are the same kind of row. The row names a subject, a predicate, an object, and a source. The predicate is taken from a registry. A claim that the registry does not name is refused. Two writers who store the same claim from the same source obtain the same identifier, so a merge is a union. The time of a statement is four day-number bounds. An Allen relation may stand without a calendar date. Path consistency may tighten a bound, and it records which pair forced the tightening. A bound that crosses itself is reported. It is not deleted. # The name index of IVA 4 The volume on disk is `eulerOO-IVA/978-3-0348-0892-7`. Its bibliography file names the work *Correspondence of Leonhard Euler with Christian Goldbach*, edited by Franz Lemmermeyer and Martin Mattmüller, in *Leonhardi Euleri Opera omnia*, series IVA, volume 4, and dates the online edition 2016 [@euler-goldbach]. The name index is the OCR of page indexes 1214 through 1255, 42 pages. The running header gives the printed page. On page index 1230 the header reads "Name Index 1223". On page index 1223 it reads "1216 Name Index". The difference is 7 on every page in the range that carries such a header. A printed page \(n\) is therefore stored as page index \(n + 7\). Roman numerals in the index are kept as printed tokens and are not given a page index. Each OCR text node that is an entry is stored as its own quote, so the 993 entries are 993 quotes. The head is read by a pattern: the name, a life span when the parentheses contain years, a "see" pointer, and the page list after the colon. A year that the pattern does not recognise is not filled in. The run of 17 October 2026 and its repetition on 20 October produced the counts in @tbl-iva. | | 17 October | 20 October | |:---|---:|---:| | Pages | 42 | 42 | | Header offset | 7 | 7 | | Entries | 993 | 993 | | Attestations mapped to a page index | 3,893 | 3,893 | | Entities | 1,035 | 1,035 | | Register identities for eulerOO-IVA | 311 | 3,067 | | Heads linked to one identity | 130 | 285 | | Heads matching more than one identity | 27 | 184 | | Statements | 6,467 | 6,622 | : The name index of IVA 4 read against the register of each date. {#tbl-iva} The parse itself did not change: it yields 6,338 statements, and the identity links add the rest. An index head is linked when its surname is the last token of exactly one register identity, or when the given-name initial narrows several forms to one identity. On 17 October the global register held 386 name rows and 311 distinct identities for eulerOO-IVA. That linked 130 heads. Twenty-seven heads, among them the several Bernoullis and the several Eulers, matched more than one identity. They are listed and not collapsed. On 19 October the register stage was run for eulerOO-IVA; 2,854 of the collection's identities date from that run. The copy read on 20 October holds 3,236 name rows and 3,067 identities for the collection: 2,114 persons, 529 places, and 424 institutions. The rule reads all of them, not only persons. Against that register it links 285 heads and leaves 184 with more than one identity. A larger register makes more surnames ambiguous. No precision is stated for either run, because no link has been reviewed. One entry, read from page index 1223, is Johann Jacob van Delen, with the years 1743 and 1786 in parentheses and the printed pages 570, 574, 1129, and 1132. Those become page indexes 577, 581, 1136, and 1139. The biography clause is the OCR node itself. # A Kármán sample `letters_resolved` in the Kármán Nachlass holds 15,976 rows in 1,066 folders. Correspondent folders are those whose identifier begins with a numeric pair, continues with a name, and contains a year, excluding calculation files, indexes, covers, inventories, miscellanea, and bibliographies. There are 401 such folders. The sample is the 25 folders with the most letters and 25 others drawn with seed 17. It contains 1,290 letters, of which 407 had an empty `date_when` on 17 October and 409 on 20 October. The largest folder in the sample is `11-40_guggenheim_harry_f_1926_1958_i`, with 64 letters. The owner has not reviewed the sample. No precision is stated. # What is not claimed The statement model is not yet the store of the other Famulus layers. The global register decides identities in its own database. The expression normaliser of famulus-proof writes its footnotes into the sentence record (`sr_expr`, `sr_expr_grund`, and the keys of `sr_attr`), which now lives in the collection's famulus file `_famulus.duckdb` [@grasshoff2026famulusdatalayer]. Dossier facts are XML files in the collection's `dossier` folder with a projection (`do_*`) in the same famulus file. Only the explication pilot of 17 October wrote its resolved referents as statements of this model, 504 `refers_to` rows. A merge of this package into famulus-proof, so that one store carries footnotes, explications, and statements, is planned and not done. The vector store used by the query service was removed on 20 October by owner decision; a BM25 index in the collection's corpus file (over sentence text and lemmatised sentence, with a character 4-gram index for German and French fused by reciprocal rank fusion) is now the recall path for paraphrase. On 200 paraphrase probes it finds the source sentence in the top 50 for 0.830 of them and in the top 10 for 0.725; the bge-m3 vector store did for 0.895 and 0.890 [@grasshoff2026famulusdatalayer]. That loss is not recovered by the statement routes, and the golden queries were not compared with them. The calendar service answers a Julian day number, the weekday of that number, and the Gregorian Easter date. Easter is accepted when the date falls on a Sunday and lies between 22 March and 25 April. Territorial adoption tables, feast days beyond Easter, and the historical hour systems are not in this build. The astronomical service on port 5142 is a separate expert. A sentence that names a longitude points at a calculation tool, or it says that the stated position cannot be retrieved.