All problems

E206:Erdős Problem #206 “Can one give an explicit irrational whose best Egyptian underapproximations are not eventually greedy?”

Original explicit computable witness package published 12 September 2026 before this Jig entry; Erdos206Explicit.lean theorem ExplicitEgyptian.erdos206_explicit_resolution, complete recurrence, manuscript, audits, and clean-build logs. Local verification only at filing time; not yet Jig-verified or externally refereed.

Contributors

Verification

Verdict report: artifact 8a05a332

CI run: GitHub Actions log

Checks passed: build, axioms, manifest, no new axioms, static policy, anti restatement

Axioms: Classical.choice, Quot.sound, propext

Toolchain: Lean v4.33.0, Mathlib db584cd (Jig's pins, not the repository's own)

Built from: coleski/erdos206 @ 1221dd6

Solution

import Erdos206Explicit

/-!
Submission wrapper for Jig's canonical statement. The existential witnesses are
the concrete real and executable rational approximation function defined in
`StageRecurrence.lean`; they are not chosen nonconstructively here.
-/

namespace Submissions.Erdos206ExplicitWitness.Coleski

open scoped BigOperators

noncomputable def egyptianSum (S : Finset ℕ) : ℝ :=
  S.sum (fun m => (1 : ℝ) / m)

def ValidEgyptian (S : Finset ℕ) : Prop :=
JigSubmission.lean
import StageRecurrence

/-!
# Explicit-example supplement to Erdős #206

This is not a new proof of Kovač's almost-everywhere theorem. The specified
number `ExplicitEgyptian.explicitNumber` is the limit of the concrete executable
rational recurrence in StageRecurrence.lean. The final statement includes its
positive irrationality, failure of eventual greediness under the original
strict/distinct-denominator convention, and a certified approximation modulus.
-/

namespace ExplicitEgyptian

theorem erdos206_explicit_resolution :
    (1/4:ℝ) < explicitNumber ∧ explicitNumber < 1/2 ∧
Erdos206Explicit.lean
import RationalOptimizer
import Density
import StepBounds
import NestedIntervals

namespace ExplicitEgyptian

open Erdos206 Erdos206.EgyptianFractions

/-- All data fields are rational or natural; invariant fields are erased proofs. -/
structure IntervalState where
  lower : ℚ
  upper : ℚ
  level : ℕ
  quarter_le : 1/4 ≤ lower
  lower_lt_upper : lower < upper
StageRecurrence.lean
import PriorErdos206

namespace ExplicitEgyptian

def qsum (S : Finset ℕ) : ℚ := ∑ a ∈ S, 1 / (a : ℚ)

def base (n L : ℕ) (z : ℚ) : Finset ℕ :=
  (Finset.range n).image (fun k => L + ⌈(n : ℚ) / z⌉₊ + k + 1)

theorem base_card (n L : ℕ) (z : ℚ) : (base n L z).card = n := by
  unfold base
  rw [Finset.card_image_of_injective _ (by
    intro a b h; dsimp at h; omega : Function.Injective (fun k => L + ⌈(n : ℚ) / z⌉₊ + k + 1))]
  exact Finset.card_range n

theorem base_above (n L : ℕ) (z : ℚ) : ∀ a ∈ base n L z, L < a := by
RationalOptimizer.lean
import PriorErdos206

namespace ExplicitEgyptian

open Erdos206.EgyptianFractions

theorem best_sum_above_of_bound (L z : ℝ) (hL : 0 < L) (hLz : L < z)
    (hz : z < 1) (t : ℕ) (ht : 2 ≤ t)
    (hbound : 1 / (z - L) < (t : ℝ))
    (S : Finset ℕ) (hS : IsBestNTerm S t z) :
    L < egyptianSum S := by
  have htpos : (0 : ℝ) < t := by exact_mod_cast (show 0 < t by omega)
  have hdelta : 0 < z - L := sub_pos.mpr hLz
  have h1 : harmonicNumber 1 = 1 := by norm_num [harmonicNumber]
  have hH : 1 ≤ harmonicNumber t := by
    rw [← h1]
Density.lean
import LocalObstruction

/-! Executable rational interval updates for the #206 explicit-example supplement. -/

namespace Erdos206.EgyptianFractions

def badLowerQ (i : ℕ) : ℚ :=
  1 / (i+1:ℕ) + 1 / (i*(i+1)/2+1:ℕ)

def badUpperQ (i : ℕ) : ℚ :=
  1 / (i:ℚ) + 1 / (i*(i+1)+4:ℕ)

@[simp] theorem badLowerQ_cast (i : ℕ) : (badLowerQ i : ℝ) = badLower i := by
  simp [badLowerQ, badLower]

@[simp] theorem badUpperQ_cast (i : ℕ) : (badUpperQ i : ℝ) = badUpper i := by
StepBounds.lean
import Mathlib

namespace Erdos206

open Set Filter

/-- Rational stage data only; computation of these sequences belongs to the recurrence. -/
structure RationalNestedData where
  lower : ℕ → ℚ
  upper : ℕ → ℚ
  approx : ℕ → ℚ
  lower_le_upper : ∀ n, lower n ≤ upper n
  lower_mono : Monotone lower
  upper_anti : Antitone upper
  width_le : ∀ n, (upper n - lower n : ℚ) ≤ (1 / 2 : ℚ) ^ n
  approx_lt_lower : ∀ n, approx n < lower n
NestedIntervals.lean
/- leanprover/lean4:v4.33.0  mathlib v4.33.0 -/
/- Original license: Apache 2.0. Note: This file has been modified. -/
/-
This is a Lean formalization of a solution to Erdős Problem 206.
https://www.erdosproblems.com/forum/thread/206

Informal authors:
- Vjekoslav Kovač

Formal authors:
- Aristotle
- Matteo Del Vecchio

URLs:
- https://www.erdosproblems.com/forum/thread/206#post-5989
- https://gist.githubusercontent.com/madeve-unipi/0920783513a1a00af4a14660852df60e/raw/522569070c2ec
PriorErdos206.lean
import PriorErdos206

/-!
Local obstruction for the explicit-example supplement to Erdős #206.
Uses the definitions and the competitor lemma formalized by Matteo Del Vecchio
and Aristotle for Vjekoslav Kovač's proof; see PriorErdos206.lean for credits.
-/

namespace Erdos206.EgyptianFractions

open Finset

lemma prefix_sum_succ (m : ℕ → ℕ) (hm : StrictMono m) (t : ℕ) :
    egyptianSum (image m (range (t+1))) =
      egyptianSum (image m (range t)) + 1 / (m t : ℝ) := by
  simp [egyptianSum, Finset.sum_image, hm.injective.eq_iff, Finset.sum_range_succ]
LocalObstruction.lean
StatementUserModelHarnessTime
Prior art
1)V6There is a specified computable irrational real in (1/4,1/2) whose best strict underapproximations by distinc…
@coleski
GPT 5
Codex
9/12/26