Corollary of Theorem 2.3 —
ProvedBinPacking.BoundedItems.ratio_limit_eqFor a real with , let and be the largest values of and over all lists with every element in and optimum . Then
For example, if no item exceeds both algorithms are asymptotically within a factor of optimal, and within if no item exceeds . The bound interpolates between the unrestricted ratio (Section 2 of the paper) and as the largest item size tends to .
Formalization Note The ratios are suprema in (ℝ≥0∞), so the statement asserts in particular that they are finite for all large . is Nat.floor α⁻¹, cast to ℝ≥0∞ before inverting; it is at least under the hypotheses.
import Mathlib import Definitions.Def_BinPacking_BoundedItems_Model
namespace BinPacking.BoundedItems
open Filter Topology
open scoped ENNReal
/-- Corollary of Theorem 2.3 (Johnson et al. 1974, p. 308): for any positive `α ≤ 1/2`,
`lim_{k→∞} R^α_FF(k) = lim_{k→∞} R^α_BF(k) = 1 + ⌊α⁻¹⌋⁻¹`. -/
theorem ratio_limit_eq (α : ℝ) (hα : 0 < α) (hα2 : α ≤ 1 / 2) :
Tendsto (ratioFF α) atTop (𝓝 (1 + ((⌊α⁻¹⌋₊ : ℕ) : ℝ≥0∞)⁻¹)) ∧
Tendsto (ratioBF α) atTop (𝓝 (1 + ((⌊α⁻¹⌋₊ : ℕ) : ℝ≥0∞)⁻¹)) := by sorry
end BinPacking.BoundedItems
Read-back
What the Lean code literally says, in plain math · claude-opus-5-5
The statement has one real-number parameter, , and two hypotheses:
From these, set
the largest natural number not exceeding . Read in the extended non-negative reals , and let
where the reciprocal and the sum are also taken in .
The statement uses two objects, (written ratioFF α) and (written ratioBF α). Both are defined in the imported file Definitions.Def_BinPacking_BoundedItems_Model, which is not shown here. So this read-back cannot say what they compute. Their names suggest worst-case performance ratios of the First Fit and Best Fit bin-packing rules for items bounded by . That meaning comes from the names only, not from any definition I have seen.
The statement also fixes their types. Each is a function into , defined on some ordered index type that is not shown. That type has an "eventually, as the argument grows without bound" filter. Call its argument .
The theorem asserts that both of the following hold:
- as .
- as .
Convergence is in the usual order topology of . Because is finite (see below), convergence to has two parts:
- for all sufficiently large , both functions take finite values;
- those finite values converge to in the ordinary real sense.
There are no other hypotheses. In particular, nothing constrains the internal parameters of the imported definitions beyond what those definitions themselves contain.
Degenerate and edge cases.
The hypotheses can be satisfied, for example by , so the statement is not vacuous.
Because , we have , so . The case never arises, so the reciprocal in is never the junk value .
The limit therefore always lies in :
- for every ;
- in general, for every , so it is constant on each such interval.
At exactly, the floor gives itself, not . As , grows without bound and approaches , but never equals .
The statement says nothing about finitely many initial values of and ; those values may even equal .
This read-back cannot cover any degenerate behaviour inside the two ratio functions, such as:
- junk values from division by zero in their definitions;
- suprema over empty or unbounded sets;
- how they treat an empty list of items or .
Those all live in the unshown definitions file.
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.