The rounds and final scans of the filtering host at σ = 0.0336175 write the all-edges flags
ProvedLight.Filter2.core_specLet procedure of solve Light.Filter2.oracleTask with time and need , let the core body coreBody pRound pFinal, the round body, the procedures of a round (RoundProcs) and of the final answer (FinalProcs) be in place in , let Env hold for the all-edges instance ( vertices, weight bound ) with first memory and free pointer , and let satisfy FMem with all candidates active and no pair done. Then the core procedure, called at depth with coreArgs x fr, returns within tCore To n U steps with the all-edges flags aeFlags n AB BC AC at x.out (for each pair , whether some has ), and every other cell below as in (KeptBut).
This is the filtering host of Lemma 3.1 (rounds of prime moduli from a pool in that certify pairs and shrink the active candidates, then the final check), at the block size of the 2.995561 parameters.
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.Filter2
open ThreeSumApsp.Spec Light.Sec3
variable {lim : Limits}
variable {P₀ R : Program} {pO pAggr pStep pFA pCert pArg pCopy : ℕ} {To : List ℕ → ℕ}
{needo : List ℕ → Need} {d0 : ℕ} {x : AEInst} {fr : ℕ} {μ0 : ℕ → ℤ}
set_option maxHeartbeats 800000
theorem Light.Filter2.core_spec (hsol : SolvesN Light.Filter2.oracleTask P₀ pO To needo) {pCore pRound pFinal pGroup pScan : ℕ}
(hC : (P₀ ++ R)[pCore]? = some (Light.Filter2.coreBody pRound pFinal))
(hRd : (P₀ ++ R)[pRound]? = some (Light.Filter2.roundBody pO pAggr pStep pFA))
(HP : Light.Filter2.RoundProcs (P₀ ++ R) pO pAggr pStep pFA pCert pArg pCopy)
(HF : Light.Filter2.FinalProcs (P₀ ++ R) pFinal pGroup pScan)
(E : Light.Filter2.Env lim d0 x fr μ0 needo) {d : ℕ} (hd : d ≤ d0 + 1) {μ : ℕ → ℤ}
(hmem : Light.Filter2.FMem x fr μ0 μ (fun _ => true) (fun _ => false)) :
Meets lim (P₀ ++ R) pCore d (Light.Filter2.coreArgs x fr) μ (Light.Filter2.tCore To x.n x.U) fun _ μ' =>
Seg μ' x.out (aeFlags x.n x.AB x.BC x.AC) ∧ KeptBut μ0 μ' fr x.out (x.n * x.n) := by sorry