The finite-size brute-force solver has polynomial resource needs
ProvedThreeSum.LightBruteThreeSum.poly_need3sumalgorithmsfine-grained-complexitythree-sum-1962word-ram
For input length and magnitude bound , the brute-force 3SUM solver uses the resource specification
where bounds word magnitudes, counts additional memory cells, and bounds call depth. This specification is polynomial: there exist such that, for all ,
This resource property allows the complete brute-force solver to serve as the fallback for sizes below the asymptotic regime.
Preamble
import Definitions.Def_APSPSource_RemainingDefinitions import Definitions.Def_APSPSource_ThreeSumApsp_Lang_Logic import Definitions.Def_APSPSource_ThreeSumApsp_Lang_Regions import Definitions.Def_APSPSource_ThreeSumApsp_Lang_WordSize import Definitions.Def_ThreeSum1962Source_Bundle01 import Definitions.Def_ThreeSum1962Source_Bundle05 import Definitions.Def_ThreeSum1962Source_Bundle07 import Definitions.Def_TrulySubcubicAPSP_SourceSpecification import Lean.Elab.Tactic.Omega import Mathlib.Algebra.BigOperators.Fin import Mathlib.Algebra.BigOperators.Group.Finset.Basic import Mathlib.Algebra.BigOperators.Ring.Finset import Mathlib.Algebra.Group.Int.Defs import Mathlib.Algebra.GroupWithZero.Nat import Mathlib.Algebra.MvPolynomial.Basic import Mathlib.Algebra.Order.BigOperators.Group.List import Mathlib.Algebra.Order.BigOperators.Group.Multiset import Mathlib.Algebra.Order.BigOperators.GroupWithZero.List import Mathlib.Algebra.Order.Field.Basic import Mathlib.Algebra.Order.Group.Abs import Mathlib.Algebra.Order.Group.Int import Mathlib.Algebra.Order.Group.Nat import Mathlib.Algebra.Order.Group.Unbundled.Abs import Mathlib.Algebra.Order.Ring.Abs import Mathlib.Algebra.Order.Ring.Int import Mathlib.Analysis.SpecialFunctions.Log.Base import Mathlib.Analysis.SpecialFunctions.Log.Basic import Mathlib.Analysis.SpecialFunctions.Pow.Real import Mathlib.Combinatorics.Colex import Mathlib.Combinatorics.SimpleGraph.Basic import Mathlib.Data.Fin.Embedding import Mathlib.Data.Finset.Image import Mathlib.Data.Finset.Powerset import Mathlib.Data.Finset.Sort import Mathlib.Data.Fintype.BigOperators import Mathlib.Data.Fintype.Card import Mathlib.Data.Fintype.Pi import Mathlib.Data.Fintype.Prod import Mathlib.Data.Int.Basic import Mathlib.Data.Int.Cast.Lemmas import Mathlib.Data.Int.Notation import Mathlib.Data.Int.SuccPred import Mathlib.Data.List.Basic import Mathlib.Data.List.FinRange import Mathlib.Data.List.GetD import Mathlib.Data.List.Nodup import Mathlib.Data.Nat.Bitwise import Mathlib.Data.Nat.Cast.Order.Ring import Mathlib.Data.Nat.Choose.Basic import Mathlib.Data.Nat.Choose.Bounds import Mathlib.Data.Nat.Count import Mathlib.Data.Nat.Log import Mathlib.Data.Nat.Notation import Mathlib.Data.Nat.Size import Mathlib.Data.Nat.SuccPred import Mathlib.LinearAlgebra.Matrix.Defs import Mathlib.LinearAlgebra.Matrix.Notation import Mathlib.Logic.Function.Basic import Mathlib.MeasureTheory.Integral.Bochner.Basic import Mathlib.NumberTheory.PrimeCounting import Mathlib.Order.ConditionallyCompleteLattice.Basic import Mathlib.Probability.Independence.Basic import Mathlib.Tactic.DeriveFintype import Mathlib.Tactic.GCongr import Mathlib.Tactic.IntervalCases import Mathlib.Tactic.Linarith import Mathlib.Tactic.NormNum import Mathlib.Tactic.Positivity import Mathlib.Tactic.Push import Mathlib.Tactic.Ring set_option autoImplicit false set_option relaxedAutoImplicit false set_option Elab.async false namespace Light end Light namespace ThreeSumApsp.Spec end ThreeSumApsp.Spec
Formal statement
theorem ThreeSum.LightBruteThreeSum.poly_need : Light.PolyNeed ThreeSum.LightBruteThreeSum.need := by sorry
Source