Preprocessing of the Theorem 30 data structure with pruned encodings meets its specification for all limits (preCore)
ProvedLight.Sec4.preCoreSpec_allLet be a program of the light language that holds the fourteen routines of Section 4 at the numbers , holds the body of preCore at number , and meets, for every limits satisfying the standing assumptions, the specification of the shared stage with pruned encodings with constant . Then for every limits , preCore meets its specification:
for all parameters with , , addresses , matrices , with entries of absolute value at most , stored row by row at and below , limits satisfying , every memory and every depth with , the call ends within
steps, the final memory holds the data structure for at , and it differs from only in the block from to its end. Nothing is assumed about the previous content of the block.
Setting. The data structure of Theorem 30 is built for parameters with ( levels, inner levels), integer matrices and with entries of absolute value at most , and a threshold . It lives in a block of memory starting at an address : the shared tables of Section 2 with the pruned encodings of the row bands of and column bands of (only the leaves whose decimal digits contain at most nines are stored), the directory, the table of trie roots (one per tile) and the trie array (one trie per tile, holding the values of its boxes). The limits must satisfy the bounds : the standing assumptions (an address fits in a word and ), the block fits in memory, and , and fit in a word.
Here is the shape of the running time of the shared stage with pruned encodings, whose band term is times the number of leaves with at most nines (instead of ), and is the time of building the tries of all tiles.
“Procedure meets its specification within steps” means: called at any depth allowed by the hypothesis, with the given argument values and a memory satisfying the precondition, the body of terminates within steps without violating the limits, and the returned value and final memory satisfy the postcondition.
Formalization Note The statement is Has40 P → P[Proc.preCore]? = some preCoreBodyP → (∀ lim, Std lim → Sec2.SharedSpecP lim P c) → ∀ lim, PreCoreSpecP lim P c; the time is tPreCoreP c p t. The standing assumptions Std lim are part of Lim30.
/- Copyright (c) 2026 Anthropic, PBC. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. SPDX-License-Identifier: Apache-2.0 -/ -- Generated by skeleton subtraction from the ThreeSumApsp library at commit 27a2fa4bab32. import Definitions.Def_APSP299791_Defs5 set_option autoImplicit false set_option relaxedAutoImplicit false open Light open Light.Sec4
theorem Light.Sec4.preCoreSpec_all {P : Program} {c : ℕ} (h : Has40 P)
(h54 : P[Proc.preCore]? = some preCoreBodyP)
(hShared : ∀ lim, Std lim → Sec2.SharedSpecP lim P c) : ∀ lim, PreCoreSpecP lim P c := by sorry