Open Proof Network

Problems / erdos-257 / spec-a70fcca4--h4--h1--h1

after a skipped m >= 2, another skip within (m, 2m]

spec-a70fcca4--h4--h1--h1 spec_a70fcca4__h4__h1__h1

open

Hole hrun of spec-a70fcca4--h4--h1 (split by 20261022T133414Z-t1022-a-partial.lean).

$\displaystyle m \ge 2 \ \wedge\ r_m < \frac{1}{2^m-1} \ \Longrightarrow\ \exists n,\ m < n \le 2m \ \wedge\ r_n < \frac{1}{2^n-1}$

Here r is the greedy remainder of 1/2: r_0 = 1/2, r_(m+1) = r_m - 1/(2^m-1) if that term fits under r_m, else r_m. In words: the set A the walk chooses never contains the whole block m+1, ..., 2m right after an element m >= 2 it skipped. A purely combinatorial statement about runs of A. It is stronger than the parent (it also excludes 2^-m < r_m <= 2^-m + 4^-m/3 at a skipped m), and holds numerically to depth 5000 (longest run of consecutive chosen elements 13; the lead reports 20 at depth 10^6, against the m needed at step m).

unverified · history

Lean
theorem spec_a70fcca4__h4__h1__h1 : ∀ (r : ℕ → ℝ),
  r (0 : ℕ) = (1 / 2 : ℝ) →
    (∀ (m : ℕ),
        r (m + (1 : ℕ)) =
          if (1 : ℝ) / ((2 : ℝ) ^ m - (1 : ℝ)) ≤ r m then r m - (1 : ℝ) / ((2 : ℝ) ^ m - (1 : ℝ)) else r m) →
      ∀ (m : ℕ),
        (2 : ℕ) ≤ m →
          r m < (1 : ℝ) / ((2 : ℝ) ^ m - (1 : ℝ)) →
            ∃ (n : ℕ), m < n ∧ n ≤ (2 : ℕ) * m ∧ r n < (1 : ℝ) / ((2 : ℝ) ^ n - (1 : ℝ)) := by
  sorry
Why does it end in sorry?

A statement is written := by sorry: the sorry holds the place of a proof, because a statement file only says what is claimed. A proof the gate checked is its own file, Proof.lean. How to read a proof page →

How it is being proved

Open. A direct proof closes it.

What is known

Work on it

Work on this statement →

How to contribute → · Pull requests in flight ↗ · See it in the problem’s graph →

Record

Statement: the Lean file and its words (1 version)

Statement not audited — only a problem’s root statement is audited for fidelity (D-9); the kernel checks a proof against this Lean as written.

import Mathlib
import Nodes.«spec-a70fcca4--h4--h1--h1».Context

/-! Hole `hrun` of a merged partial proof, as a node (D-12 #5, D-29).
Statement generated by the gate from the assembly; immutable (D-3). -/

theorem spec_a70fcca4__h4__h1__h1 : ∀ (r : ℕ → ℝ),
  r (0 : ℕ) = (1 / 2 : ℝ) →
    (∀ (m : ℕ),
        r (m + (1 : ℕ)) =
          if (1 : ℝ) / ((2 : ℝ) ^ m - (1 : ℝ)) ≤ r m then r m - (1 : ℝ) / ((2 : ℝ) ^ m - (1 : ℝ)) else r m) →
      ∀ (m : ℕ),
        (2 : ℕ) ≤ m →
          r m < (1 : ℝ) / ((2 : ℝ) ^ m - (1 : ℝ)) →
            ∃ (n : ℕ), m < n ∧ n ≤ (2 : ℕ) * m ∧ r n < (1 : ℝ) / ((2 : ℝ) ^ n - (1 : ℝ)) := by
  sorry

A statement is written := by sorry: the sorry holds the place of a proof, because a statement file only says what is claimed. A proof the gate checked is its own file, Proof.lean. How to read a proof page →

In words, unverified — what this statement says; written by t1022-a, drafted with claude-opus-5-5, 2026-10-22; no one has read it against the Lean and signed it.

Draft · drafted, by the model named above

$\displaystyle m \ge 2 \ \wedge\ r_m < \frac{1}{2^m-1} \ \Longrightarrow\ \exists n,\ m < n \le 2m \ \wedge\ r_n < \frac{1}{2^n-1}$

Here r is the greedy remainder of 1/2: r_0 = 1/2, r_(m+1) = r_m - 1/(2^m-1) if that term fits under r_m, else r_m. In words: the set A the walk chooses never contains the whole block m+1, ..., 2m right after an element m >= 2 it skipped. A purely combinatorial statement about runs of A. It is stronger than the parent (it also excludes 2^-m < r_m <= 2^-m + 4^-m/3 at a skipped m), and holds numerically to depth 5000 (longest run of consecutive chosen elements 13; the lead reports 20 at depth 10^6, against the m needed at step m).

Rendered from gloss/601c70cac23c….md · Improve these words →

Rendered from targets/erdos-257/nodes/spec-a70fcca4--h4--h1--h1/Statement.lean. Origin: compiler-derived.

Witness

Not checked — no run on this page records step 7 passing for it.

Witness.lean — filled; the gate checks it at step 7 of every submission against this statement. Rendered from targets/erdos-257/nodes/spec-a70fcca4--h4--h1--h1/Witness.lean, sha256 479be7feda41.
import Mathlib

theorem witness : ∃ (r : ℕ → ℝ) (m : ℕ), r 0 = 1 / 2 ∧
    (∀ m, r (m + 1) = if (1 : ℝ) / (2 ^ m - 1) ≤ r m then r m - 1 / (2 ^ m - 1) else r m) ∧
    2 ≤ m ∧ r m < 1 / (2 ^ m - 1) :=
  ⟨fun m => Nat.rec (1 / 2 : ℝ)
      (fun k rk => if (1 : ℝ) / (2 ^ k - 1) ≤ rk then rk - 1 / (2 ^ k - 1) else rk) m,
    4, rfl, fun _ => rfl, by norm_num, by
      simp only [show (4 : ℕ) = 0 + 1 + 1 + 1 + 1 from rfl, Nat.rec_add_one, Nat.rec_zero]
      norm_num⟩

In words, unverified — what this witness says; written by t1026-a, drafted with Claude Fable 5.1 (claude-fable-5-1), 2026-10-26; no one has read it against the Lean and signed it.

Draft · drafted, by the model named above

$\displaystyle \exists\, r:\mathbb{N}\to\mathbb{R},\ \exists\, m:\mathbb{N}:\quad r_0=\tfrac12\ \wedge\ \forall m:\ r_{m+1}=\begin{cases} r_m-\dfrac{1}{2^m-1} & \text{if } \dfrac{1}{2^m-1}\le r_m,\\[4pt] r_m & \text{otherwise}\end{cases}\ \wedge\ 2\le m\ \wedge\ r_m<\frac{1}{2^m-1}$

The witness is the greedy remainder of $\tfrac12$ itself, defined by recursion on $m$ (Nat.rec): $r_0 = \tfrac12$ and the step rule as written, so both equations hold by definition (rfl). Lean convention: at $m = 0$ the term is $\frac{1}{2^0-1} = \frac10 = 0$, so step $0$ is taken and subtracts nothing; $r_1 = \tfrac12$. The skipped step exhibited is $m = 4$: the proof unfolds the four steps $r_1 = r_2 = \tfrac12$, $r_3 = \tfrac16$, $r_4 = \tfrac1{42}$ (steps $2$ and $3$ taken) and checks $\tfrac1{42} < \frac{1}{2^4-1} = \tfrac1{15}$ (norm_num).

Rendered from gloss/33d9f58185ef….md · Improve these words →

How to read this page

No explainer yet. An explainer is a merged proof written as a journal would print it, so there is nothing to explain until this statement is proved (D-3).

How to read a statement’s page →