The batched band-array procedure fills the left input array of a band
ProvedLight.Batch.bandArrayBL_entryIn every program whose procedure number pBandArray is bandArrayBBody, under the standard limits (Std lim), the procedure meets BandArrayBLSpec lim P cBandArray: for parameters of Theorem 30 (with ), a source matrix stored at aX, a band , the digit tables of the band (BandTables) and enough space, the call with the arguments of bandArray (Section 2.3.4) returns within the cost bound with constant cBandArray and writes at arr the left input array of the band in the batched layout, keeping the rest of the memory.
The batched layout (Batch/Tiling): the source of the left side is a matrix (row by row), that of the right side a matrix (stored transposed); the slot of the band holds the row block number of the source, so one run of Theorem 30's data structure computes independent block products.
Meets lim P p d args μ T Q means: the call of procedure of at depth with the arguments args on memory returns within steps, under the limits lim, with a result and memory satisfying .
/-
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 3b45b374640a.
import Definitions.Def_APSP2995561_Defs2
set_option autoImplicit false
set_option relaxedAutoImplicit false
open ThreeSumApsp
open Light
open Light.Batch
open Light.Sec2 Light.Sec2.Band
variable {lim : Limits} {P : Program} {d : ℕ} {A : BandArgs} {μ₀ μ : ℕ → ℤ} {T : List ℤ}
theorem Light.Batch.bandArrayBL_entry (std : Std lim) (hP : P[pBandArray]? = some bandArrayBBody) :
BandArrayBLSpec lim P cBandArray := by sorry