problems / zero-one-polynomials

Also in this folder: compute/

Research log — Irreducibility of random 0/1 polynomials

Statement (as attacked)

Green 100 #93 (December 2025 / January 2026 PDF): writing pnp_n for the probability that 1+a1x+⋯+an−1xn−1+xn1+a_1x+\cdots+a_{n-1}x^{n-1}+x^n is irreducible over Z\mathbb Z, with aia_i i.i.d. Bernoulli, does pn→1p_n\to 1?

Tonight’s allowed dent: a certified finite-degree census, an explicit remaining factor-degree regime, or a reusable exact lemma. Isolated factor counts are residue unless they beat a published bound or isolate a new obstruction.

Sources fetched

Green’s pre-2023 comment still lists Konyagin as the best bound. The 2023 update records BSKK’s δ\delta. Beating 1/log⁡n1/\log n is not a dent.

Published theorems used

  1. BSKK Theorem 7 + table p. 19, N=2N=2: s=134s=134, γ=0.50057\gamma=0.50057, θ=γ/s=0.003736\theta=\gamma/s=0.003736, P=210P=210. We independently recomputed the Fourier quantity. The published γ\gamma is slightly illegal (α=1.000025>1\alpha=1.000025>1); the largest strictly feasible θ\theta is 0.0037355625290.003735562529 at the same (P,s)(P,s). No other 4-prime PP improves it. Certificate: compute/verify_fourier.py.
  2. BSKK Lemma 3.2: among polynomials with no factor of degree <θn<\theta n, a proportion −log⁡(1−θ)+O(1/n)-\log(1-\theta)+O(1/n) have no factor in [θn,n/2][\theta n,n/2]. Combined with (1) this is the published δ\delta.
  3. Filaseta–Kalogirou Lemma 2: a 0/1 polynomial with two non-reciprocal irreducible factors (not necessarily distinct) is homometric to a different 0/1 polynomial of the same degree and same number of terms.
  4. Kronecker: a monic integer polynomial with all roots on the unit circle is cyclotomic. Hence every non-reciprocal irreducible has a root off the circle, and every degree-1 or degree-2 monic factor of a 0/1 polynomial is reciprocal (x+1x+1, x2±x+1x^2\pm x+1, x2+1x^2+1).

What this folder proves

Theorem 1 (0/1-factor Filaseta obstruction is exponentially rare)

Let PnP_n be the set of monic 0/1-polynomials of degree nn with constant term 1, so #Pn=2n−1\#P_n=2^{n-1}. Let Rn01R_n^{01} be the number of f∈Pnf\in P_n that factor in Z[x]\mathbb Z[x] as f=ABf=AB with A,BA,B both monic 0/1 having at least three terms each. (Every non-reciprocal 0/1 polynomial has at least three terms, since 1+xd1+x^d is reciprocal, so this majorizes the both-non-reciprocal 0/1-factor count; palindromic trinomials such as 1+x+x21+x+x^2 are included and only help the upper bound.) Then for every integer n≥2n\ge 2,

Rn01≤(6+43) ρn<13 ρn,ρ=2⋅31/4≈1.8612097182.R_n^{01} \le (6+4\sqrt{3})\,\rho^n < 13\,\rho^n, \qquad \rho=\sqrt{2}\cdot 3^{1/4}\approx 1.8612097182.

In particular Rn01/#Pn=O((0.9306)n)→0R_n^{01}/\#P_n = O\bigl((0.9306)^n\bigr)\to 0.

Proof. Write deg⁡A=k∈[3,n/2]\deg A=k\in[3,n/2]. Because AA has at least three terms, its difference set contains a positive d≤k/2d\le k/2. The complementary 0/1 polynomial BB of degree n−kn-k then has no two coefficients 11 at distance dd: otherwise the convolution A∗BA*B would have a coefficient ≥2\ge 2. (There are at most 2k−12^{k-1} monic 0/1 polynomials of degree kk, a convenient majorant for the three-term subclass.)

A bit-string of length L=n−k+1L=n-k+1 with no two 11s at distance dd, where 2≤d≤L/22\le d\le L/2 (this last because d≤k/2≤n/4d\le k/2\le n/4 and L−1=n−k≥n/2L-1=n-k\ge n/2), splits into dd residue classes, each a binary string with no consecutive 11s. A class of length ℓ\ell has Fℓ+2F_{\ell+2} possibilities. Under ∑ℓi=L\sum\ell_i=L and each ℓi≥2\ell_i\ge 2, the product ∏Fℓi+2\prod F_{\ell_i+2} is maximised when every class has length 2, giving 3L/23^{L/2}. For general LL one has the uniform majorant 2⋅3L/22\cdot 3^{L/2}.

There are 2k−12^{k-1} choices of AA. Hence the number of pairs is at most

∑k=3⌊n/2⌋2k−1⋅2⋅3(n−k+1)/2=3(n+1)/2∑k=3⌊n/2⌋rk,r=2/3.\sum_{k=3}^{\lfloor n/2\rfloor} 2^{k-1}\cdot 2\cdot 3^{(n-k+1)/2} = 3^{(n+1)/2}\sum_{k=3}^{\lfloor n/2\rfloor} r^k, \quad r=2/\sqrt{3}.

The inner sum is at most rn/2+1/(r−1)r^{n/2+1}/(r-1). Simplifying gives the constant 6+436+4\sqrt{3} in front of ρn\rho^n. Distinct ff are no more numerous than pairs. □\square

Exact counts of these products (compute/count_01_factors.py) through n=16n=16: 00 for n≤10n\le 10, then 4,12,20,32,52,964,12,20,32,52,96. All lie under the majorant (already at n=16n=16 the majorant is 8294482944).

Theorem 2 (certified census of PnP_n, factor types)

For 1≤n≤201\le n\le 20, every element of PnP_n was factored over Z\mathbb Z. The counts satisfy:

n #Pn\#P_n irred pnp_n x+1x+1 red, not x+1x+1 RnR_n (nr-part reducible)
2 2 2 1.000000 0 0 0
3 4 2 0.500000 2 0 0
4 8 6 0.750000 1 1 0
5 16 8 0.500000 6 2 0
6 32 21 0.656250 5 6 0
7 64 34 0.531250 20 10 0
8 128 84 0.656250 21 23 0
9 256 150 0.585938 70 36 0
10 512 331 0.646484 84 97 0
11 1024 614 0.599609 252 158 8
12 2048 1417 0.691895 330 301 24
13 4096 2638 0.644043 924 534 48
14 8192 5508 0.672363 1287 1397 64
15 16384 10874 0.663696 3432 2078 148
16 32768 23437 0.715240 5005 4326 220
17 65536 44862 0.684540 12870 7804 424
18 131072 95887 0.731560 19448 15737 640
19 262144 185238 0.706627 48620 28286 1152
20 524288 390297 0.744432 75582 58409 1696

Verifier: compute/verify_census.py. SHA-256 of the reducible bitmasks is stored per nn in census.json for an independent replay.

Theorem 3 (homometric census, Filaseta Conjecture 1 through n=26n=26)

Let φ\varphi send a subset A⊆{0,…,n}A\subseteq\{0,\ldots,n\} containing 00 to the difference multiset A−AA-A. Write EnE_n for the number of missing images relative to “every fibre is exactly {A,A′}\{A,A'\}”. Then En=0E_n=0 for n≤10n\le 10, E11=2E_{11}=2, E26=17127E_{26}=17127, and En/2nE_n/2^n is decreasing for 13≤n≤2613\le n\le 26, with E26/226≈2.55⋅10−4E_{26}/2^{26}\approx 2.55\cdot 10^{-4}. Every extra class through n=18n=18 is a Filaseta quadruple. Certificate: compute/homometric.c and compute/homometric.json.

This is a finite verification of Filaseta Conjecture 1, not a proof for all nn. Combined with Theorem 1, the only remaining source of extra classes that is not known to be O(ρn)O(\rho^n) is 0/1 polynomials whose two non-reciprocal irreducible factors are not themselves 0/1.

What this folder does not prove

Computational records we did not beat

How to replay

cd compute
python3 verify_fourier.py
python3 verify_census.py
python3 count_01_factors.py
# optional longer:
# python3 fourier_theta.py
# gcc -O3 -o homometric homometric.c && ./homometric 1 22
# python3 census_irred.py 1 18