Here's the complete rewrite of the paper, following suggestion by Terence Tao to make the proof 'modular' so that various parts are as independent as possible. I think it greatly streamlined proof and divided it into 4 parts. All feedback welcome: critique, simplifications, suggestions.
We build a density-one set $A\subset\mathbb N$ whose increasing enumeration has distinct products of consecutive blocks, by first building a density-one set $A_0$ with certain special properties. Then the construction of $A$ is dyadic: for each large dyadic $X$ we delete a small set $D_X\subset[X,2X)$ and set\[
A:=A_0\setminus\bigcup_{X\ \mathrm{dyadic}}D_X,
\]so the key is to ensure simultaneously: (i) $\sum_{X\le N}|D_X|=o(N)$ (density), and (ii) every collision with maximal term $m\in[X,2X)$ is hit by $D_X$ (hitting).
Module I (sprinkling)
Independently delete each $n\ge3$ with probability $\delta(n)=1/(\log n)^2$ and let $A_0$ be the complement. Almost surely $A_0$ has density $1$ and, by a union bound plus Borel-Cantelli, all "long" collisions are eliminated: for all sufficiently large maximal terms $m$ there is no collision whose degree satisfies\[
\max(\ell,k+1)\ \ge\ L(m):=10(\log m)^3.
\]Thus, from this point on we only need to kill the remaining logarithmic-regime collisions with $d=\max(\ell,k+1)\le L(X)$ at each dyadic scale $X$. We also make sure that $A_0$ is locally regular.
Module II + III (encoding + Diophantine bounds)
Module II shows that under a capacity constraint at scale $X$ (at most $T(X)$ deletions in every length-$L(X)$ interval), the predecessor lists of length $\le L(X)$ are determined by bounded local windows, so every logarithmic collision is encoded by an integer point $(x,y)\in[X,2X)^2$ on a split-product curve\[
\prod_{i=0}^{\ell-1}(x-a_i)\;=\;\prod_{j=0}^{k}(y+b_j),
\qquad
d=\max(\ell,k+1)\le L(X),
\qquad
a_i,b_j\ll L(X)+T(X)+U(X).
\]Module III supplies uniform point bounds for these curves: for short degrees $d<d_0(X)$, Bombieri--Pila plus a parameter count implies the set of possible endpoints is $o(X)$; for long degrees $d_0(X)\le d\le L(X)$, uniform determinant-method bounds (CCDN) give $X^{o(1)}$ points per absolutely irreducible component, and Bilu--Tichy with Hajdu--Tijdeman shows any remaining degenerate families are Pell/Dickson-type and contribute only $O(\log X)$ points in a dyadic box.
Module IV (dyadic deletion via Moser--Tardos)
At each dyadic $X$ we choose $D_X\subset[X,2X)\cap A_0$ by an algorithmic Lovasz local lemma: introduce Bernoulli variables $(\xi_n)$ (randomness exposed on a buffered universe $[X/2,2X)\cap A_0$ to avoid edge effects), define capacity bad events $\mathsf B_I^{+}$ (overflow) on length-$L(X)$ intervals and collision cylinder events $\mathsf A_\tau$ (patterns on local windows encoding a specific collision). A one-way coverage lemma shows that if a logarithmic-length collision occurs in $B_X$ with maximal term lying in $[X,2X)$, then at least one collision cylinder event occurs. Moreover, the maximum dependency degree of the bad-event graph is $X^{o(1)}$, coming from the window size and the admissible-pattern count. The asymmetric LLL (implemented by Moser-Tardos) yields an assignment with no bad events, hence capacity holds and no collision with maximal term in $[X,2X)$ survives. Since $|D_X|=o(X)$ for each dyadic $X$, the final assembly preserves density $1$ and eliminates all collisions.
