Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Odd-entry demand for root-releasing tree-safe words starting with 0

Proved
Erdos195.odd_entry_demand

by Ethan Cheung Wang · Oct 23, 2026 · Mathlib 0df444a (Lean v4.33.1)

arithmetic-progressionscombinatoricserdos-problems

A tree witness is a function θ(k,r)∈{0,1}\theta(k,r)\in\{0,1\}θ(k,r)∈{0,1} on the nodes (k,r)(k,r)(k,r), 0≤r<2k0\le r<2^k0≤r<2k, of the binary tree of residues. For distinct integers x,yx,yx,y with k=ν2(y−x)k=\nu_2(y-x)k=ν2​(y−x), put x≺θyx\prec_\theta yx≺θ​y iff bitk(x)=θ(k, x mod 2k)\mathrm{bit}_k(x)=\theta(k,\,x\bmod 2^k)bitk​(x)=θ(k,xmod2k). A finite word QQQ of integers is θ\thetaθ-safe if the sequence "the letters of QQQ in order, then all remaining integers in ≺θ\prec_\theta≺θ​-order" contains no monotone 444-term arithmetic progression. An in-order pair (a,b)(a,b)(a,b) of QQQ (aaa occurs before bbb) is open if 2b−a∉Q2b-a\notin Q2b−a∈/Q and 3b−2a∉Q3b-2a\notin Q3b−2a∈/Q; it lies at the node (k, a mod 2k)(k,\,a\bmod 2^k)(k,amod2k), k=ν2(b−a)k=\nu_2(b-a)k=ν2​(b−a), and forces θ\thetaθ there to equal bitk(b)\mathrm{bit}_k(b)bitk​(b). A root pair is one with b−ab-ab−a odd (node (0,0)(0,0)(0,0)); QQQ is a true root release if every open root pair has even second entry, i.e. no open pair forces the value 111 at the root. Let QQQ be a θ\thetaθ-safe word whose first letter is 000 and which is a true root release. Then for every odd letter zzz of QQQ:

2z∈Q or 3z∈Q,and3z∉Q  ⟹  2z∈Q occurs before z.2z\in Q\ \text{or}\ 3z\in Q,\qquad\text{and}\qquad 3z\notin Q\implies 2z\in Q\ \text{occurs before}\ z.2z∈Q or 3z∈Q,and3z∈/Q⟹2z∈Q occurs before z.

Moreover, if QQQ has an odd letter, then some odd letter zzz is grounded: 3z∉Q3z\notin Q3z∈/Q and 2z2z2z occurs before zzz. Thus every odd letter starts a forced chain z,3z,9z,…z, 3z, 9z,\dotsz,3z,9z,… that must end at a grounded letter whose double is placed earlier; this is the basic necessary condition for releasing the root after a prefix, e.g. after (0,1,x)(0,1,x)(0,1,x) the letters 333 and 3x3x3x are forced (Erdős Problem 195, tree-witness approach).

Formalization note: treeLt θ is from Definitions.Def_Erdos195_tree; Safe, bitOne are from Definitions.Def_Erdos195_defs. Positions are List.idxOf; "starts with 0" is Q.head? = some 0; the release hypothesis is stated as: every open in-order pair (a,b)(a,b)(a,b) with (b−a) mod 2=1(b-a) \bmod 2 = 1(b−a)mod2=1 has b mod 2=0b \bmod 2 = 0bmod2=0.

Preamble
import Mathlib
import Definitions.Def_Erdos195_tree
Formal statement
namespace Erdos195

theorem odd_entry_demand (θ : ℕ → ℤ → Bool) (Q : List ℤ) (hS : Safe (treeLt θ) Q)
    (h0 : Q.head? = some 0)
    (hrel : ∀ a b : ℤ, a ∈ Q → b ∈ Q → Q.idxOf a < Q.idxOf b → 2 * b - a ∉ Q →
      3 * b - 2 * a ∉ Q → (b - a) % 2 = 1 → b % 2 = 0) :
    (∀ z ∈ Q, z % 2 = 1 →
      (2 * z ∈ Q ∨ 3 * z ∈ Q) ∧ (3 * z ∉ Q → 2 * z ∈ Q ∧ Q.idxOf (2 * z) < Q.idxOf z)) ∧
    ((∃ z ∈ Q, z % 2 = 1) →
      ∃ z ∈ Q, z % 2 = 1 ∧ 3 * z ∉ Q ∧ 2 * z ∈ Q ∧ Q.idxOf (2 * z) < Q.idxOf z) := by sorry

end Erdos195
Source
Erdős Problem 195 (https://www.erdosproblems.com/195); tree-witness framework, statements by Grok Bot for Ethan Cheung (hand reasoning, Oct 23 2026), Lean-verified

View graph

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions, with reuse governed by our licensing terms.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactTerms
© 2026 Prove2Me