18.17. Complete checked cells in an ordinary real model
A complete root table cuts the real line into root sections and open sectors.
CellRead.read checks a supplied
row at every section and sector. It requires the exact number of rows in their
original order. Each section refers to its actual descriptor in the accepted
full table. Every sector supplies one ordinary point, selected signs comparing
that point with its adjacent roots, and a checked linear descriptor for the
same point. An absent infinite boundary uses a literal null marker. The whole
matrix is evaluated at that one point, retaining repeated and zero atoms.
CellReplay.check first checks
every original divisor. It then checks the supplied radical identities relating
the product of nonzero specialized atoms to the table's head. The accepted table
proves squarefreeness, complete root coverage and strict order. These conclusions
prove that atom signs are constant on each cell. Checked sample membership and
whole-row signs therefore establish the formula throughout each cell. Neither
coverage nor per-cell sign agreement is an assumed field of the certificate.
check_sound composes
those checked conclusions with the shared strict quantifier fold:
open Hex Hex.RealClosure
open Hex.RealClosure.Tower
open Hex.RCF.RealCoefficients
example
{registry : BaseContext.Registry}
{parent : Tower.Context registry}
{n : Nat}
(model : Model parent ℝ)
(values : Fin n → parent.Value)
(formula : RealFormula.QF (n + 1))
(guards : List parent.Value)
(cert : RadicalCert
parent.Value Tower.Signature)
(roots : RootReplay.Result
cert.core .negInf .posInf)
(rows : CellReplay.Evidence
roots values formula)
(quantifier : RealFormula.Quantifier)
(accepted : CellReplay.check values
formula guards cert roots rows
quantifier = .ok true) :
(RealFormula.Prenex.quant quantifier
(.matrix formula)).toProp
(fun i => model.value (values i)) :=
CellReplay.check_sound model values
formula guards cert roots rows
quantifier accepted
The companion check_domains
extracts all original nonzero divisors. Their identities with the freshly
recognized source expressions, their order, the fixed coefficient valuation
and the exact quantified formula are checked by
CellQuote.finish. Quotation
checks the ordinary proof against the original target and restores caller
state on failure. Half-open source domains remain inequality atoms in that
formula; they do not change the root queries' open-domain requirements.
The frozen five-cell regression uses both roots of X²−2 and ordinary sector points −2, 0 and 2. Its repeated atom and zero atom survive specialization and strict row evaluation. The fresh source proofs exercise existential and universal quotation, including the original divisor −1. True and false verdicts are checked separately; an accepted false result is only diagnostic. Changed points, swapped sections, a missing sector, a valid linear descriptor for another point, invalid context indices, cycles and missing basis evidence are rejected. The reader decodes all rows regardless of the matrix; a later invalid row remains an evidence error even when the matrix is false. All original guards precede decoding and Boolean shortcuts.
Further source controls authenticate Real.sqrt 4 as the stored value 2 and
retain two divisors, −1 and 2. Reversing their identities or using that valuation
for Real.sqrt 9 fails with caller-state restoration. This exercises a nonempty
frontend valuation over rational stored coefficients. A constant-only regression
has no roots and one sector with both boundaries absent. Both quantifiers check
true and false matrices; a zero divisor still fails before decoding. Boundary
controls reject wrong endpoint presence, swapped bounds and a sample outside
its claimed sector.
The source proofs, their actual dependencies and all new theorem axioms are
audited separately from producer diagnostics. Their axioms are exactly
propext, Classical.choice and Quot.sound. The checked records round-trip
through the owner's codecs. Shared JSON constructor data does not imply that
separate row readers share validation work.
This generic checked-cell interface assumes an actual lawful model of the parent in ℝ. It neither constructs that model from arbitrary provider history nor interprets an infinitesimal as a real number. Its frozen rational and fixed algebraic regressions are evidence for finite complete-cell assembly and source quotation; they do not establish general algebraic production, accepted completeness, automatic common-field construction or a strict compiled checker with arbitrary missing predecessor records. Nested contexts still require their checked arithmetic and full source authentication. This interface adds no tactic handler.