allTiles builds the tries of all tiles of the Theorem 30 data structure (pruned encodings)
ProvedLight.Sec4.allTiles_specLet be a program of the light language whose procedure number is the body of allTiles, and in which the routine tile meets its specification for the limits . Then allTiles meets its specification for :
consider row bands and column bands whose encodings are stored at and , a table of root cells from , a trie area of cells from that holds the trie array (its length in the cell ), and scratch strings . Assume the standing assumptions on the limits, , that some bounds on the encodings at the leaves with at most nines satisfy , that , that where is the number of boxes of a tile, and that the areas lie in this order without overlap below the end of memory. Then for every depth with , the call ends within
steps; afterwards the trie area holds the tries of all tiles (tile built from row band and column band , each holding the values of all its boxes), the root cells hold their roots, and no cell below or behind the trie area has changed.
Only the leaves with at most nines of the encodings are read, so the routine works with the pruned encodings left by the shared stage.
“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 P[Proc.allTiles]? = some allTilesBody → TileSpecP lim P → AllTilesSpecP lim P.
/- 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 open ThreeSumApsp ThreeSumApsp.Spec open AllTiles
theorem Light.Sec4.allTiles_spec {lim : Limits} {P : Program} (hP : P[Proc.allTiles]? = some allTilesBody)
(hTile : TileSpecP lim P) : AllTilesSpecP lim P := by sorry