Anatomy of a Challenge
Turning prose criticism into a versioned claim a tool can test: the hypothetical gamma-blowup objection read three ways, with no real criticism yet ingested.
A hypothetical critic writes:
“Lorentz boosts cannot preserve the interval, because γ blows up as v approaches the speed of light.”
Is that true? The question cannot be answered until someone says what the sentence claims. Here are three readings:
| Reading | Statement | Status by inspection |
|---|---|---|
| R1 | As $v\to1$, the transformed coordinates $t'$, $x'$ are unbounded | True for fixed $(t,x)$ with $t\neq x$ (for example $t=1$, $x=0$ gives $t'=\gamma\to\infty$) |
| R2 | For some $\lvert v\rvert<1$, the interval is not preserved because $\gamma$ is large | False: the algebraic theorem (Chapter 20) holds for every $\gamma$ with $\gamma^2(1-v^2)=1$ |
| R3 | The boost is undefined at $v=1$ | True, and the claim contracts exclude it with the hypothesis $\lvert v\rvert<1$ |
A check by hand: at $v=3/5$, $\gamma=5/4$; at $v=12/13$, $\gamma=13/5$. For $(t,x)=(1,0)$ the boosted coordinates are $(5/4, -3/4)$ and $(13/5, -12/5)$. The coordinates grow, while the intervals, $25/16 - 9/16 = 1$ and $169/25 - 144/25 = 1$, do not change.
The critic’s sentence is true under R1 and R3 and false under R2, and all three are plausible things to have meant. A tool that “tests the criticism” without choosing a reading has tested an arbitrary one.
This chapter describes the procedure that prevents that: turning a statement made in words into a versioned claim a tool can test, without deciding in advance what the statement meant. It builds on claims (Chapter 1), assumptions (Chapter 2), the cross-system contract (Chapter 15) and the external-source records of Chapter 25.
The pipeline
source artifact + exact span
│
interpretation candidates ── standing: selected / alternative / unresolved / rejected / superseded
│
exactly one selected interpretation ──► one versioned Claim
│
predeclared validation profile (required checks, negative controls)
│
execution evidence + correspondence audits
│
validation dossier ──► bounded conclusion
Each stage is a record defined in the project’s P1 contracts, and none may skip the one before it.
1. Pin the source and the exact words
A SourceArtifact records identity, version, hash, locator and redistribution
boundary. A SourceSpan pins an exact locator, the text and a hash of the
normalized text, with a derived span_id. Chapter 25 shows this
on a real printed source. For the MATH01 case, the project’s own four statements,
such as
forall t,x,v,gamma in R, gamma^2*(1-v^2)=1 -> (gamma*(t-v*x))^2-(gamma*(x-v*t))^2=t^2-x^2,
are stored as source texts under experiments/relativity/dossiers/sources/ and
used as the “source”.
2. Keep several interpretations alive
An InterpretationCandidate carries a statement, definitions, assumptions,
quantifiers, a standing, a rationale and its own unresolved obligations. The
five standings are selected, alternative, unresolved, rejected and
superseded. For the critic above, R1 to R3 would be three candidates.
The contract’s rule is that a finished communication has exactly one selected
interpretation, and that an unresolved interpretation cannot be selected or
become source-qualified. The repository includes a synthetic example
(valid-unresolved-communication.json): a draft whose only interpretation is
unresolved, with selected_interpretation_id null and the obligation
“Interpretation is unresolved.”
This stage forces a choice to be written down with a reason, and the choice is a human decision. Choosing R2 over R1 is choosing to evaluate a stronger, more interesting claim, and the rationale field is where the chooser says why.
3. One exact claim
The selected interpretation becomes a Claim, and the communication stores its
fingerprint. If the claim’s statement, definitions, assumptions or quantifiers
differ from the selected interpretation, each difference needs a
ClaimNormalization with a non-empty explanation. A silent tightening is a
validation error. The communication also carries a role: source_claim,
formal_statement, negative_control, comparator or derived.
A communication’s name may not assert truth. The validator rejects names containing “proved”, “proven”, “verified”, “is true” or “true theorem”. A challenge is named for what it says, never for how it ended.
4. Declare the checks in advance
A ValidationProfile lists every check before any runs, and splits them into
required and advisory. It may include a negative control, which cannot
predeclare an expected status of formally_verified or
computation_verified_within_stated_domain. For R2 above, the natural negative
control is a variant that should fail, such as the shear of
Chapter 5. Declaring the checks first stops anyone choosing them
after seeing the results.
5. Evidence, correspondence, conclusion
Execution produces ordinary EvidenceResult records (Chapter 3).
A CorrespondenceAudit binds together the communication, the claim fingerprint, a
known formalization binding and the source-span hashes, and records whether the
formal statement matches the selected interpretation. That is a structural check,
not semantic equivalence (Chapter 15).
The dossier then recomputes the bounded conclusion by the fixed precedence of
Chapter 6. A challenge to a source can end in
refuted_by_valid_counterexample, correspondence_failure, incomplete,
source_claim_qualified and so on. source_claim_qualified never means that the
source is right.
Three worked cases
| Case | Source | What the procedure shows |
|---|---|---|
| MATH01 Lorentz | Project-owned statement text | The simplest full pass; four communications, four profiles; one negative control (the shear) |
| Euclid I.47 (P5/P6) | Heath 1908, p. 349 | The source claim stays not_evaluated; a separate modern claim is verified; the correspondence between them is a project-authored interpretation (Chapter 25) |
| Cannon geometric action (P8) | A pinned external Lean repository | Evidence arrives in conflicting records; no verdict is forced (Chapter 28) |
All three involve consistent material: no source here asserts something the project set out to refute. That is the gap this chapter has to leave open.
What is missing: a real criticism
The book’s plan for this part promises published criticisms put under test. The engine has the machinery and has not yet been pointed at a real criticism. Doing so needs:
- a pinned primary source: an exact edition, page and span;
- a faithful reconstruction, preserving the author’s own wording, before any evaluation (the project’s citation conventions require this);
- alternative interpretations recorded, not just the convenient one;
- any repaired or weakened variant labelled as a new claim, never as the author’s;
- a neutral report that distinguishes a mathematical inconsistency, a disputed modeling assumption and an experimental disagreement (Chapter 4).
The evidence policy’s symmetry rule applies: “Established and unconventional claims use the same contracts and evidence thresholds.” Choosing the first real case is a decision for the project owner.
What this establishes
The procedure turns “is the criticism right?” into a sequence of narrower questions, each either answerable or explicitly open: what exactly is claimed, which reading was chosen, which checks were committed to in advance, what ran, and what the result entitles anyone to say. It cannot say whether a criticism is interesting, or whether the critic is right about physics.
No claim is introduced. The readings R1 to R3 are illustrative, were evaluated by hand, and are not claim contracts.
Try it yourself
uv run python scripts/generate_math_val01_contract_fixtures.py --check
uv run pytest -q tests/test_math_val01_contracts.py
Seeded errors. Set a communication’s name to “Lorentz invariance is
proved”; the name validator should reject it. Mark a second interpretation
selected while the first is also selected; validation should reject two
selected interpretations. (Both are described from the contract; not run for this
edition.)
Exercise. For the reading R1, find the boosted coordinates of $(t,x)=(1,0)$ at $v = 24/25$, and check that the interval is still $1$. (Answer: $\gamma = 25/7$, so $(t',x') = (25/7, -24/7)$, and $625/49 - 576/49 = 1$.)
Open questions.
- Who picks the first real criticism, and by what rule? A rule such as “the most cited” or “the one the owner finds most interesting” is itself a bias to record.
- Is
unresolvedtoo easy a place to leave a hard interpretation? What does a dossier that never resolves cost? - Should the hypothetical critic in this chapter be replaced by a real quotation once a source is chosen, or kept as a clearly labelled teaching device?
Sources
No primary source for any real criticism is cited. In the repository:
src/math_engine/communication.py, docs/architecture/theorem-communication.md,
tests/fixtures/math_val01/ (synthetic fixtures, not evidence) and
content/planning/EVIDENCE_AND_CITATIONS.md (the quotation and challenge policy).