OAI.BinPackingGap.main_results
OpenThe theorem states four results for bin packing with rational item sizes in (0,1], unit bin capacities, and optimum opt(I), the minimum number of bins needed. First, for every nonnegative integer c there are an instance I and a nonnegative integer B with exactly 5B items, all sizes strictly between 1/6 and 1, such that opt(I)>B+c while both configuration linear programming values equal B. The individual-item value is the infimum of total nonnegative weights on feasible subsets of items, with each item covered to weight at least one; the size-type value uses feasible multisets of the distinct sizes and covers each size to at least its multiplicity. Second, for every c and every language L in NP, there is a polynomial-time reduction mapping each bit string x to B and a valid rational instance of 5B items, all larger than 1/6, such that membership in L implies a packing in B bins, whereas nonmembership excludes every packing in B+c bins. Third, a polynomial-time algorithm returning, on every valid encoded instance, a feasible packing using at most opt(I)+c bins for some fixed nonnegative integer c exists if and only if P=NP. Fourth, if P=NP, there is such an algorithm with c=0 that returns an optimal packing on every valid instance, returns the zero-bin empty packing on the empty instance, and rejects both undecodable bit strings and encodings of invalid instances. Here valid raw instances are lists of numerator-denominator pairs (a,b) satisfying 0<a≤b; computation uses the specified binary encodings and finite-alphabet Turing machines, and NP means polynomially bounded certificates verifiable in polynomial time.
-- Generated from openai/math @ adc7f1241b42e322a6451854ab7e4b4c146bf78a -- Source: lean/ComparatorChallenges/BinPackingGap.lean; bytes 11505..12489 -- Kind: theorem; original declaration names and bodies preserved. -- Source groups are independent. Target: Lean 4.33.1; see compilation.json. import Mathlib import Definitions.Def_BinPackingGap namespace OAI noncomputable section namespace BinPackingGap open scoped BigOperators
theorem main_results :
(∀ c : ℕ, ∃ I : Instance, ∃ B : ℕ,
I.n = 5 * B ∧
(∀ i, (1 / 6 : ℚ) < I.size i ∧ I.size i < 1) ∧
B + c < opt I ∧ individualLP I = (B : ℝ) ∧ typeLP I = (B : ℝ)) ∧
(∀ c : Nat, PackingGapNPHard c) ∧
((∃ c : Nat, Nonempty (AbsoluteAdditiveAlgorithm c)) ↔ PEqualsNP) ∧
(PEqualsNP → ∃ algorithm : AbsoluteAdditiveAlgorithm 0,
(∀ (items : RawInstance) (valid : items.Valid), ∃ packing : RawPacking,
algorithm.run (BinaryEncoding.rawInstanceBits items) = some packing ∧
packing.Feasible items ∧ packing.bins = opt (items.toInstance valid)) ∧
algorithm.run (BinaryEncoding.rawInstanceBits []) = some ⟨0, []⟩ ∧
(∀ input : List Bool, BinaryEncoding.decodeRawInstance input = none →
algorithm.run input = none) ∧
(∀ items : RawInstance, ¬ items.Valid →
algorithm.run (BinaryEncoding.rawInstanceBits items) = none)) := by
sorry
end BinPackingGap
end
end OAI
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.