hex

18.18. Frozen cells over a selected algebraic coefficient🔗

Fix the coefficient field ℚ(√2), with its positive selected embedding in ℝ. The polynomial X²−√2 has two real roots. The supplied complete table identifies both roots, orders them, and supplies ordinary sector points −2, 0 and 2. Its source matrix repeats the polynomial with opposite non-strict comparisons and includes a zero atom. The radical certificate checks that the product of the nonzero atoms has precisely the roots of X²−√2.

These examples import the monorepo fixture HexRCF.CellReplay.Algebraic.Quoted. The original real source is proved by fresh schema preparation, fixed-coefficient specialization, complete cell replay and quotation:

open Hex.RCF.RealCoefficients open CellReplayTests example : ∃ x : ℝ, x ^ 2 - Real.sqrt 2 ≥ 0 ∧ x ^ 2 - Real.sqrt 2 ≤ 0 ∧ (0 : ℝ) = 0 := Algebraic.Quote.source

The complete-packet interface reads the full root table before its cell rows. CompleteReplay.check then checks the radical identities and strict quantifier fold. Its soundness theorem accepts untrusted root and cell packets and proves the shared sentence at the supplied fixed real interpretation:

open Hex Hex.RealClosure Hex.SignDet open Hex.RealFormula open Hex.RCF.RealCoefficients example {r : BaseContext.Registry} {c : Tower.Context r} {n : Nat} (model : Tower.Model c ℝ) (codec : ValueCodec c.Value) (values : Fin n → c.Value) (formula : QF (n + 1)) (guards : List c.Value) (cert : RadicalCert c.Value Tower.Signature) (quantifier : Quantifier) (roots cells : Codec.Json) (accepted : CompleteReplay.check codec values formula guards cert quantifier roots cells = .ok true) : (Prenex.quant quantifier (.matrix formula)).toProp (fun i => model.value (values i)) := CompleteReplay.check_sound model codec values formula guards cert quantifier roots cells accepted

CellQuote.finishPacket additionally binds this checked shared sentence to a freshly reified original source, its fixed coefficient valuation and all ordered original divisors. These fresh source proofs use the same algebraic matrix, including a divisor whose value disappears from the normalized zero atom:

open Hex.RCF.RealCoefficients open CellReplayTests.Algebraic example : ∃ x : ℝ, x ^ 2 - Real.sqrt 2 ≥ 0 ∧ x ^ 2 - Real.sqrt 2 ≤ 0 ∧ 0 / (-1 : ℝ) = 0 := ⊢ ∃ x, x ^ 2 - √2 ≥ 0 ∧ x ^ 2 - √2 ≤ 0 ∧ 0 / -1 = 0 All goals completed! 🐙

The source-boundary checks refuse a false verdict, a different original formula, missing divisor identities and a cancelled zero divisor. A separate CompleteReplay.check_domains theorem proves every original guard nonzero in the supplied model. The new source proofs reuse the independently checked frozen fixture and finite codec laws. They do not claim a fresh reduction of the serialized readers. The supplied real model and coefficient codec also do not reconstruct general frozen provider or predecessor histories. In particular, the compiled supplied-operation fallback described below still prevents treating this as strict replay with arbitrary missing records.

The table's exact root set and strict order are proved conclusions of the supplied replay. The positive and negative fourth roots of 2 have the same square but different selected identities:

open Hex.RCF.RealCoefficients open CellReplayTests example (x : ℝ) : x ∈ Algebraic.Canonical.roots.values Algebraic.Schema.original ↔ x = Real.sqrt (Real.sqrt 2) ∨ x = -Real.sqrt (Real.sqrt 2) := Algebraic.Meaning.roots_eq x example : (Algebraic.Canonical.roots.values Algebraic.Schema.original).Pairwise (· < ·) := Algebraic.Meaning.ordered

All coefficient signs used by these readers come from 21 distinct frozen scalar packets. Each packet passes the owner's scalar reader in the ordinary kernel before entering the initially empty inventory. The complete table, section rows, sector boundaries, point descriptors and point rows are then checked using those supplied operations. Equality laws transport the accepted data to the canonical coefficient operations. No supplier is called during acceptance. The matrix fold visits every cell for both quantifiers; the true existential and false universal verdicts are checked separately.

Original divisors still enter preflight when a zero numerator removes their value from the normalized matrix. This source retains and authenticates −1:

open Hex.RCF.RealCoefficients open CellReplayTests example : ∃ x : ℝ, x ^ 2 - Real.sqrt 2 ≥ 0 ∧ x ^ 2 - Real.sqrt 2 ≤ 0 ∧ 0 / (-1 : ℝ) = 0 := Algebraic.Guards.source

A supplied zero divisor is rejected before decoding, including with a malformed packet. The fresh quotation module rechecks both original proof bodies, requires the actual frozen readers and carrier acceptance, and excludes earlier source witnesses. Their only axioms are propext, Classical.choice and Quot.sound. Kernel reduction diagnostics separately prohibit native root, sign and scalar production while checking replay acceptance.

The same checked rows can be reused when the entire ordered specialized polynomial list is unchanged, including repeated and zero atoms. Changing a comparison or Boolean connective still requires a fresh strict fold and source quotation. The transfer preserves every stored row; it does not identify the old and new propositions. These universal and between-root examples reuse the same packet:

open Hex.RCF.RealCoefficients open CellReplayTests example : ∀ x : ℝ, (x ^ 2 - Real.sqrt 2 < 0 ∨ x ^ 2 - Real.sqrt 2 ≥ 0) ∧ (0 : ℝ) = 0 := Algebraic.BooleanSources.lt_or_ge example : ∃ x : ℝ, (x ^ 2 - Real.sqrt 2 ≤ 0 ∧ x ^ 2 - Real.sqrt 2 ≠ 0) ∧ (0 : ℝ) = 0 := Algebraic.BooleanSources.negative

Additional fresh proofs cover equality/non-equality and positive outer sectors. All six comparisons, conjunction, disjunction and negation are checked, including incompatible existential and false universal verdicts. Moving the zero atom changes the ordered polynomial list and the literal row reader rejects the reused packet. The fresh proof-body audit excludes the earlier source witnesses and scalar suppliers. Original divisor preflight and original-goal authentication remain mandatory for every new quotation.

This example uses one supplied lawful ordinary-real parent and one fixed complete packet. It establishes finite replay over a non-rational stored coefficient. General provider history, automatic common-field certification, all-live representation changes and complete algebraic construction retain their separate obligations. The supplied-operation interface remains kernel assembly: compiled evaluation can use its documented native fallback when records are missing, so it is not a strict checker for arbitrary compiled packets. This example installs no tactic handler or numerical provider.

The native construction API can produce the same complete packet. RootBuild.build retains the owner's full derivative table and its extracted roots. For a lawful ordinary real model, the owner theorem proves construction succeeds for every squarefree interpreted head:

open Hex.RCF.RealCoefficients open Hex.RealClosure open HexPolyTheory.Interpret example {r : BaseContext.Registry} {c : Tower.Context r} (model : Tower.Model c ℝ) (p : Hex.DensePoly c.Value) (sq : Squarefree (interpret model.value model.zero_iff p)) : ∃ result, RootBuild.build p = .ok result := RootBuild.success model p sq

CellBuild.prepare first checks the original divisors, then specializes the shared atoms and constructs their radical carrier and complete root table. prepare_success derives progress and the literal radical check from the ordinary parent model, without assuming squarefreeness or a root list. Zero and repeated atoms retain their original positions in the source matrix.

CellBuild.build constructs every section row and every sector record for that complete root table and proposed ordinary parent-field points. Strict adjacent signs check each point; incorrect exterior points are refused. Original divisor preflight comes first, and production errors retain their structured cause. The construction conformance produces the radical, roots and all rows for X²−√2 and verifies their exact match with the frozen packet used above. Native construction supplies proposals; the quoted proofs continue to consume the independently checked frozen data.

This explicit-point interface does not discover ordinary sector points in arbitrary parents, assemble missing scalar/provider histories or prove general frontend acceptance. RowEncode.read_covered proves the shared row reader recovers an encoded checked row from finite predecessor-codec coverage. It neither supplies that coverage nor turns a compiled verdict into proof evidence.

The separate native CellDiscover.run API obtains ordinary points from the owner's complete partition. Its actual collection converts all fixed source coefficients and original divisors into the same common context before carrier, root and row construction. It needs no supplied point function. The original parent's model extends through that collection, so accepted cells prove the shared sentence at the original coefficient values, and accepted divisor checks establish the original guards. Those semantic results do not assume that source and target representations are identical.

open Hex.RCF.RealCoefficients open Hex.RealClosure example {r : BaseContext.Registry} {c : Tower.Context r} {ps : List c.Poly} (family : Tower.Sample.Partition c ps) (cut : Fin (family.values.length+1)) : Tower.Cell.sector (SectorRequest.Cut.lower family cut) (SectorRequest.Cut.upper family cut) ∈ family.cells := SectorRequest.Cut.adjacent family cut

CellAlignment.aligned derives exact equality between the partition's ordered real boundaries and the independently checked radical root table. It uses the source coefficient conversion, complete root coverage and strict ordering; equality of the two root lists is not an extra premise. Its dimensions theorem also derives the required sector count. Compilation tests construct and replay X²−√2 with automatically selected points in an enlarged context, reject the result in the old context, and check true/false formulas, zero atoms and literal half-open domain guards, including equal and reversed endpoints.

This is native production followed by independent cell replay. The returned collection retains native conversion history; it is not a frozen certificate of that history. General frozen history, strict compiled missing-record checks and automatic source quotation retain their separate obligations. No native verdict is a proof of a real sentence.

CellDiscover.run uses SectorRequest.points and the owner's proved boundary-request API. Cut.adjacent establishes the requested endpoints for every sector index, including both rays and an empty table's whole line. CellAlignment.sector_vector retains the request equation and transports those endpoint inequalities to the independently checked radical table. The adapter proves this index correspondence using public cell-membership laws and list identities; no new owner index theorem is needed.

CellProgress obtains each selected-sign row and each ordinary-point descriptor from the owner's actual construction theorems. A checked linear head binds the point row to its proposed value:

open Hex Hex.RealClosure open Hex.RealFormula open Hex.RCF.RealCoefficients example {r : BaseContext.Registry} {c : Tower.Context r} {n : Nat} (model : Tower.Model c ℝ) (point : c.Value) (values : Fin n → c.Value) (formula : QF (n + 1)) : Nonempty (PointRows.Packet point values formula) := CellProgress.point_packet model point values formula

CellDecision.complete composes the actual collection, source conversion, radical/root preparation, requested sector points and complete typed rows. Given a lawful ordinary-real parent and nonzero original divisors, it derives accepted typed evidence and a total diagnostic verdict for each quantifier. The verdict is true exactly when the shared sentence holds at the original fixed coefficient values. False verdicts remain diagnostics. The construction requires no supplied carrier, chosen root table, sector-point function or successful child-sign assumption. Its ordinary model remains an explicit domain hypothesis; this does not supply faithful models for arbitrary named constants.

CellBuild.evidence now produces those typed rows before freezing them. The public CellBuild.build serializes that same result in the existing packet layout. CellDiscover.run_success proves that the actual native discovery returns a packet: its cells equal the frozen constructed rows, and those rows produce exact diagnostic verdicts for both quantifiers at the original fixed coefficients. The returned vector itself is related to the indexed open cells by CellAlignment.sector_vector.

The discovery result emits its full rootGraph as well as cells. Packet.rootGraph_eq binds the graph to the actual typed root table and native writer. CellDiscover.run_complete proves that independently checking both emitted fields preserves both quantifier verdicts at the original coefficient values. It uses the returned native context's codec law; it does not restore an arbitrary frozen predecessor history.

open Hex.RealClosure open Hex.RealFormula open Hex.RCF.RealCoefficients example {r : BaseContext.Registry} {c : Tower.Context r} {n : Nat} (model : Tower.Model c ℝ) (values : Fin n → c.Value) (guards : List c.Value) (formula : QF (n+1)) (nonzero : ∀ d ∈ guards, d ≠ 0) : ∃ p, CellDiscover.run values guards formula = .ok p ∧ let family := p.family let input := family.collection.input ∃ data : CellReplay.Evidence p.roots (input.value ∘ values) formula, ∃ verdict, CellReplay.check (input.value ∘ values) formula (guards.map input.value) p.radical p.roots data .forallReal = .ok verdict := r:BaseContext.Registryc:Tower.Context rn:ℕmodel:Tower.Model c ℝvalues:Fin n → c.Valueguards:List c.Valueformula:QF (n + 1)nonzero:∀ d ∈ guards, d ≠ 0⊢ ∃ p, CellDiscover.run values guards formula = Except.ok p ∧ let family := p.family; let input := family.collection.input; ∃ data verdict, CellReplay.check (input.value ∘ values) formula (List.map input.value guards) p.radical p.roots data Quantifier.forallReal = Except.ok verdict r:BaseContext.Registryc:Tower.Context rn:ℕmodel:Tower.Model c ℝvalues:Fin n → c.Valueguards:List c.Valueformula:QF (n + 1)nonzero:∀ d ∈ guards, d ≠ 0p:CellDiscover.Packet values guards formulareturned:CellDiscover.run values guards formula = Except.ok pw✝¹:Vector p.family.collection.input.context.Value (p.family.values.length + 1)left✝²:SectorRequest.points p.family = some w✝¹w✝:p.family.values.length + 1 = p.roots.roots.length + 1data:CellReplay.Evidence p.roots (p.family.collection.input.value ∘ values) formulaleft✝¹:(CellBuild.evidence p.roots (p.family.collection.input.value ∘ values) (List.map p.family.collection.input.value guards) formula fun cut => w✝¹[Fin.cast ⋯ cut]) = Except.ok dataleft✝:p.cells = CellBuild.packet dataanswers:∀ (quantifier : Quantifier), ∃ verdict, CellReplay.check (p.family.collection.input.value ∘ values) formula (List.map p.family.collection.input.value guards) p.radical p.roots data quantifier = Except.ok verdict ∧ (verdict = true ↔ (Prenex.quant quantifier (Prenex.matrix formula)).toProp fun i => model.value (values i))⊢ ∃ p, CellDiscover.run values guards formula = Except.ok p ∧ let family := p.family; let input := family.collection.input; ∃ data verdict, CellReplay.check (input.value ∘ values) formula (List.map input.value guards) p.radical p.roots data Quantifier.forallReal = Except.ok verdict r:BaseContext.Registryc:Tower.Context rn:ℕmodel:Tower.Model c ℝvalues:Fin n → c.Valueguards:List c.Valueformula:QF (n + 1)nonzero:∀ d ∈ guards, d ≠ 0p:CellDiscover.Packet values guards formulareturned:CellDiscover.run values guards formula = Except.ok pw✝¹:Vector p.family.collection.input.context.Value (p.family.values.length + 1)left✝²:SectorRequest.points p.family = some w✝¹w✝:p.family.values.length + 1 = p.roots.roots.length + 1data:CellReplay.Evidence p.roots (p.family.collection.input.value ∘ values) formulaleft✝¹:(CellBuild.evidence p.roots (p.family.collection.input.value ∘ values) (List.map p.family.collection.input.value guards) formula fun cut => w✝¹[Fin.cast ⋯ cut]) = Except.ok dataleft✝:p.cells = CellBuild.packet dataanswers:∀ (quantifier : Quantifier), ∃ verdict, CellReplay.check (p.family.collection.input.value ∘ values) formula (List.map p.family.collection.input.value guards) p.radical p.roots data quantifier = Except.ok verdict ∧ (verdict = true ↔ (Prenex.quant quantifier (Prenex.matrix formula)).toProp fun i => model.value (values i))verdict:Boolaccepted:CellReplay.check (p.family.collection.input.value ∘ values) formula (List.map p.family.collection.input.value guards) p.radical p.roots data Quantifier.forallReal = Except.ok verdictright✝:verdict = true ↔ (Prenex.quant Quantifier.forallReal (Prenex.matrix formula)).toProp fun i => model.value (values i)⊢ ∃ p, CellDiscover.run values guards formula = Except.ok p ∧ let family := p.family; let input := family.collection.input; ∃ data verdict, CellReplay.check (input.value ∘ values) formula (List.map input.value guards) p.radical p.roots data Quantifier.forallReal = Except.ok verdict All goals completed! 🐙

Original fixed-field inputs can enter this producer through NumberField.cells. The existing number-field factory checks the original selected generator and supplies its ordinary-real model. Every coordinate retains its Coefficients.ofField interpretation. Original zero divisors are rejected before this factory runs, even for a constant or empty-domain matrix. NumberField.cellsWith reuses a checked presentation; its progress theorem retains the same actual vector, typed producer equation and frozen matrix as CellDiscover.run_success. cellsWith_complete further checks both emitted root/cell fields; cells_complete composes that acceptance with the actual presentation factory. Both verdicts retain the original selected-coordinate interpretation. No caller-supplied parent model is needed:

open Hex open Hex.RealClosure open Hex.RealFormula open Hex.RCF.RealCoefficients example {n : Nat} (g : RealAlgebraicNumber) (registry : BaseContext.Registry) (values : Fin n → QAdjoin g.toAlgebraic) (guards : List (QAdjoin g.toAlgebraic)) (formula : QF (n+1)) (guarded : ∀ d ∈ guards, d ≠ 0) : ∃ source p, NumberField.cells g registry values guards formula = .ok ⟨source,p⟩ ∧ NumberField.cellsWith source values guards formula = .ok p := n:ℕg:RealAlgebraicNumberregistry:BaseContext.Registryvalues:Fin n → QAdjoin g.toAlgebraicguards:List (QAdjoin g.toAlgebraic)formula:QF (n + 1)guarded:∀ d ∈ guards, d ≠ 0⊢ ∃ source p, NumberField.cells g registry values guards formula = Except.ok ⟨source, p⟩ ∧ NumberField.cellsWith source values guards formula = Except.ok p n:ℕg:RealAlgebraicNumberregistry:BaseContext.Registryvalues:Fin n → QAdjoin g.toAlgebraicguards:List (QAdjoin g.toAlgebraic)formula:QF (n + 1)guarded:∀ d ∈ guards, d ≠ 0source:NumberField.Presentation g registryp:CellDiscover.Packet (source.pack ∘ values) (List.map source.pack guards) formulareturned:NumberField.cells g registry values guards formula = Except.ok ⟨source, p⟩left✝:NumberField.present? g registry = some sourcebuilt:NumberField.cellsWith source values guards formula = Except.ok p⊢ ∃ source p, NumberField.cells g registry values guards formula = Except.ok ⟨source, p⟩ ∧ NumberField.cellsWith source values guards formula = Except.ok p All goals completed! 🐙

The native conformance constructs both selected roots of X²−2 and a computed coordinate in the field generated by the positive root of X³−2. It produces and reads their complete cell packets, checking both quantifier verdicts and original zero-guard refusal. These native round trips are diagnostics; the three generic progress/domain proof bodies receive separate ordinary-kernel and dependency audits. They do not establish arbitrary finite-codec replay.

Literal-reader acceptance still needs finite coverage of every serialized coefficient and context. Frozen provider/context histories, strict compiled missing-record checking and fresh general source-goal quotation retain their own obligations. A separate manually run stress target checks a four-boundary union of the algebraic equation and half-open guards. Its retained diagnostic trace exposes a substantial cost in cell-row production; this is a performance limitation, without a scaling or speedup claim.

Independently constructed coefficient contexts can enter complete packet production through GatherCells.build. Each input retains its original owner; several coefficients can share an owner, and a guard can be absent from the coefficient tuple. The coefficient order, guard order and schema arity remain independent. A zero original guard is rejected before gathering, including for a constant matrix with no coefficient parameters.

buildWith reuses the actual owner's gathering result. A compatible ordinary model proves complete packet production without assuming a successful child producer or choosing a new primitive common field:

open Hex Hex.RealClosure open Hex.RealClosure.Tower open Hex.RealFormula open Hex.RCF.RealCoefficients example {r : BaseContext.Registry} {b : BaseContext.PackedContext r} {os : List (Context r)} {n : Nat} (shared : Shared b os) (target : Model shared.input.context ℝ) (models : Inclusions.Models target shared.maps) (cs : Fin n → GatherCells.Source os) (gs : List (GatherCells.Source os)) (f : QF (n+1)) (nonzero : ∀ g ∈ gs, g.2 ≠ 0) : ∃ p, GatherCells.buildWith shared cs gs f = .ok p := r:BaseContext.Registryb:BaseContext.PackedContext ros:List (Context r)n:ℕshared:Shared b ostarget:Model shared.input.context ℝmodels:Inclusions.Models target shared.mapscs:Fin n → GatherCells.Source osgs:List (GatherCells.Source os)f:QF (n + 1)nonzero:∀ g ∈ gs, g.snd ≠ 0⊢ ∃ p, GatherCells.buildWith shared cs gs f = Except.ok p r:BaseContext.Registryb:BaseContext.PackedContext ros:List (Context r)n:ℕshared:Shared b ostarget:Model shared.input.context ℝmodels:Inclusions.Models target shared.mapscs:Fin n → GatherCells.Source osgs:List (GatherCells.Source os)f:QF (n + 1)nonzero:∀ g ∈ gs, g.snd ≠ 0p:CellDiscover.Packet (GatherCells.values shared cs) (GatherCells.guards shared gs) fbuilt:GatherCells.buildWith shared cs gs f = Except.ok pright✝:∀ (quantifier : Quantifier), ∃ verdict, CompleteReplay.check p.family.collection.input.context.codec (p.family.collection.input.value ∘ GatherCells.values shared cs) f (List.map p.family.collection.input.value (GatherCells.guards shared gs)) p.radical quantifier p.rootGraph p.cells = Except.ok verdict ∧ (verdict = true ↔ (Prenex.quant quantifier (Prenex.matrix f)).toProp fun i => (models.get (cs i).fst).fst.value (cs i).snd)⊢ ∃ p, GatherCells.buildWith shared cs gs f = Except.ok p All goals completed! 🐙

build_complete additionally derives successful gathering from the original owners' compatible base signatures and an ordinary base interpretation. Both quantifier verdicts are proved equivalent to the shared sentence at the original owner values. build_domains establishes every original typed guard nonzero from successful production. These are native-context results: they supply neither source-expression identities nor frozen provider/predecessor histories, and do not discharge strict compiled missing-record admission.

The native conformance combines separate positive √2 and √3 owners, repeats one source coordinate, and checks a leading cancellation and repeated zero root. It reads both emitted packets, refuses swapped coefficient coordinates, and checks a false constant with no coefficient parameters but retained guards. A late original zero guard still rejects that constant case. Compiled verdicts remain controls; the generic construction and transport laws are separate ordinary-kernel proofs.

AlgebraicCells.build starts from original RealAlgebraicNumber inputs. It constructs their checked selected presentations and gathers the resulting owners automatically. Separate finite indices specify the coefficient tuple and the original guards; repeated indices and guard-only inputs are retained. An original zero guard rejects before any presentation construction. Recognized rational inputs use checked points in the rational predecessor, including guard-only inputs. This avoids adjoining a root of a linear polynomial just to represent a rational. Other inputs retain the owner's selected-root factory and its check of the original embedding. Every declared input is presented and gathered, even when absent from both index collections. An unused irrational input can enlarge the tower, so a focused input tuple avoids that additional cost.

The automatic constructor needs only the original nonzero guards for its progress theorem. The rational interpretation, owner compatibility and selected coordinate identities are derived:

open Hex Hex.RealClosure open Hex.RealFormula open Hex.RCF.RealCoefficients example (r : BaseContext.Registry) {m n : Nat} (vs : Fin m → RealAlgebraicNumber) (cs : Fin n → Fin m) (gs : List (Fin m)) (f : QF (n+1)) (nonzero : ∀ i ∈ gs, vs i ≠ 0) : ∃ s p, AlgebraicCells.build r vs cs gs f = .ok ⟨s,p⟩ := r:BaseContext.Registrym:ℕn:ℕvs:Fin m → RealAlgebraicNumbercs:Fin n → Fin mgs:List (Fin m)f:QF (n + 1)nonzero:∀ i ∈ gs, vs i ≠ 0⊢ ∃ s p, AlgebraicCells.build r vs cs gs f = Except.ok ⟨s, p⟩ r:BaseContext.Registrym:ℕn:ℕvs:Fin m → RealAlgebraicNumbercs:Fin n → Fin mgs:List (Fin m)f:QF (n + 1)nonzero:∀ i ∈ gs, vs i ≠ 0s:(i : Fin m) → NumberField.Presentation (vs i) rshared:Shared (BaseContext.PackedContext.pack (BaseContext.rational r)) (AlgebraicCells.owners s)packet:CellDiscover.Packet (GatherCells.values shared (AlgebraicCells.coefficients s cs)) (GatherCells.guards shared (AlgebraicCells.guards s gs)) fbuilt:AlgebraicCells.build r vs cs gs f = Except.ok ⟨s, ⟨shared, packet⟩⟩right✝:∀ (quantifier : Quantifier), ∃ verdict, CompleteReplay.check packet.family.collection.input.context.codec (packet.family.collection.input.value ∘ GatherCells.values shared (AlgebraicCells.coefficients s cs)) f (List.map packet.family.collection.input.value (GatherCells.guards shared (AlgebraicCells.guards s gs))) packet.radical quantifier packet.rootGraph packet.cells = Except.ok verdict ∧ (verdict = true ↔ (Prenex.quant quantifier (Prenex.matrix f)).toProp fun i => (vs (cs i)).toReal)⊢ ∃ s p, AlgebraicCells.build r vs cs gs f = Except.ok ⟨s, p⟩ All goals completed! 🐙

These native-input theorems preserve both emitted quantifier verdicts at the original selected real values. build_domains concludes every original real divisor nonzero from production success, including for constant formulas. build_sound derives both accepted verdicts from the exact successful build equation, without assuming guard validity; GatherCells.build_sound also derives compatible owner origins from successful gathering. They do not assemble frozen provider/predecessor histories or prove general source-goal quotation and strict compiled missing-record admission.

The complete literal checker can use checked cached arithmetic through CellOperations.check. It takes the owner's existing Replay.Operations dictionary, whose equalities bind every supplied operation to the ordinary implementation. Root and cut indices remain canonical while section and sector evidence is read. The result preserves every error and both verdicts:

open Hex Hex.RealClosure Hex.SignDet open Hex.RealFormula open Hex.RCF.RealCoefficients open Hex.RealClosure.Replay example {r : BaseContext.Registry} {p : Tower.Context r} (o : Operations p.sign) (v : ValueCodec p.Value) {n : Nat} (vs : Fin n → p.Value) (f : QF (n+1)) (gs : List p.Value) (c : RadicalCert p.Value Tower.Signature) (q : Quantifier) (graph cells : Codec.Json) : CellOperations.check o v vs f gs c q graph cells = CompleteReplay.check v vs f gs c q graph cells := CellOperations.check_eq o v vs f gs c q graph cells

Original guard preflight, radical identities, complete root/cell coverage and the strict fold retain their existing soundness and domain theorems. CellOperations.accept? supplies the optional success predicate consumed by record assembly; only an accepted true verdict yields success. The public checker retains its typed failures and diagnostic false result. These interfaces do not authenticate source coefficients, construct general frozen histories or establish strict compiled rejection of missing intermediate arithmetic records. The compiled controls and ordinary proofs are separate; one source regression reuses independently checked fixture acceptance and finite codec laws as a transport check. A separate assembled-source regression collects actual reached records, checks complete literal packet acceptance in the ordinary kernel, and quotes the original statement ∃ x, x² - √2 ≥ 0 ∧ x² - √2 ≤ 0 ∧ 0 = 0. Its fresh consuming module derives ∃ x, x² = √2 and audits the actual proof bodies with only the standard three axioms, excluding the older fixture acceptance and source theorems. This uses a fixed retained field and finite coefficient codec; it does not reconstruct arbitrary frozen histories.

For a closed retained base/root context, RealModel.build constructs its ordinary-real interpretation from a caller-supplied real base model and each root's actual descriptor, frame and encoding proof. It checks every prefix's context, rejects a mismatched base model or exhausted depth bound, and restores elaborator state on failure. This interpretation still needs checked identities connecting its coefficient and divisor values to the original source statement.

A source equation alone does not distinguish real conjugates. SourceIdentity.observe reads a checked scalar sign at the native descriptor's selected root and binds every polynomial coefficient to its rational source query. SourceIdentity.margin expresses membership in the source's isolating disc as a positive rational polynomial value. The equation and margin must hold at the same root; SourceIdentity.select then identifies that value with the source's selected embedding. The checked source-identity example uses independently replayed equation and margin packets for the retained √2 coordinate, with a separate ordinary-kernel body audit. These are source interpretation lemmas and a fixed-input example; general frozen source-history reconstruction still needs its own checked assembly.

CellQuote.finishOperations takes the supplied-operation acceptance expression and an ordinary proof that its result is some (). It kernel-checks that exact equation, transports it to the canonical checker, and performs the original source, valuation and divisor checks of CellQuote.finishPacket. A reduced conversion proof can retain its original expected equation through this API. Failure restores both metavariables and auxiliary proof declarations.

Meta clients can prepare these native inputs from the original Lean statement with AlgebraicPreparation.prepare. It reuses the shared source translator and the checked algebraic interpretation of each coefficient and original divisor. Its default proof callback, FieldRuntime.nonnegative, attempts routine nonnegativity facts and restores its state on decline. A caller can supply another callback returning an ordinary proof or none; thrown exceptions remain terminal. Preparation checks each supplied proof and retains one aggregate reflection budget across the source, coefficients and divisors. The source equivalence is charged during reification and again when retained as a private theorem for later composition:

open Lean Meta Qq open Hex.RCF.RealCoefficients run_meta do let .ok prepared ← AlgebraicPreparation.prepare q(∀ x : ℝ, x^2 + 1 / (Real.sqrt 2 + 1) > 0) | throwError "unsupported source" let guards := prepared.source.divisors unless guards.size == 1 do throwError "missing original guard"

The resulting environment stores coefficient proposals first and every original divisor afterward, with separate ordered indices for each role. Its build method runs AlgebraicCells.build on those proposals. It does not first require a primitive common-field irreducibility certificate. The source identities are ordinary-kernel proofs about the retained algebraic expressions; they do not authenticate quoted literals for the computed proposals. This preparation API does not install a new rcf handler or close the remaining frozen-context, literal-authentication and general source-quotation obligations.

For the retained algebraic expressions, prepared.acceptanceIff proves an exact acceptance equivalence. The left side requires the actual algebraic producer to return a complete packet and that packet's checker to accept true. The right side contains both the original real statement and every original divisor's nonzero condition. Guard validity is a conclusion of acceptance, even when cancellation or an empty interval makes the statement trivial. The helper reconstructs the ordered original guard inventory from the target; editing both stored guard arrays cannot remove or replace an obligation. The existing producer completeness and domain laws prove this equivalence; no successful child calculation is assumed.

open Hex Lean Meta Qq open Hex.RCF.RealCoefficients open Hex.RealClosure.BaseContext run_meta do let target : Q(Prop) := q(∀ x : ℝ, x^2 + Real.sqrt 2 > 0) let .ok prepared ← AlgebraicPreparation.prepare target | throwError "unsupported source" let before := prepared.usage let registry : Q(Registry) := q(fun _ => none) let .ok (equivalence, usage) ← prepared.acceptanceIff target registry | throwError "source equivalence failed" let auxName := mkPrivateName (← getEnv) (← mkFreshUserName `sourceDoc) let _ ← withDeclNameForAuxNaming auxName do Hex.RCF.checkProof `sourceAcceptance (← inferType equivalence) equivalence unless usage.proofNodes > before.proofNodes do throwError "proof usage did not increase"

This proof uses the checked algebraic expressions and their source identities. It does not identify separately computed proposals with frozen literals, reconstruct provider histories, or add a tactic handler. Those authentication and quotation obligations remain separate. The helper continues the same aggregate reflection budget, returns its updated usage for later stages, and restores caller state on exhaustion or failure. Callers continue with {prepared with usage} when constructing further proofs. Both preparation and acceptance preserve a caller's lowered recursion limit. Fresh importing regressions check its actual theorem bodies, true and false sources, retained zero guards and reversed intervals, with exactly the standard three axioms.

The automatic-input conformance uses both selected signs of √2 alongside an independent positive √3. It checks simultaneous conditions and a repeated zero root, both true and false quantified verdicts, an unused zero input, a late original zero guard, and empty true/false constant inputs. Separate linear constraints a < x < 1 distinguish the variable's selected coefficient: a = −√2 gives an existential true and universal false verdict; a = √2 gives both false. Thirteen actual automatic-input proof bodies are separately checked with only the standard three axioms.

The explicit HexRCFAlgebraicCellsStress target retains the stronger condition x² = √2 with 1 < x < √3 and its negative-conjugate control. A recorded run was interrupted after 12 min 33 s at 1.4 GiB peak without a final module result; this is neither a completed timing nor an acceptance result. Stack samples show nested native inversion, gcd and Sturm sign work below an IR interpreter call chain, without identifying a particular case or phase. The cost remains a limitation of this complete native route.