// Simple numbering for non-book documents #let equation-numbering = "(1)" #let callout-numbering = "1" #let subfloat-numbering(n-super, subfloat-idx) = { numbering("1a", n-super, subfloat-idx) } // Theorem configuration for theorion // Simple numbering for non-book documents (no heading inheritance) #let theorem-inherited-levels = 0 // Theorem numbering format (can be overridden by extensions for appendix support) // This function returns the numbering pattern to use #let theorem-numbering(loc) = "1.1" // Default theorem render function #let theorem-render(prefix: none, title: "", full-title: auto, body) = { if full-title != "" and full-title != auto and full-title != none { strong[#full-title.] h(0.5em) } body } // Some definitions presupposed by pandoc's typst output. #let content-to-string(content) = { if content.has("text") { content.text } else if content.has("children") { content.children.map(content-to-string).join("") } else if content.has("body") { content-to-string(content.body) } else if content == [ ] { " " } } #let horizontalrule = line(start: (25%,0%), end: (75%,0%)) #let endnote(num, contents) = [ #stack(dir: ltr, spacing: 3pt, super[#num], contents) ] #show terms.item: it => block(breakable: false)[ #text(weight: "bold")[#it.term] #block(inset: (left: 1.5em, top: -0.4em))[#it.description] ] // Some quarto-specific definitions. #show raw.where(block: true): set block( fill: luma(230), width: 100%, inset: 8pt, radius: 2pt ) #let block_with_new_content(old_block, new_content) = { let fields = old_block.fields() let _ = fields.remove("body") if fields.at("below", default: none) != none { // TODO: this is a hack because below is a "synthesized element" // according to the experts in the typst discord... fields.below = fields.below.abs } block.with(..fields)(new_content) } #let empty(v) = { if type(v) == str { // two dollar signs here because we're technically inside // a Pandoc template :grimace: v.matches(regex("^\\s*$")).at(0, default: none) != none } else if type(v) == content { if v.at("text", default: none) != none { return empty(v.text) } for child in v.at("children", default: ()) { if not empty(child) { return false } } return true } } // Subfloats // This is a technique that we adapted from https://github.com/tingerrr/subpar/ #let quartosubfloatcounter = counter("quartosubfloatcounter") #let quarto_super( kind: str, caption: none, label: none, supplement: str, position: none, subcapnumbering: "(a)", body, ) = { context { let figcounter = counter(figure.where(kind: kind)) let n-super = figcounter.get().first() + 1 set figure.caption(position: position) [#figure( kind: kind, supplement: supplement, caption: caption, { show figure.where(kind: kind): set figure(numbering: _ => { let subfloat-idx = quartosubfloatcounter.get().first() + 1 subfloat-numbering(n-super, subfloat-idx) }) show figure.where(kind: kind): set figure.caption(position: position) show figure: it => { let num = numbering(subcapnumbering, n-super, quartosubfloatcounter.get().first() + 1) show figure.caption: it => block({ num.slice(2) // I don't understand why the numbering contains output that it really shouldn't, but this fixes it shrug? [ ] it.body }) quartosubfloatcounter.step() it counter(figure.where(kind: it.kind)).update(n => n - 1) } quartosubfloatcounter.update(0) body } )#label] } } // callout rendering // this is a figure show rule because callouts are crossreferenceable #show figure: it => { if type(it.kind) != str { return it } let kind_match = it.kind.matches(regex("^quarto-callout-(.*)")).at(0, default: none) if kind_match == none { return it } let kind = kind_match.captures.at(0, default: "other") kind = upper(kind.first()) + kind.slice(1) // now we pull apart the callout and reassemble it with the crossref name and counter // when we cleanup pandoc's emitted code to avoid spaces this will have to change let old_callout = it.body.children.at(1).body.children.at(1) let old_title_block = old_callout.body.children.at(0) let children = old_title_block.body.body.children let old_title = if children.len() == 1 { children.at(0) // no icon: title at index 0 } else { children.at(1) // with icon: title at index 1 } // TODO use custom separator if available // Use the figure's counter display which handles chapter-based numbering // (when numbering is a function that includes the heading counter) let callout_num = it.counter.display(it.numbering) let new_title = if empty(old_title) { [#kind #callout_num] } else { [#kind #callout_num: #old_title] } let new_title_block = block_with_new_content( old_title_block, block_with_new_content( old_title_block.body, if children.len() == 1 { new_title // no icon: just the title } else { children.at(0) + new_title // with icon: preserve icon block + new title })) align(left, block_with_new_content(old_callout, block(below: 0pt, new_title_block) + old_callout.body.children.at(1))) } // 2023-10-09: #fa-icon("fa-info") is not working, so we'll eval "#fa-info()" instead #let callout(body: [], title: "Callout", background_color: rgb("#dddddd"), icon: none, icon_color: black, body_background_color: white) = { block( breakable: false, fill: background_color, stroke: (paint: icon_color, thickness: 0.5pt, cap: "round"), width: 100%, radius: 2pt, block( inset: 1pt, width: 100%, below: 0pt, block( fill: background_color, width: 100%, inset: 8pt)[#if icon != none [#text(icon_color, weight: 900)[#icon] ]#title]) + if(body != []){ block( inset: 1pt, width: 100%, block(fill: body_background_color, width: 100%, inset: 8pt, body)) } ) } // arxivai — Quarto Typst template partial. // Replaces Quarto's default `article()` with the arxivai preprint layout. // Both packages are importable from raw ```{=typst}``` blocks in the body: // #arxivai.operation-box(...) #arxivai.app-figure(...) #lettreai.badge(...) #import "lettreai.typ" as lettreai #import "arxivai.typ" as arxivai // --------------------------------------------------------------------------- // Re-theme Quarto's automatic callouts (same contract as lettreai: block // nesting kept structurally identical to Quarto's default so the crossref // figure show rule in definitions.typ keeps working). // --------------------------------------------------------------------------- #let callout( body: [], title: "Callout", background_color: rgb("#dddddd"), icon: none, icon_color: black, body_background_color: white, ) = { let accent = if icon_color == black { lettreai.colors.oxford-blue } else { icon_color } block( breakable: false, fill: lettreai.tint(accent, 0.94), stroke: (left: 3pt + accent, rest: 0.5pt + lettreai.tint(accent, 0.5)), width: 100%, radius: 3pt, block( inset: 1pt, width: 100%, below: 0pt, block( fill: lettreai.tint(accent, 0.84), width: 100%, inset: 8pt, )[#if icon != none [#text(accent, weight: 900)[#icon] ]#text(fill: lettreai.shade(accent, 0.25), weight: 700)[#title]]) + if (body != []) { block( inset: 1pt, width: 100%, block(fill: body_background_color, width: 100%, inset: 8pt, body)) } ) } // --------------------------------------------------------------------------- // arXiv preprint article — same signature contract as Quarto's default, // extended with keywords and running-title. // --------------------------------------------------------------------------- #let article( title: none, subtitle: none, authors: none, keywords: (), running-title: none, book: false, date: none, abstract-title: none, abstract: none, thanks: none, cols: 1, lang: "en", region: "US", font: none, fontsize: 10.5pt, title-size: 1.7em, subtitle-size: 1.15em, heading-family: none, heading-weight: "bold", heading-style: "normal", heading-color: black, heading-line-height: 0.65em, mathfont: none, codefont: none, linestretch: 1, sectionnumbering: none, linkcolor: none, citecolor: none, filecolor: none, toc: false, toc_title: none, toc_depth: none, toc_indent: 1.5em, doc, ) = { // PDF metadata. set document(title: title) set document( author: authors.map(a => lettreai.to-string(a.name)).join(", ", last: " & "), ) if authors != none and authors != () set document( keywords: keywords.map(k => lettreai.to-string(k)), ) if keywords != none and keywords != () set par(justify: true, leading: linestretch * 0.65em) set text(lang: lang, region: region, size: fontsize) show math.equation: set text(font: mathfont) if mathfont != none set heading(numbering: sectionnumbering) // Running header + footer; book mode gets chapter-aware heads and the // O'Reilly outer-margin geometry. let rt = if running-title != none { running-title } else if title != none { title } else { [] } set page( header: if book { arxivai.book-header() } else { arxivai.arxiv-header(rt) }, footer: if book { arxivai.book-footer() } else { arxivai.arxiv-footer() }, ) set page(margin: arxivai.book-margin) if book // Resolve fonts: explicit Quarto fonts win, else theme defaults. let resolved-font = if font != none { font } else { lettreai.body-font } let resolved-code = if codefont != none { codefont } else { lettreai.mono-font } let resolved-heading-color = if heading-color != black { heading-color } else { lettreai.colors.oxford-blue } let resolved-link = if linkcolor != none { rgb(lettreai.to-string(linkcolor)) } else { lettreai.colors.oxford-blue } // Paint everything with the shared theme, then the figure rules. show: lettreai.theme-rules.with( fonts: resolved-font, code-font: resolved-code, heading-color: resolved-heading-color, link-color: resolved-link, ) show: arxivai.arxiv-figure-rules // Book chapter rule is the innermost show, so it transforms level-1 // headings FIRST (inner rules apply first), replacing them with chapter // openers before the theme's h1 rule could wrap them in a container. // Synthetic non-outlined headings (e.g. the outline's own title) are // excluded inside book-heading-rules. show: doc2 => if book { arxivai.book-heading-rules(doc2) } else { doc2 } show ref: set text(fill: rgb(lettreai.to-string(citecolor))) if citecolor != none // Preprint front matter. arxivai.arxiv-title-block( title: title, subtitle: subtitle, authors: authors, date: date, ) if abstract != none { arxivai.arxiv-abstract( abstract, abstract-title: if abstract-title == none { [Abstract] } else { abstract-title }, ) } arxivai.arxiv-keywords(keywords) // Book mode: the front matter is a title page of its own. if book { pagebreak(weak: true) } // Optional table of contents (its own page in book mode). if toc { block(above: 0.5em, below: 2em, lettreai.lettreai-outline( title: if toc_title == none { auto } else { toc_title }, depth: toc_depth, indent: toc_indent, )) if book { pagebreak(weak: true) } } if cols > 1 { columns(cols, doc) } else { doc } } #import "@preview/fontawesome:0.5.0": * #let brand-color = (:) #let brand-color-background = (:) #let brand-logo = (:) #set page( paper: "a4", margin: (x: 2.4cm,y: 2.6cm,), numbering: "1", columns: 1, ) #show: doc => article( title: [Computational Epistemology: Foundations], subtitle: [Evidence and Its Justificatory Reach in the Sciences and the Humanities], authors: ( ( name: [Gerd Graßhoff], affiliation: [Philosophisches Institut, Forschungsinstitut des Deutschen Museums], email: [gerd.grasshoff\@hu-berlin.de], orcid: [0000-0002-4450-357X] ), ), keywords: ([computational epistemology],[evidence theory],[argument reconstruction],[hermeneutics],[intentionality of action],[natural sciences and humanities],[epistemic systems],[AI scholarly infrastructure],), abstract: [This article establishes computational epistemology as the methodological ground for AI-assisted scholarly inquiry. Its central claim is that evidence and justification are structured differently across the sciences of natural phenomena and the humanities of scholarly understanding, yet both rest on a single validity apparatus: argument reconstruction, premise identification, and evidential support. Part I develops the required conceptual foundations --- epistemic systems, Wittgenstein's rule-following, and the sentence/ proposition/argument triad. Part II is the core contribution: a unified theory of evidence that distinguishes the practice of witnessing and causal regularity in the natural sciences from the practice of source-grounded interpretation, hermeneutics, and the reconstruction of intentional action in the humanities. Part III shows why retrieval-augmented generation commits a category error against this backdrop. Part IV describes the computational realisation --- argument reconstruction, evidence-directed search, Partitur scores, golden queries held to independently established oracles as the test of trustworthiness, and justified answers over a structured ground, in which every answer to a collection is the conclusion of an argument with addressed premises, declared rules and searched defeaters. Part V draws implications for how scholars and AI platforms should divide epistemic labour, and for how evidential gaps become research agendas. ], abstract-title: "Abstract", font: ("Source Sans 3",), sectionnumbering: "1.1", toc_title: [Table of contents], toc_depth: 3, doc, ) = Part I: Foundations == Why Epistemology Now The platforms that scholars now use to query historical documents, extract claims from correspondence, and reason across thousands of pages share a common design presupposition: that retrieving text is equivalent to finding knowledge. This presupposition is false, and its falsity is not a technical accident. It is a philosophical error --- the confusion of a linguistic object with what that object says, and of finding with justifying. Correcting this error requires epistemology. Epistemology is the discipline that asks how beliefs become knowledge: what justifies the step from holding a proposition to being warranted in asserting it. When we ask whether Euler's tidal model correctly predicts spring tides, whether a letter attributed to Kepler was actually authored by him, or whether a pattern in correspondence evidence really supports the inference that two scholars shared a research agenda, we are asking epistemological questions. The difficulty is not merely empirical. Each question presupposes a practice of evidential assessment --- a set of standards governing what counts as a reason for or against a claim. Those standards differ between physics and philology, between natural history and the history of human intentions. Computational epistemology is the project of making those practices explicit and implementing them as infrastructure for AI-assisted scholarly inquiry. This article is foundational. It does not build one system; it establishes the conceptual ground on which any honest system must stand. Three companion articles describe concrete realizations: #emph[AI Erasmus] @grasshoff2026aierasmus develops the AI Erasmus platform; #emph[AI Scholar] @grasshoff2026aischolar specifies the document infrastructure; #emph[AI Partitur] @grasshoff2026aipartitur formalises the score language by which agents are directed. A fourth companion, #emph[Golden Queries in AI Erasmus] @grasshoff2026goldenqueries, shows how test questions with independently established oracles make platform trustworthiness measurable. These implementations inherit their epistemological commitments from the present article. == Epistemic Systems The concept of an #emph[epistemic system] is the central theoretical contribution of my Habilitation work, developed and applied over three decades in studies of scientific discovery, experimental reasoning, and computational reconstruction @Grashoff1995-zj@Grashoff2001-sn@Grashoff1998-nr@Nickelsen2009-qv@Nickelsen2011-jz. Understanding it is essential before the epistemology of evidence can be stated precisely. An epistemic system is a structured whole in which one or more agents execute goal-directed actions aimed at acquiring knowledge and avoiding error. What distinguishes an epistemic system from action in general is the character of its goal and its conclusive move. Standard action theory --- from Aristotle's practical syllogism through Davidson's belief-desire model and Bratman's account of plans @bratman-1987-intention --- explains why agents do what they do by pointing to their desires and beliefs. My modification targets a specific class of actions: those whose conclusion is not a generic behavioural outcome but the #emph[formulation, reformulation, or modification of a hypothesis]. #block[ #callout( body: [ #strong[The Epistemic Action Principle.] An agent A, with background knowledge K bearing on hypothesis H, having the goal of advancing H in light of evidence E, and recognising that circumstances C obtain, performs an action whose conclusion is: modify H to H'. That is, the epistemic action produces a specific change in the content of what is believed. ] , title: [ Note ] , background_color: rgb("#dae6fb") , icon_color: rgb("#0758E5") , icon: fa-info() , body_background_color: white ) ] This is not Davidson's model, which covers all intentional action. It is not a general planning account. It is specifically designed to capture what it means to pursue knowledge: to take an observation, a document, an argument, a correspondence as bearing on a hypothesis, and to revise belief in consequence. The earlier computational reconstruction of the discovery of the urea cycle demonstrated that this framework is not only theoretically motivated but empirically tractable: the sequence of Hans Krebs's notebook entries and experiments can be reconstructed as a trajectory through hypothesis space, each step explained as an epistemic action @Grashoff1995-tn@Grashoff2003-mu. === AI Agents as Mechanical Epistemic Actors Contemporary AI agents --- systems that query document collections, extract claims, route evidence, and generate structured outputs --- are mechanical actors in epistemic systems. They execute sequences of epistemic actions (querying, retrieving, classifying, inferring) directed toward epistemic goals (answer a question, substantiate a premise, identify a gap). The vocabulary has changed since 1995; the conceptual structure has not. What the literature now calls #emph[agentic AI], #emph[multi-agent pipelines], and #emph[orchestration] is nothing other than the division of epistemic labour that epistemic systems have always required: different actors specialising in different phases of inquiry, coordinated toward a shared epistemic goal. This continuity has a normative implication. Because AI agents are actors in epistemic systems, they are subject to the same normative assessment as other epistemic actors: was the observation careful? was the inference valid? was the evidence weighed correctly? The capacity to plan effectively --- which LLM-based agents possess in impressive measure --- is distinct from the capacity to assess propositional truth. A system that reliably produces plans may be entirely unreliable as a source of justified belief. Epistemic assessment of AI outputs requires the framework developed here. The structure of an epistemic system also clarifies who bears responsibility. An agent in an epistemic system is responsible for executing assigned actions according to declared standards. The #emph[epistemic subject] --- the one who holds beliefs, makes knowledge claims, and bears the burden of justification --- is the human scholar. AI agents contribute to the production of knowledge; they do not #emph[possess] it. == Wittgensteinian Foundations The philosophical tradition guiding this article is the analytic tradition, and within it the philosophy of Ludwig Wittgenstein --- not chosen arbitrarily but because it provides the most precise tools for the three problems that computational epistemology must solve. #strong[Problem 1: What AI systems process.] AI models process tokens. Tokens are marks --- syntactic objects. The question of whether processing tokens constitutes understanding, meaning, or knowing is not a technical question. It is a philosophical one, and Wittgenstein's #emph[Tractatus Logico-Philosophicus] provides the first relevant tool: the distinction between the sentence-sign (#emph[Satzzeichen]), which is a physical mark or sound, and the proposition, which is the sentence-sign #emph[in its projective relation to the world] @wittgenstein-1921-tractatus[TLP 3.12]. A system that manipulates sentence-signs without that projective relation is not ipso facto manipulating propositions. #strong[Problem 2: What it means to follow a rule.] AI systems are trained to produce outputs that accord with human judgement. Whether this constitutes #emph[understanding] a rule or merely #emph[matching] patterns is the question that Wittgenstein's rule-following considerations raise directly @wittgenstein-1953-pi[PU §§138--242]. His answer is that rule-following is constituted by practice --- by participation in a form of life that sustains normative expectations. AI outputs are judged against human practice, not against some abstract rule they internally grasp. This means: the correctness of an AI output is not intrinsic to the output but relational to the practice that assesses it. AI systems can be trained to be reliable; they cannot be the ultimate arbiters of their own reliability. #strong[Problem 3: Where justification ends.] Justification is always finite. The demand for an infinite chain of reasons --- justify every premise, and every premise used to justify that premise --- leads to regress. Wittgenstein's #emph[On Certainty] resolves this by observing that some propositions function as #emph[hinges]: they do not stand in need of justification because they constitute the framework within which justification operates @wittgenstein-1969-certainty[ÜG §341]. In scholarly practice, these hinges include: that documents have physical existence, that paleography as a discipline has developed reliable methods, that physical constants discovered by experiment hold across time. A computational epistemology system must be calibrated against such certainties, not required to prove them. These three Wittgensteinian contributions --- the sentence/proposition distinction, rule-following as practice, and hinge certainties --- run through the entire argument. They are not ornamental. They determine what can be claimed about AI knowledge, AI reliability, and the structure of evidence. == The Terminological Core: Sentences, Propositions, Arguments Before evidence can be discussed, the objects that evidence supports must be identified precisely. This requires distinguishing three things that contemporary AI discourse habitually conflates. #strong[A sentence] is a syntactically well-formed expression in a natural or formal language. "The Earth orbits the Sun" and "Die Erde umkreist die Sonne" are two distinct sentences. Sentences are linguistic objects; they are marks or sounds. #strong[A proposition] is what a declarative sentence expresses --- its content, the thought it conveys. The two sentences above express the same proposition: #emph[that the Earth orbits the Sun]. Propositions are the primary truth-bearers: it is propositions, not sentences, that are true or false. The sentence "Snow is white" is neither true nor false; the proposition #emph[that snow is white] is true. This distinction is not pedantry. It is the ground of all subsequent analysis. #strong[A statement] is a proposition asserted by a speaker in a particular context. Copernicus's statement #emph[that the Earth moves] is the proposition #emph[that the Earth moves] as asserted by Copernicus in the #emph[De Revolutionibus] of 1543. The same proposition, asserted by different speakers at different times in different circumstances, constitutes different statements --- with different evidential histories and different justificatory demands. #strong[An argument] is a structured set of propositions standing in logical relations. Formally: an argument consists of #emph[premises] (propositions offered as reasons) and a #emph[conclusion] (the proposition for which reasons are offered). The notation is: from premises P₁, P₂, … Pₙ, derive conclusion C. An argument is #emph[valid] when there is no possible situation in which all premises are true and the conclusion false --- that is, when the premises guarantee the conclusion. An argument is #emph[sound] when it is valid and its premises are actually true. To know the conclusion, the argument must be cogent: valid, with premises that are not only true but known. #block[ #callout( body: [ #strong[Why this matters for computational systems.] AI systems process sentences (token sequences). The question of whether processing sentences yields access to propositions --- to truth-bearers and their logical relations --- is precisely what cannot be assumed. A system that retrieves sentences matching a query has found relevant #emph[text], not identified relevant #emph[propositions]. The sentence/proposition distinction is not optional; it is the hinge on which the critique of retrieval-based reasoning turns. ] , title: [ Note ] , background_color: rgb("#dae6fb") , icon_color: rgb("#0758E5") , icon: fa-info() , body_background_color: white ) ] === Inference, Reasoning, and Explanation Three operations are commonly and damagingly conflated in descriptions of what AI systems do. #emph[Inference] is the truth-preserving transition from premises to conclusion. In deductive inference, if the premises are true, the conclusion must be true. Formal logic --- propositional and predicate --- provides the calculus of such transitions. #emph[Reasoning] is the broader activity of constructing, evaluating, and revising such inferences. It includes identifying what premises are needed, whether they are true, whether the inference is valid, and what further inquiry the result demands. #emph[Explanation] provides the reasons why a proposition is true. To explain #emph[why] the planets move in ellipses is to exhibit the premises --- Newton's laws, the inverse-square law, initial conditions --- from which the elliptical motion follows. #emph[Practical reasoning] is a fourth operation that must be distinguished from the three above. Practical reasoning moves from goals and beliefs to intended actions: "I want to achieve G; action X is a means to G; therefore I shall do X." This is the reasoning AI planning systems perform. It is genuinely reasoning, but it is #emph[action-directed], not #emph[truth-directed]. The capacity to plan effectively --- to chain tool calls, decompose subgoals, write executable steps --- is not the capacity to assess whether the propositions consulted in that planning are true. This distinction is fundamental. Chain-of-thought prompting and agentic tool use are practical reasoning. Neither, by itself, constitutes epistemic assessment. #horizontalrule = Part II: Evidence and What It Can Justify == The Central Claim Evidence is whatever an epistemic practice licenses as a reason for or against a proposition. This minimal definition defers nothing --- it does not pre-determine what counts as evidence, or how strong it is, or what it can establish. But it carries immediate implications. First: evidence is practice-relative. What the astronomer counts as evidence for a model, the philologist does not automatically count as evidence for a reading. Each discipline has developed over centuries a set of standards --- methods of observation, procedures of source criticism, canons of argumentation --- that determine what evidence is within its domain. These standards are not arbitrary; they are responses to specific types of proposition and specific sources of error that different domains of inquiry have encountered. Second: justification is argument-shaped. A piece of evidence #emph[E] justifies proposition #emph[P] only when there is an argument whose premises include #emph[E] (and perhaps background knowledge #emph[K]) and whose conclusion is #emph[P] (or whose conclusion raises the probability of #emph[P] in a measurable way). Evidence that does not figure in any such argument does not justify anything. Finding a document is not yet evidence for anything; the document justifies a proposition only when it figures as a premise in a reconstructible argument. Third: the type of proposition determines the type of evidence required. A proposition about a causal law of nature requires different evidence than a proposition about what a historical author meant. This is the insight behind the distinction between natural sciences and humanities --- the #emph[Naturwissenschaften] and #emph[Geisteswissenschaften] --- that Dilthey articulated at the end of the nineteenth century @dilthey-1900-hermeneutik and that continues to structure scholarly practice. But the distinction is not a distinction in logical form. Both types of proposition are assessed by argument reconstruction; both types of evidence are weighed against standards of quality and independence. The #emph[apparatus] of justification is the same; the #emph[practices] that fill it differ. == Evidence in the Natural Sciences === Observation under Error Models The natural sciences --- physics, astronomy, chemistry, biology, and their histories --- produce propositions about regularities in natural phenomena. Such propositions are justified by observation: controlled, repeatable, and interpreted through the theoretical framework that makes the observation scientifically significant. Observation is not the passive receipt of sense data. It is an epistemic action: designed to bear on a specific hypothesis, executed under conditions specified by the protocol, and interpreted within a background of theory and prior knowledge. This is what the concept of #emph[epistemic system] captures precisely: the scientist designs observations to bear on the modification of specific hypotheses, and the observation counts as evidence only insofar as it figures in the argument from observation-statement to hypothesis-modification. What makes natural-science evidence distinctive is the explicit role of #emph[error models]. Every measurement is uncertain. The astronomer measuring the position of a star, the geometer measuring the angle of a sundial groove, the chemist measuring reaction rates --- all obtain not a single value but a distribution of values around a true value, with a spread determined by instrument precision, environmental noise, and procedural error. Evidence for a natural-science proposition is never a bare observation; it is an observation-with-uncertainty-estimate, interpreted against a model of what departures from the true value are to be expected. #block[ #callout( body: [ #strong[Witnessed quantities and independent agreement.] The most powerful natural-science evidence comes not from a single measurement but from multiple independent measurements of the same quantity by different methods or instruments. When independent witnesses converge --- when optical and radio measurements of the same stellar position agree, when independent archaeological methods date the same stratum to the same century --- the probability that all are simultaneously wrong in the same direction drops sharply. Independent convergence is the gold standard of natural-science evidence. ] , title: [ Note ] , background_color: rgb("#dae6fb") , icon_color: rgb("#0758E5") , icon: fa-info() , body_background_color: white ) ] === Witnesses and Consensus: The Sundial Case The reconstruction of ancient Greek conic sundials from three-dimensional laser scans provides a particularly clean illustration of natural-science evidence practice @grasshoff2026conic. A conic sundial is a hemisphere-shaped or cone-shaped stone instrument carved with lines that mark the hours of the day. The lines are not directly accessible from the surface: the instrument must be reconstructed by identifying the geometrical parameters --- cone axis inclination, latitude for which it was designed, the spacing of hour lines --- from the physical traces the stone preserves. The physical traces available are: the outlines of carved grooves, the position of the gnomon hole, the shape of the carved face, and incidentally preserved alignment marks. Each of these is a #emph[witness] --- an independent source of information about the same underlying geometric parameters. The reconstruction method treats the witnesses as providing simultaneous constraints on the parameter values: the cone axis inclination, for instance, is constrained by the gnomon hole position, by the symmetry of the grooves, and by the spacing of the solstitial lines. When all witnesses are satisfied by a single parameter value, that value is taken as the best reconstruction of the ancient craftsman's #emph[intention]. Crucially, outliers are not averaged away. An isolated groove that departs from the predicted position at fourteen standard deviations is not an argument for a revised model; it is evidence of localised artisan error --- a slip of the chisel that left a trace inconsistent with the design. The distinction between #emph[systematic] departures (which revise the model) and #emph[localised] departures (which are attributed to execution error) requires an explicit error model and an explicit account of what counts as independent evidence for the design parameters. Without the error model, all measurements look equivalent; with it, the fourteen-sigma outlier is recognised as noise. This example exhibits the general structure of natural-science evidence: + Identify the proposition to be established (the design parameters of the instrument). + Determine what independent witnesses bear on that proposition (groove positions, gnomon hole, face geometry). + Specify an error model (expected measurement uncertainty for each witness type). + Find the parameter values for which all witnesses are jointly satisfied within their error bounds. + Report outliers explicitly and attribute them to their causes (design deviation, artisan error, instrument damage). === Causal Regularities Beyond individual observations, the natural sciences establish propositions about #emph[causal regularities]: laws that hold across instances. The evidence for a causal regularity is not a single observation but a systematic pattern of observations interpreted within a theoretical framework. The theory of causal regularities that my work with Michael May developed --- what we call #emph[minimal theories] --- provides the logical structure @Grashoff2001-wj@Baumgartner2003-iq. A #emph[minimal sufficient condition] (MSC) for an effect E is a set of factors {F₁, F₂, …, Fₖ} such that whenever all factors in the set are present, E occurs, and no proper subset of the factors suffices. A #emph[minimal theory] for E is the disjunction of all MSCs: either this cluster or that cluster of conditions is sufficient to produce E. The evidence for a causal regularity in this sense is a #emph[regularity across instances]: repeated occurrence of E whenever the relevant cluster of conditions is present, and absence of E whenever the cluster is absent. Crucially, what counts as evidence for one MSC can be evidence #emph[against] another: if factor F is absent in a case where E occurs, then no MSC that includes F is a sufficient condition for E. The logical structure of the evidence space is rich --- the evidential relations are not simply accumulative --- and reconstructing them requires the argument-reconstruction apparatus of Part I. This account of causal evidence is explicitly distinct from Pearl's interventionist or structural causal model framework @pearl-2009-causality. The minimal-theory framework is a regularity-theoretic account: causal claims are about what #emph[reliably] co-occurs and co-varies across instances, not about hypothetical interventions in counterfactual models. The distinction matters for computation: evidence relevant to a regularity-theoretic causal claim is found in observed instances, not in intervention studies that may not be available for historical data. == Evidence in the Humanities === The Page as Unit of Evidence The humanities --- history, philology, the history of science, the history of ideas --- produce propositions about #emph[texts], about #emph[persons], and about #emph[human action]. The evidence for such propositions is documentary: documents that have survived, that have been transmitted, copied, edited, translated, and interpreted across centuries. The #emph[page] is the primary unit of evidence for the humanities, understood as the image-and-transcription pair: a facsimile of the original surface, together with a scholarly transcription that makes its content computationally processable @grasshoff2026aischolar. The page in this sense is #emph[Grounding Evidence] --- the direct textual or observational basis for historical claims, as distinct from secondary literature that analyses, paraphrases, or summarises those bases. When a claim is disputed, the dispute moves to a specific page: "show me where in the document this is asserted" is the humanities equivalent of "show me the raw measurement." In the implementation a page has an address of its own, `fr://`, under which the image and the text layers of the transcription (OCR, diplomatic, normalised, translation) are stored with their checksums; a segment of the page extends the address by one further part. The page index `pidx` counts the physical leaves of the scan, not the printed page numbers, which belong in the locator of a citation. By 20 October 2026 eight PDAI collections had been exported under such addresses into a common store, the Famulus Reference. The evidential hierarchy in the humanities is anchored in this distinction: - #emph[Primary sources]: original documents, manuscripts, letters, instruments --- the page is the ultimate ground - #emph[Critical editions]: scholarly reconstructions of primary texts, with apparatus that documents variants and editorial decisions - #emph[Secondary literature]: scholarly analysis and interpretation of primary sources - #emph[Tertiary accounts]: summaries, encyclopaedia articles, textbook synopses This hierarchy is not a quality ranking of authors. It is a ranking of #emph[epistemic proximity to the fact]. A claim about what Euler wrote in E57 is best grounded in the facsimile of E57, better grounded in a critical edition, less well grounded in a scholarly monograph about Euler, and least well grounded in a general reference work. Each step away from the primary source introduces an additional layer of interpretation that must be checked against the original. === Source Criticism and Provenance Document evidence carries conditions that natural-science observation evidence does not: it has been #emph[transmitted], which means it may have been copied with errors, interpolated, altered, or forged. Source criticism --- the systematic assessment of a document's authenticity, integrity, and transmission history --- is the humanities analogue of instrument calibration and error modelling in the natural sciences. Provenance is the chain of custody: from the original composition of a document through its manuscript tradition, its editions, and its current physical location, to the scan or microfilm from which a researcher works. A computational epistemology system must track provenance as part of evidential metadata. The question is not only "what does this sentence say?" but "what is the evidential status of this sentence, given the document's transmission history?" A sentence copied from a corrupted manuscript through three unreliable intermediaries warrants much weaker belief than a sentence from the author's autograph. Provenance does not determine truth --- corrupt transmission can preserve true content, and a pristine autograph can contain falsehoods --- but it determines the strength of the evidential connection between the sentence and what the author wrote. The Famulus Reference records the later part of this chain as data: for each source the holding institution, shelfmark, origin and licence of the scan, and for each processing step from scan to text the tool, the model, the instruction and the checksums of input and output. The transmission before the scan --- manuscript tradition and edition history --- is not yet represented as structured data; it remains the work of source criticism. === Hermeneutics as Rule-Governed Practice Interpretation is the act of determining what a text #emph[means] --- what proposition or set of propositions it expresses. In the humanities, interpretation is never automatic: texts written in earlier periods, in languages now less familiar, in genres with conventions no longer in use, require skilled reading that draws on philological training, knowledge of the period, and familiarity with the author's other work. A common mischaracterisation of humanistic interpretation treats it as the intuitive #emph[divination] of an author's private mental state: reading behind the words to recover the subjective intention that produced them. This mischaracterisation has generated the so-called hermeneutic circle as a logical problem, and various romantic accounts of #emph[Einfühlung] (empathetic understanding) as its resolution. The Wittgensteinian tradition offers a different and more productive account. Understanding a text is not divining a private mental state; it is applying #emph[shared interpretive practices] that constitute the meaning of the text for a reading community. These practices are rule-governed in Wittgenstein's sense: they can be taught, learned, corrected, and extended. They include: - Grammar and syntax: rules for parsing the words and sentences of the language - Genre conventions: rules for reading a letter, a treatise, a scientific report - Period conventions: rules governing what expressions were used to convey what ideas in a given time and place - Context rules: rules for reading a passage in light of the surrounding text and the author's known positions Meaning, on this account, is not a hidden inner state but a pattern of use within a practice. The LWgrammar project @grasshoff2026lwgrammar operationalises exactly this Wittgensteinian insight: rather than asserting what a term means, it surveys how the term is used across a declared corpus (a set of primary sources within a declared time, author, and discipline scope), and compiles usage rules from cited instances. No sense is asserted without a page behind it. The dictionary entry is a #emph[grammar of use], not a metaphysical statement about conceptual content. #block[ #callout( body: [ #strong[Interpretation as argument.] An interpretation of a text passage can be expressed as an argument: the premise is the text (with its provenance and context), background knowledge (grammar, period conventions, the author's other work), and the interpretive principle (a rule of the relevant practice); the conclusion is the proposition that the passage means such-and-such. The interpretation is justified to the degree that the premises are established and the interpretive principle is well-grounded in shared scholarly practice. Interpretive disagreements are disagreements about premises or principles --- and they can, in principle, be adjudicated by evidence. ] , title: [ Note ] , background_color: rgb("#dae6fb") , icon_color: rgb("#0758E5") , icon: fa-info() , body_background_color: white ) ] This means that textual interpretation, while requiring forms of background knowledge not required for natural-science measurement, is not epistemically different in kind. It is argument-shaped. It is open to criticism and revision. It is grounded in evidence (the text and its context). And it admits of degrees of epistemic quality: interpretations grounded in better evidence, employing more reliable interpretive principles, and commanding wider agreement among informed readers are more warranted than interpretations that rest on single readings, contested principles, or unjustified assumptions. === The Intentionality of Human Action The hardest case for a unified epistemology of evidence is the attribution of #emph[intentions] to historical actors. When we say that Kepler intended to demonstrate the harmony of the heavens, that Pirckheimer's correspondence reveals a strategic management of humanist networks, or that Euler's tide treatise was motivated by rivalry with d'Alembert --- we are making claims about mental states: about what agents were aiming at, what they believed, what they were trying to achieve. Propositions about intentions seem to lie outside the scope of the evidence practices described above. We cannot directly observe what Kepler intended; we cannot measure Pirckheimer's network strategy; we cannot establish Euler's motivations as we establish the physical parameters of a sundial. The empiricist tradition has often concluded that intention attributions are either unverifiable (and therefore not genuine propositions) or reducible to behavioural patterns (and therefore not genuinely mental). Neither conclusion is satisfying to the practising historian. The account I propose draws on Anscombe's analysis of intentional action @anscombe-1957-intention and on the epistemic action principle introduced in §1.2. An action is intentional under a description when the agent would acknowledge that description as answering the question "Why did you do this?" That is, an intentional action is one that the agent explains by citing reasons: the beliefs and goals that made the action intelligible as a means to an end. The evidence for an intention attribution is therefore #emph[the agent's expressed reasons], together with the pattern of actions that those reasons render intelligible. In the humanities, the documentary record --- letters, manuscripts, annotations, laboratory notebooks, administrative records --- provides evidence for intention attributions precisely because it preserves the expressed reasons of agents: their stated goals, their acknowledged beliefs, their self-presented motivations. The #emph[Actor--Agenda--Act] framework, developed in the context of epistemic systems analysis @Grashoff1995-zj@Grashoff2001-sn, captures this structure formally: - An #emph[Actor] is an agent with goals, beliefs, and resources - An #emph[Agenda] is a structured goal hierarchy that the Actor pursues over time, decomposed into sub-agendas, tasks, and communicative actions - A #emph[Communicative Act] is an action that advances, modifies, or signals the state of an agenda in a way accessible to others This structure is the humanities analogue of the causal model. Just as causal evidence supports a claim of the form "C caused E because C regularly co-occurs with E under background conditions K", intention evidence supports a claim of the form "A intended G because the pattern of A's communicative acts is best explained by the hypothesis that A was pursuing agenda Ā toward goal G." The evidential logic is the same: convergence of independent witnesses (different letters confirming the same stated goal), coherence of the inferred agenda with the observed pattern of actions, and absence of alternative explanations that better fit the evidence. The difference from causal evidence is not logical but material: the #emph[type] of premises that figure in the argument (expressed reasons rather than measured quantities), and the #emph[background knowledge] required to evaluate them (knowledge of period conventions for how goals were communicated, rather than knowledge of instrument calibration and error models). This account has an important consequence for AI-mediated humanities scholarship. The claim that an AI system can "understand" a historical agent's intentions is to be assessed not by asking whether the AI has inner states resembling intentions, but by asking whether the AI's outputs participate correctly in the shared interpretive practice that licenses intention attributions. An AI agent that extracts stated reasons from letters, maps them to agenda structures, identifies inconsistencies, and flags gaps in the evidentiary basis is a genuine participant in the epistemic practice --- not because it has intentions of its own, but because it executes the rule-governed operations that the practice requires. == The Unified Account: One Apparatus, Two Practices The evidence practices of the natural sciences and the humanities are structurally parallel despite their surface differences: #table( columns: (33.33%, 33.33%, 33.33%), align: (auto,auto,auto,), table.header([Dimension], [Natural Sciences], [Humanities],), table.hline(), [Primary unit of evidence], [Measurement / observation], [Page / document], [Error model], [Instrument uncertainty], [Transmission and reading uncertainty], [Independent witnesses], [Measurements by different methods], [Independent sources testifying to the same fact], [Causal claim], [Regular co-variation under conditions], [Agenda structure rendered intelligible by expressed reasons], [Quality hierarchy], [Direct observation → experiment → secondary analysis], [Autograph → critical edition → secondary literature], [Interpretation layer], [Physical theory (reading the instrument)], [Genre convention, grammar, period knowledge], ) In both domains, evidence justifies propositions through argument. In both domains, the quality of evidence depends on independence, proximity, and reliability. In both domains, interpretation is required at every level --- even reading a measurement instrument presupposes theory. And in both domains, disagreements about evidence are in principle resolvable by appeal to shared standards, even when those standards are themselves contestable and historically variable. The synthesis is this: computational epistemology provides a single #emph[validity apparatus] --- argument reconstruction, premise identification, evidential support assessment --- that applies across both families of practice. What varies is the ontology of evidence and the background knowledge required to assess it. The apparatus is domain-neutral; the filling is domain-specific. This is the sense in which computational epistemology is the #emph[methodological ground] for AI-assisted scholarly inquiry across the sciences and the humanities. It does not flatten the differences between disciplines; it identifies the common logical structure that all justified belief-formation must exhibit, and makes that structure computationally tractable. #horizontalrule = Part III: Why Retrieval Cannot Establish Truth == What Retrieval-Augmented Generation Does Retrieval-augmented generation (RAG) is the currently dominant paradigm for "grounding" AI language-model outputs in document collections @lewis-2020-rag. Its operation can be described precisely: + A query sentence is encoded as a vector in a high-dimensional embedding space + Documents or document segments whose embeddings are near the query embedding are retrieved + A generative language model produces a response conditioned on the retrieved segments At no point in this sequence is propositional content identified, logical structure represented, or evidential relations assessed. The system operates on sentences (or segments of text) as vectors, and the retrieval relation is #emph[similarity in embedding space] --- not logical entailment, not evidential support, not semantic equivalence. This is not a failure of implementation. It is a feature of the architecture. And when one understands what RAG does, it becomes clear what it cannot do: it cannot establish truth, because establishing truth requires justification, and justification is an operation on propositions in argumentative structures, not on sentences as vectors. == The Category Error Ryle's concept of a category mistake identifies the error of treating an entity of one logical kind as if it belonged to another @ryle-1949-concept. A category mistake is not merely an empirical error; it is a conceptual error, one that cannot be corrected by more data or better training. RAG systems commit a category error when they treat the retrieval of similar sentences as a species of justification. The error is threefold: #strong[Similarity is not entailment.] Two sentences that are semantically similar --- whose embeddings are near each other in the representation space --- may express logically independent or even contradictory propositions. The sentences "Combustion requires oxygen" and "Combustion releases phlogiston" would have high embedding similarity, since they concern the same domain. But the propositions they express are not merely logically independent; they are incompatible. Similarity does not carry logical relations. #strong[Relevance is not truth.] A highly relevant retrieved segment --- one that addresses precisely the topic of the query --- may express a false proposition. The phlogiston sentence is maximally relevant to a query about combustion; it is also false. Relevance and truth are orthogonal dimensions. RAG optimises for relevance; truth is simply not in its objective function. #strong[Finding is not justifying.] Justification is a normative relationship: E justifies P iff E provides a reason --- within an appropriate epistemic practice --- for holding P. Finding a sentence E that expresses a proposition similar to P is not a normative relationship. It is a distributional one. The move from "E is similar to P" to "E justifies P" is not licensed by any argument; it is a category confusion. These failures cannot be patched by scaling, by better embeddings, or by larger corpora. A system that retrieves sentences cannot assess propositional content by retrieving more or better sentences. The limitation is structural. == What Cannot Be Replaced by Retrieval The following epistemic operations all require the apparatus of Part I --- argument reconstruction, premise identification, and evidential assessment --- and none of them is achievable by retrieval: - #emph[Validity assessment]: determining whether an argument's conclusion follows from its premises requires identifying the propositions expressed, their logical relations, and the inference pattern --- not finding similar sentences. - #emph[Soundness assessment]: determining whether premises are true requires evidence-directed search --- finding evidence that bears on each premise's truth conditions --- not similarity-based retrieval. - #emph[Evidential gap identification]: determining that a premise in a reconstructed argument lacks adequate evidential support requires knowing what would count as evidence for that premise and confirming its absence --- not querying for similar content. - #emph[Interpretation quality]: determining whether a textual interpretation is well-grounded requires applying shared interpretive practices to the source text and assessing the quality of the evidence and principles employed --- not retrieving interpretations that resemble the current one. A system grounded in evidence practice must #emph[invert] the retrieval paradigm: rather than asking "what text is similar to my query?", it asks "what evidence is required to justify proposition P, and where does such evidence exist or fail to exist?" This inversion is the distinctive contribution of computational epistemology. #horizontalrule = Part IV: The Computational Realisation == Two-Phase Architecture The conceptual framework of Parts I--II can be computationally realised through a two-phase architecture. #strong[Phase 1 --- Reconstruction] transforms natural language text into explicit argument structures. Its inputs are source documents in a processable format (the PDAI page format, described in the AI Scholar companion @grasshoff2026aischolar). Its outputs are schema-validated argument representations: identified premises, identified conclusions, logical relation types, and notes on implicit (enthymematic) premises that the argument presupposes but does not state. Reconstruction is guided by the principle of charity: argue for the strongest defensible reading of each argument before criticising it. It is also guided by the principle of literal grounding: premises are attributed to specific passages in specific documents, with page references, not to the text corpus in general. #strong[Phase 2 --- Assessment] evaluates reconstructed arguments. For each premise, it asks: what is the evidential support? Is the premise grounded in primary sources? Are the sources independent? Does the background knowledge required for the interpretive step have adequate justification? The output is not a verdict but a graded report: which premises are well-evidenced, which are weakly supported, which lack evidence entirely. The gap between what is needed and what is available is the #emph[evidential gap]. Gap identification is one of the most valuable outputs of computational epistemology: it transforms the scholarly question "what should I look for next?" from an unanswerable question about the general corpus into a specific question about which premises require which types of evidence. == Argument Representation Arguments are represented in a schema-validated format that captures the logical structure: ``` Euler's tidal model predicts spring-tide amplitude correctly. The gravitational attractions of Sun and Moon add when in alignment. The amplitude of the combined attraction is proportional to the sum of the individual amplitudes. Modern tidal observations are comparable in method to eighteenth-century prediction standards. Spring tides are approximately 2.5 times the amplitude of neap tides. ``` The schema makes explicit what remains implicit in prose arguments: which claims are grounded where, which steps are inferential and which observational, and which premises lack the evidential support required for the argument to be cogent. == Evidence-Directed Search Evidence-directed search is the operational inversion of RAG. Given a proposition P whose evidential support is to be assessed, the system does not ask "what text is similar to P?" It asks: + What type of proposition is P? (causal regularity, interpretive claim, intention attribution, …) + What would count as evidence for P in the relevant epistemic practice? + Where in the document collection might such evidence be located? + What is the quality of the evidence found, and what is the quality of what is missing? For a causal regularity claim, the evidence type is a pattern of co-variation across instances, and the search targets instances meeting the relevant background conditions. For an interpretive claim about a text passage, the evidence type is usage patterns across the relevant corpus (which the LWgrammar index provides), plus parallel passages in the author's other work. For an intention attribution, the evidence type is expressed reasons in the actor's correspondence and the coherence of the inferred agenda with the observed pattern of actions. This means: the same document collection supports radically different evidence searches depending on the type of claim being assessed. An index of causal co-occurrence is needed for natural-science evidence; a lexical usage index is needed for interpretive evidence; a correspondence and agenda index is needed for intention evidence. Over the same PDAI document substrate @grasshoff2026aierasmus the platform provides two of these in part: the lexical usage index of LWgrammar @grasshoff2026lwgrammar and, for correspondences, a register of letters with their parties, dates, topics and communicative acts @grasshoff2026famulusreasoning. The agenda structures into which such acts would be ordered, and an index of causal co-occurrence across instances, are not yet built. == The Partitur: Inspectable Method One of the distinctive features of the computational realisation described here is that the method by which evidence is assembled is itself a scholarly artifact, not a black box. This is what the #emph[Partitur] (score) paradigm achieves @grasshoff2026aipartitur. A Partitur is a YAML document that specifies, in a human-readable and scholar-editable form, the sequence of epistemic operations an AI orchestration performs, the standards that outputs must meet at each stage, the failure modes that invalidate a stage, and the learning targets that define what improvement means. The Partitur is not implementation code; it is the score that a Conductor executes. Like a musical score, it can be cited, criticised, revised, and compared with alternative scores. The epistemic importance of the Partitur is that it makes #emph[declared method] a condition of evidential validity. A conclusion produced by a pipeline whose Partitur has not been declared --- whose operations are not inspectable --- cannot be cited as scholarly evidence, because the method by which the conclusion was produced cannot be scrutinised or replicated. A declared Partitur is the humanities equivalent of a published experimental protocol: it makes the conclusion criticisable. #block[ #callout( body: [ #strong[Epistemic disconnect.] When AI systems produce outputs whose derivation cannot be traced, scholars face an epistemic disconnect: they hold conclusions without access to the reasoning that produced them. The Partitur closes this disconnect not by making AI infallible but by making AI operations accountable. The scholar can follow the Partitur, assess each stage, and identify where the output deserves confidence and where it requires further scrutiny. ] , title: [ Note ] , background_color: rgb("#dae6fb") , icon_color: rgb("#0758E5") , icon: fa-info() , body_background_color: white ) ] == Golden Queries and Their Oracles The trustworthiness of an epistemic infrastructure is not established by its designers' assertion but by its measurable performance on questions with known, independently established answers. This is the role of #emph[golden queries] in the AI Erasmus platform @grasshoff2026goldenqueries. A golden query is a scholarly question for which an #emph[oracle] can be independently specified: a count, a set of documents, a pattern of relationships, that can be checked directly against primary sources without relying on the system being tested. The oracle is not produced by the system; it is the independently established answer against which the system's output is measured. The question "How many letters in the Kepler correspondence mention the term #emph[harmonia]?" has an oracle answer: a human scholar counting in the critical edition. When the system produces the same answer, the answer is trusted; when it diverges, the divergence is evidence for a specific failure --- in retrieval, in lemmatisation, in scope specification --- that can be diagnosed and corrected. The governance structure for golden queries is explicit: - #emph[Harvest]: the fraction of goldens whose oracle is satisfied in a given run - #emph[Monitor log]: the inspectable record of each run, stage by stage - #emph[Learning loop]: a structured process by which diagnosed failures lead to Partitur patches, tested under an A/B gate against the golden suite before promotion This is the computational realisation of what epistemic systems have always required: a test of whether the knowledge-acquisition machinery is working, measured against independently established answers. == Factual Validation of Sentences Golden queries test the machinery on questions. A scholarly text poses the converse problem: it consists of sentences, each of which may express propositions about sources, objects and measurements, and the author wants to know, sentence by sentence, which of these propositions the registered evidence justifies. The Famulus lector (ai-lektorat) answers this question for every sentence of a paper; whether the propositions follow from the registered grounds is decided by the shared ground-resolution library famulus-proof, which the lector and the Famulus Notebook both import. The design follows directly from the terminological core of Part I (#ref(, supplement: [Section])): a sentence is not true or false; the propositions it expresses are. #emph[Validating a sentence] therefore means establishing that every factual proposition the sentence expresses is justified by registered evidence and that none is contradicted by it. #strong[Decomposition.] A language model decomposes the sentence into a conjunctive normal form: a set of clauses, each a disjunction of literals over a registered vocabulary of predicates (`Bestand(x, collection)`, `Wert(x, feature, value)`, `StehtIn(x, feature, source)`, …). Every clause carries a role --- #emph[core], #emph[identification], #emph[source statement], #emph[connection] or #emph[presupposition] --- with a weight (1.0, 0.8, 0.6, 0.4, 0.2). Parts of the sentence that assert no fact --- goals, norms, stipulations, evaluations, requests, references of the text to itself --- are recorded as non-factual and never enter the evidence test. A sentence with no factual clause receives the verdict #emph[no factual statement]. #strong[The evidence base.] For sentence #emph[s], the clauses to be tested are resolved against $ W\(s\)= F\(s\)union H\|_s\, $ where $F\(s\)$ are the facts that registered sources supply for the terms of #emph[s] (manifests, object files, measurement runs, bibliographies), each with its address, and $H\|_s$ is the part of the background rules $H$ --- identity equations, part--whole relations, closed-record rules --- that the terms of #emph[s] touch. A clause is #emph[justified] if it follows from $W\(s\)$, #emph[refuted] if its negation follows, and #emph[unsupported] otherwise. The degree of justification $delta\(s\)$ is the weight of justified clauses divided by the total weight. #strong[The verdict.] A sentence is #emph[sachlich validiert] (factually validated) if and only if five conditions hold: (1) $W\(s\)$ together with the normal form is consistent; (2) every core clause is justified; (3) $delta\(s\)gt.eq theta$, with $theta = 0.6$\; (4) three checks on the decomposition pass --- every term of the sentence appears as an argument of a literal or inside a classified non-factual part (term fidelity), no literal introduces a term foreign to the sentence, and a second, independent decomposition by a model of another family (since 20 October 2026 `deepseek-v4.1-flash:cloud` beside `gemini-3.8-flash`) agrees on the load-bearing clauses and on what is non-factual; (5) the sentence is compatible with the earlier sentences of the text and with the registers. Otherwise it is #emph[nicht validiert]. There is no third verdict "open": #emph[not validated] is the contradictory negation of #emph[validated], and it does not mean #emph[false] --- it means the registered evidence does not suffice. The design goal is asymmetric: no sentence whose propositions are false may be validated, at the price that some true sentences remain unvalidated while a source is missing. Such a sentence marks an evidential gap in the sense of #ref(, supplement: [Section]). #strong[Condition 5: compatibility.] Consistency with earlier sentences is tested without matching surface strings. Every accepted clause is written as a ground fact into a per-paper DuckDB store; incompatibility patterns --- two values of a functional feature, disjoint collections, an event before a birth or after a death, a count that contradicts an enumeration, a spelling that departs from the reference form of a name, a use of a term that a binding usage rule excludes --- are negative binary Horn clauses, evaluated as indexed SQL joins. Names are linked by key equality, then by edit-distance bounds with a fixed initial, then by a lookup in a reference work (Wikidata, restricted to humans with life dates); an embedding similarity is used only as a hint, never as a ground. A finding blocks the verdict only under a #emph[confirmation principle]: every fact it relies on must also be carried by the independent second decomposition. A defect of one model reading therefore produces a hint, not a verdict. #strong[Resolution.] Because the evidence base is almost entirely Horn, the decision procedure is fast. Unit propagation with two watched literals per clause @moskewicz2001chaff decides Horn sets in linear time @dowling1984horn\; only the small non-Horn remainder goes to a DPLL search @davis1962dpll, and the residue to saturation by resolution @robinson1965resolution. Every derived literal keeps a pointer to the clauses that justified it, so the reasons shown to the author are the derivation itself, read backwards to the registered facts. On the Famulus platform paper (557 sentences) the local tests take a median of 72 ms per sentence; the time a sentence costs is dominated by the model calls of the two decompositions, not by resolution. #strong[Terminology.] Technical terms are checked once per paper, in the background: for every term, a dictionary entry in the style of the LWgrammar institution @grasshoff2026lwgrammar records its definition and the roles in which the paper may use it (sign, truth-bearer, part of the world, action, agent …), bound to active LWgrammar senses and blocking usage rules where they exist; a new entry is written back to LWgrammar as a candidate sense for curation. Later checks match against this entry. The two institutions answer different questions and keep their verdicts apart: LWgrammar judges whether a text conforms to the rules of language use, famulus-proof alone whether its propositions are justified, and the registered rule that divides the two tasks requires every client to show both verdicts separately, never merged into one score. This is where the terminological core becomes operational: under the binding rule that consequence and contradiction hold between propositions, not sentences, the sentence "The number was right; the sentence contradicted it" uses #emph[sentence] as a truth-bearer and is not validated. #block[ #callout( body: [ #strong[A worked case.] The platform paper stated that the sundial ObjID126 "from the Waefler corpus" carries its latitude φ = 38.01° as the consensus of five independent measurement series. The decomposition yielded, among others, `Bestand(objid:126, waefler)`, `Wert(objid:126, breite, 38.01°)` and `Wert(objid:126, zeugen, fünf)`. The first was refuted by the Berlin Sundial Collaboration records, which place the object in the collection #emph[Ancient Sundials] (Delos, Inv. B3652); the second was justified by the joint estimate of the reconstruction (#ref(, supplement: [Section])); the third was refuted, because that estimate rests on four witnesses. After the author corrected collection and count, both clauses are justified. The sentence nevertheless remains unvalidated: its remaining core clauses, "as a consensus by the witness principle" and "not interpolated from a model", have no registered evidence. That is the correct outcome under the asymmetric design. ] , title: [ Note ] , background_color: rgb("#dae6fb") , icon_color: rgb("#0758E5") , icon: fa-info() , body_background_color: white ) ] #strong[Meta-validation.] The validator is itself subject to the discipline of #ref(, supplement: [Section]). A reader who holds a verdict to be wrong reports it; the report is assigned to exactly one error site --- decomposition gap, role error, rule error in $H$, register error, source error or source gap --- and yields candidate changes to rules, registers or the decomposition instruction. A candidate is accepted only by the owner and only after a gate: the reported sentence obtains the expected verdict, the golden sentences keep zero false validations and no higher rate of false non-validations, and a mutation test --- sentences whose numbers, names and relations are deliberately falsified --- validates none of them. On the platform paper, 7 sentences are validated, 474 not validated and 76 carry no factual statement; none of 28 mutants of the validated sentences is validated. That the calibration of weights and threshold barely moves these figures shows where the bottleneck lies: in missing sources, not in the setting of $theta$. The verdicts, with their reasons, are open to the same communal scrutiny that #ref(, supplement: [Section]) assigns to every scholarly claim. == Justified Answers over a Structured Ground Factual validation asks of a given sentence whether the propositions it expresses are justified. A question put to a collection poses the converse task: there is no sentence yet, only a propositional form with an open place --- #emph[Kármán corresponded between 1930 and 1940 with x persons] --- and the system is to supply the value together with its justification. The Famulus Notebook realises this for the PDAI collections, whose letters, pages, sentences, mentions, topics and speech acts are held in two DuckDB files per collection, a corpus file and a famulus file for everything derived from it @grasshoff2026famulusreasoning@grasshoff2026famulusdatalayer\; the notebook is the surface, and the justification is computed by the same library famulus-proof that serves the lector. The realisation inverts the order of retrieval (#ref(, supplement: [Section])). A question is assigned to one of the declared query forms (61 in the catalog of October 2026; the measurements below were taken on the 56 forms of 1 October); the form's single SQL statement proposes an answer and names its witnesses (the letters, acts or sentences that would carry it). For every witness the addressed facts are read --- the register's sender, recipient and date, the sentence a mention stands in, the model's reading of a request with the precision measured for such readings --- and the rules of the form's #emph[argument scheme] are grounded over them. The same ground-resolution prover that decides factual validity (#ref(, supplement: [Section])) decides whether the instance follows; its leaves are the evidence. The scheme's #emph[critical questions] @walton-1996-schemes are the collection's error model written as queries over the same data: letters without a resolved party or date, register entries that share a name form, duplicates, a relayed request, an evidence sentence that does not carry the reading's words, an unreliable language label, period boundaries that are only proposed. They are searched before any sentence is written, and each has a declared effect: it turns a count into a lower bound, merges what is shown to be the same, downgrades or --- when two independent witnesses agree --- upgrades an instance, or refutes the conclusion @pollock-1987-defeasible. The search for this justification is an expansion of a goal, and the turn from search to justification is where the two tasks meet. The goal is to justify the proposition the form's query proposes; it is expanded by the rules whose head it matches, an alternative per rule, with the atoms of a rule's body as new goals. A branch may end only in a ground: an addressed record, a reading of measured precision, a declared stipulation or a computed statement. A predicate with no ground and no rule that reaches one has no stock, and its branch closes at once as a gap. Where every open atom is closed, the expansion is a refutation of the negated conclusion; reducing it by deletion to the clauses without which the conclusion no longer follows at the same grade leaves a core in which every node contributes. The same tree is drawn for a sentence of a paper, from the verdict of factual validation (#ref(, supplement: [Section])): its leaves are again registered grounds or marked gaps @grasshoff2026famulusreasoning. Two consequences follow from the account of Part II. First, a count is itself an inference that needs a closure premise: #emph[exactly n] follows only if the register is declared complete for the range of the question. For a register without declared closure the justified conclusion is #emph[at least n], and absence does not follow at all. The quantifier of the answer is therefore not a caveat added to it but what its grounds entail; in the pilot, the 491 counterparts the query returns for Kármán's correspondence of 1930--1940 become, after duplicates and register entries for one person are merged, #emph[at least 443 persons (1,390 letters)]. Second, the weight of a model-read premise is its measured precision, not a confidence the model assigns itself: a reading counts as a medium-grade premise only if the lower bound of the 95 % interval of its precision on a sample reaches 0.7. Conclusions that rest on readings below that grade, or on conventions not yet confirmed by the owner, are #emph[not validated], and the argument names the weakest premise; in the pilot, 63 of 74 catalog questions were validated before any learning, and every one of the remaining ten named a specific task --- confirm the war boundaries, measure the act reading apart from its locus, add a second witness to a surname mention. A question that asks #emph[in which] letters something holds, not in how many, needs the closure premise in another form: that the list of grounds is complete. It is stated relative to a registered body of evidence and its version, `B@version` @grasshoff2026famulusreasoning. A filter books every letter of the collection as kept or excluded and certifies the booking; every occurrence of a name is read for its use, because a name form is not a mention (a law or an equation named after a person does not name the person); and a letter counts only if its writer is settled with at least medium grade. The completeness of the list rests on hard premises --- every hit booked, the booking certified, an independent reference search without loss, no blocking objection --- and on the share of candidates that remain open. Its verdicts form a scale of their own, distinct from the two verdicts of factual validation: #emph[validated] when nothing remains open (quantifier #emph[exactly]), #emph[validated with rest] when the open share lies below a threshold, by default 5 % (quantifier #emph[at least]), #emph[gap] when it lies above, an objection blocks or a request is open, #emph[not validated] when a hard premise fails, and #emph[request] when the filter first asks for a narrower question. Neither #emph[gap] nor #emph[not validated] says that the proposition is false; both say that the registered grounds do not justify it. In the runs of 18 October 2026 the question whether Kármán mentions Hitler in his correspondence is validated over all 15,976 letters with one letter as its ground, while the questions for Einstein and Prandtl end as gaps, with 9 of 44 and 191 of 643 candidates open. The answer is written from the validated argument: its first sentence is the conclusion, and the model may add detail only through placeholders for row values, so that no number reaches the answer that the argument does not carry. A retrieval baseline on the same 74 questions, answering from twenty BM25 passages with the same model, cited passages in 63 answers; of the 62 questions whose argument establishes a count, it answered 28 with a count, 24 of them with numbers that neither the query nor the argument establishes, and none of the 61 lower-bound questions with #emph[at least]. The category error of #ref(, supplement: [Section]) is measurable. The argument is stored as one file per answer and shown in the notebook as an interactive tangled tree with an explanation box per node, down to the register entry and the facsimile page. A reader who finds it unconvincing annotates a node; the annotation starts a learning episode in which a lesson --- a change to the declarative schemes, never to one case --- is diagnosed, written, and gated against the annotated case, every affected case and a mutation test with invented and displaced witnesses, before it is promoted; every promoted lesson remains revocable by the owner. The discipline of #ref(, supplement: [Section]) thus extends from the machinery's answers to the machinery's reasons. #horizontalrule = Part V: Implications == AI as Famulus, Not Oracle The title of the AI Erasmus companion derives from Erasmus's Basel workshop of the 1520s @grasshoff2026aierasmus: a household in which trained assistants (famuli) copied, collated, fetched, and checked --- so that Erasmus's judgement could be spent where only judgement serves. The familiar in the humanist workshop did not settle arguments; he prepared the material on which arguments were settled. This image captures the correct epistemic role for AI in scholarly inquiry. An AI system can: - Process large document collections at scales impossible for human readers - Extract candidate argument structures for human refinement - Identify evidential gaps --- premises with inadequate support --- that direct inquiry - Compile usage statistics and cross-reference patterns across corpora - Maintain provenance chains from assertion to primary source An AI system cannot: - Assert truth (it produces outputs, not truth-bearers) - Know propositions (it executes operations, not epistemic stances) - Bear epistemic responsibility (it is a tool, not a knowing subject) - Replace the interpretive judgement that requires engagement with the material, the period, and the scholarly community The appropriate relationship is complementary, not competitive: AI contributes speed and scale; the scholar contributes judgement and accountability. The danger is not that AI will replace scholarly judgement but that scholars will abdicate it --- treating AI outputs as authoritative without subjecting them to the same evidential scrutiny they apply to any other source. Computational epistemology provides the framework that makes such scrutiny possible. == Evidential Gaps as Research Agendas When argument reconstruction reveals a premise with inadequate evidential support, it identifies a research gap --- a specific question that the existing evidence base cannot yet answer. Evidential gaps, made explicit by computational means, are more actionable than the general sense that "more research is needed": - A gap in the support for premise P₃ in argument A says: #emph[this specific claim, playing this role in this argument, lacks grounding]. - The type of gap --- missing primary source, contested interpretation, unsupported causal mechanism --- determines where to look: archives, critical editions, further experiments. - The #emph[criticality] of the gap within the argument determines priority: a gap in a non-essential premise is less urgent than a gap in a premise on which the conclusion directly depends. This transforms gap identification from a limitation into a research instrument. The computational system does not merely tell the scholar what it found; it tells the scholar, in a structured way, what it did not find and why that matters. == The Scholarly Community as Ultimate Arbiter No individual --- human or artificial --- is the final judge of scholarly knowledge. Knowledge is a social achievement: produced through public articulation of claims, critical response, iterative refinement, and eventual convergence toward warranted consensus. This is what Longino calls the #emph[fate of knowledge] --- that it depends on the social organisation of critical discourse @longino-2002-fate --- and what Shapin traces in the history of truth as social institution @shapin-1994-social. Computational epistemology provides infrastructure for this social process, not a replacement for it. When argument structures are explicitly represented, scholars can scrutinise them --- add evidence, challenge premises, propose alternative reconstructions. When Partitur scores are public and citable, the method is open to community assessment. When evidential gaps are made explicit, the scholarly community can collectively decide which gaps are most urgent and which archival, experimental, or interpretive efforts should address them. This infrastructural role is not new; it is continuous with the history of scholarly communication. The critical edition, the scholarly journal, the peer-review process --- all are institutional arrangements that make knowledge claims publicly accessible and open to communal assessment. The #emph[Republic of Letters] functioned as an epistemic community precisely because correspondence made claims public and invited criticism @daston-1991-republic. AI Erasmus and its companions are the contemporary continuation of that tradition: making scholarly evidence publicly accountable at the scale that current document collections require. == The Proper Scope of Computational Epistemology Computational epistemology is not a theory of all knowledge; it is a methodology for scholarship --- for the disciplined, evidence-based inquiry into historical, scientific, and textual matters that constitutes the core of university research. It does not claim that all justified belief must take the form described here. It claims that scholarly inquiry --- the kind of inquiry that aims at public, criticisable, evidence-grounded propositions --- has this structure, and that making this structure computationally tractable is a genuine service to scholarship. The scope is also limited by the condition of interpretability. A computational system that produces conclusions without traceable reasoning is not a participant in scholarship, however sophisticated its outputs. Only when reasoning is explicit --- when Partiturs are declared, provenance is tracked, and golden query performance is measured --- can AI outputs be incorporated into the scholarly evidentiary chain. This limitation is not a bug; it is the condition of trustworthiness. #horizontalrule = Conclusion: The Methodological Ground Computational epistemology is the methodological ground for AI-assisted scholarly inquiry because it identifies the logical structure that evidence and justification must exhibit regardless of the domain in which inquiry proceeds. That structure is argumentative: evidence justifies propositions by figuring as premises in arguments whose conclusions are the propositions to be established. The quality of justification depends on the quality of evidence, the independence of witnesses, the proximity to primary sources, and the reliability of the interpretive steps. These conditions apply in physics as in philology, in astronomy as in the history of humanist correspondence. The key contributions of this article are: - A foundational account of epistemic systems as the conceptual ground for understanding both human and AI epistemic actors - A Wittgensteinian framework that precisely characterises what AI systems process (sentence-signs), what normative assessment requires (agreement with practice), and where justification terminates (hinge certainties) - A unified theory of evidence that articulates the structural parallels and material differences between evidence in the natural sciences and evidence in the humanities, including the distinctive logic of hermeneutic interpretation and intention attribution - A diagnosis of retrieval-augmented generation as a category error --- treating sentence similarity as propositional justification --- that cannot be remedied by scaling - A description of the computational realisation: two-phase argument reconstruction and assessment, evidence-directed search, Partitur-governed method, golden queries with independently established oracles as the trustworthiness measure, and the factual validation of sentences and justification of answers, whose grounds are addressed records or marked gaps What is not claimed is that computational epistemology makes AI infallible or eliminates the need for scholarly judgement. On the contrary: by making the operations of AI systems explicit, the framework exposes exactly where human judgement is required --- in assessing evidential quality, in interpreting the significance of gaps, in deciding what counts as adequate support in the given context of inquiry. The famulus prepares the material; the scholar does the work. The next steps are specific: + Argument reconstruction agents that extract premise/conclusion structures from PDAI documents, constrained by argument.dtd schema validation + Evidential quality assessors that classify evidence by type (primary/secondary, independent/dependent, measurement/interpretation) and assign quality scores + Gap identification reports that rank evidential absences by their criticality within reconstructed arguments + Extension of the golden-query suite to cover the full range of evidence types --- causal regularity claims, interpretive claims, intention attributions --- with type-specific oracles + Partitur integration: each evidence type has its own evidence-assessment sub-score, declared and revisable These are not aspirational goals; they are the next steps in a programme whose foundational methodology this article establishes, whose platform infrastructure AI Erasmus and AI Scholar provide, and whose trustworthiness mechanism the golden-queries companion specifies. #horizontalrule #heading(level: 1, numbering: none)[Acknowledgements] Earlier work on epistemic systems, conducted with Michael May and Kärin Nickelsen in the context of studies on the urea-cycle discovery and on experimental methodology in the natural sciences, provided the conceptual foundation for this article. The AI Erasmus platform team, and the ongoing conversations about evidence practice and scholarly infrastructure that have shaped the platform's design, have shaped every argument here. #horizontalrule #heading(level: 1, numbering: none)[References] #block[ ] #bibliography(("computational-epistemology-bibliography.bib"))