18.20. A frozen row at an ordinary selected root
Hex.RCF.RealCoefficients.SelectedFormula.checkRow checks one complete
ordered source-atom row at one selected ordinary real root. Supply the fixed
parent's faithful real model, the authenticated coefficients, every original
divisor, the shared formula, the selected-root context and a literal sign
packet. Divisors are checked before the packet. A packet must match the exact
root and ordered specialized polynomial keys; its graph checks the claimed
signs together at that root.
A true row supplies one ordinary witness:
open Hex Hex.RealClosure Hex.RCF.RealCoefficients in
example {registry : BaseContext.Registry}
{parent : Tower.Context registry}
(original : Tower.Model parent ℝ)
(values : Fin n → parent.Value)
(guards : List parent.Value)
(formula : RealFormula.QF (n + 1))
(context : Algebraic.Context parent.Value Tower.Signature
parent.sign parent.signature)
(packet : Algebraic.SignEvidence parent.Value Tower.Signature)
(accepted : SelectedFormula.checkRow original values guards
formula context packet = .ok true) :
∃ x : ℝ, formula.toProp (Samples.valuation original values x) :=
SelectedFormula.row_sound original values guards formula context packet accepted
Hex.RCF.RealCoefficients.SelectedFormula.row_domains proves nonzero
values for the supplied divisors. The frontend must still authenticate their
source identities and retain divisors erased by cancellation. A false row
supplies a counterexample at that point through
Hex.RCF.RealCoefficients.SelectedFormula.row_false; it does not decide
that an existential sentence is false. Malformed evidence and incomplete
rows retain separate diagnostics.
The frozen regression constructs the positive root α of X² − 2, proves
that its original value is Real.sqrt 2, and constructs a further selected
root of X² − α on (1, 2). Its shared formula retains the equation and both
strict bounds, with the checked joint row [0, 1, −1]. The fresh source proof
concludes ∃ x : ℝ, x² = Real.sqrt 2 ∧ 1 < x ∧ x < 2. The existing rcf
example proves the same sentence through the independent polynomial-quotient
path; the frozen regression exercises the native selected-field representation.
The regression restores the upper descriptor from parsed literal data and
structural graph expansion with Descriptor.ofChecked. It supplies checked
predecessor operations for both specialization and replay. Kernel diagnostics
reject listed native sign/root producer unfolds during generated scalar,
upper-data parser, root, row and collected refusal checks. Parent construction
and separately elaborated source/codec controls receive ordinary kernel checks
outside that diagnostic guard; zero requests alone would not establish it. Wrong coefficients,
reversed keys, a forged sign with unchanged keys and graph, a crossed context,
a stale version and an original zero divisor are rejected. Missing arithmetic
intermediates stay unresolved rather than yielding a Boolean verdict.
Rebuilding the complete frozen conformance fixture with owner dependencies warm took about 140 seconds on the recorded shared host; its largest child used about 8.8 GiB RSS. These are ordinary build observations, not a scaling or speedup claim. They include parsing, root and row quotation, refusals and audits.
This is an ordinary selected-root row API, conditional on the supplied faithful parent model. It provides neither complete root coverage nor a generic frontend certificate producer, universal sentence decision or nested infinitesimal realization. Source reification and original-goal transport remain obligations of a caller integrating the API.
A second frozen regression uses the owner's original-packing records for row arithmetic. Each record binds its original polynomial, retained representative and scalar sign to joint evidence for the representative and their difference at the same selected root. A value-preserving reduction alone does not identify the original request: a record for −2 cannot replace the requested record for −α². The regression removes that record while retaining −2, and separately removes an original zero and a nonzero constant. Each missing request stops kernel replay before a Boolean verdict.
The fixture has 42 records captured from historical row collection and one
additional nonzero original
X² − 2 that packs to canonical zero. All 43 records have named kernel-checked
laws tying them to the supplied scalar and joint packets. The complete literal
closure and actual acceptance proof bodies are audited. Replay uses zero
producer fuel; active kernel diagnostics separately exclude the listed native
producers. Source coefficients use authenticated Element.restore; the upper
descriptor and row packet still use checked scalar-fact inventories. This does not reconstruct
a general context catalog, prove full algebraic progress or make arbitrary
compiled dictionaries refuse on a missing record.
The byte entrypoints checkBytes
and checkBytesWith apply the
owner's byte/depth/integer-token limits, JSON parser and checked packet codec
before the same selected-root row check. All supplied original divisors are
checked before parsing, including malformed or zero-budget input.
The eight supplied arithmetic operations have the same checked equalities
as literal row replay.
The limits bound lexical decoding only. Compiled canonical arithmetic can run
native production, as can cached arithmetic on a fact miss; that cost is not
bounded by these limits. Decoding also depends on the supplied value codec.
The fixture uses the strict sign-fact codec. Its kernel proofs use the writer
and parser laws, without evaluating native production branches.
The result is Except String (Except Replay.Error Bool). An outer error
retains the owner's decoding or authentication diagnostic unchanged, including
version, root-binding and stored-sign failures. Evidence rejection can occur
in either result layer. An inner replay error,
accepted true and accepted false stay distinct. Diagnostic strings never
choose another solver. bytes_sound
gives one ordinary real witness;
bytes_false gives a
counterexample at the selected point, without deciding an existential
sentence false.
The byte regression uses the actual 38,990-byte encoding of the same frozen row. A kernel proof binds its constructor bytes to the owner writer; an independent lexical-limit proof and the owner's parser law recover the checked packet. The fresh source proof concludes the same complete original sentence. The byte data's entire definition closure is checked separately from proof axioms and compiled refusal controls. This checks bytes for a supplied immutable context; it does not reconstruct an arbitrary context catalog or remove the row API's source and model obligations.
A further conformance example supplies a complete selected-root packet to an
empty catalog with its validated rational base. The 2,911-byte packet retains
the full predecessor α=√2 and selected upper root of X² − α. Kernel proofs
bind both constructor JSON and bytes to that root, reconstruct the original
parent through writer identities and owner round-trip laws, and prove the
same original existential statement at the returned
root's ordinary real interpretation. Compiled catalog controls check the valid
packet and reject a stale binding, the wrong root kind and a changed endpoint
with its old graph binding.
Separate kernel proofs check context-reader refusals, byte limits and truncation.
The 75 JSON and 21 byte definitions have complete constructor audits; actual
proof bodies separately exclude the listed root/sign producer definitions.
This checks one supplied root and its source statement. It does not establish root-set coverage, a generic certificate producer or strict compiled catalog replay. The round-trip proofs do not evaluate frame validation; compiled controls use the default codecs and adjunction, which retain native paths. The proof uses the owner's leaf-encoding law rather than evaluating a native hash function, and composes the byte parser before catalog reconstruction.
A retained Mathlib-free experiment at source d84cecf uses this one 2,911-byte packet. Six alternating trial blocks retain eighteen samples, with host-specific median cumulative costs of 44.080 μs for lexical bounds, 153.576 μs for parsing and 407.027 μs for default catalog reconstruction. Native coefficient/adjunction paths remain. Preparation and proof construction are excluded; no scaling, strict-replay or tactic-speedup claim follows. Child memory includes startup and the harness.