. . . . "analysis.py: for each generator builds the dual lattice of consecutive d-tuples (basis (m,0,..), (-a^i mod m, e_i)), LLL-reduces it exactly and enumerates all short vectors (Fincke-Pohst) to obtain the exact spectral test value nu_d, the normalised figure of merit S_d and the minimal L1 norm (number of parallel hyperplanes containing every d-tuple of the whole period) for d = 2, 3, 4; generates 2^20 consecutive states from seed 12345, projects each triple (x_i, x_{i+1}, x_{i+2})/m onto the minimal-L1 dual vector and counts distinct values (rounded to 1e-9), repeating the same projections on 2^20 64-bit words from os.urandom; runs the two-dimensional birthday-spacings test (32 replications of 2^15 non-overlapping pairs in 2^21 x 2^21 cells, expected 2 collisions each, total compared with Poisson(64)) on every generator and on os.urandom." . . "Measured: 2280 largest number of parallel planes containing all consecutive triples, over the 7 historical generators with m <= 2^32 (threshold 3000; each has 2^29 to 2^32 triples) (n = 7, exact (lattice computation)). Interpretation: 'Constructed to have maximal repetition period' is operationalized as the set of full-period historical generators listed, with RANDU included as maximal for its multiplicative class (it is Wolfram's own example in the NKS note). 'Very substantial deviations from perfect randomness' is operationalized as (i) the exact lattice structure (number of covering hyperplanes, Marsaglia/Knuth spectral test), (ii) its visibility at a sample size (2^20) far below the period, with a cryptographic source as the randomness baseline under the identical statistic, and (iii) rejection by a standard test from the TestU01 family that random sources pass. The lattice is analysed on the full state recurrence; generators that output only high-order bits (ANSI C, drand48) are analysed on the state, which is the sequence whose stripes Wolfram's pictures show. The MMIX 64-bit generator is outside 'over the years' up to 2002 as a deployed generator and is reported for contrast only." . "Claim test of wolfram2002-ch07-07: supports, confidence 0.95" . . . "Planned datasets: lcg-historical-parameters, lcg-generator-output" . "claim-test/0.1.0" . "computational" . "Pre-registered. 'Refutes' if any of the 7 generators with m <= 2^32 has triples on more than 3000 planes (the lattice theorem would be wrong), or if the projection of the LCG triples gives more than 50% distinct values (the structure is not visible at 2^20 samples), or if fewer than 3 of the 8 historical generators fail the birthday-spacings test. Other combinations are 'mixed'." . "Borland's generator is listed with modulus 2^31 by Wikipedia and 2^32 by other sources; 2^32 was used as pre-registered (both are full period and share the low 31 bits)." . "Knuth's 64-bit MMIX generator (post-dating most of the historical generators) passes both empirical tests at these sample sizes, as pre-registered for the contrast; it still has a lattice (about 2.9 million planes in 3 dimensions). The claim as stated concerns deployed generators up to 2002." . "Spectral values agree with published ones where known (RANDU: 15 planes, S_3 = 0.008; Park-Miller: S_2 = 0.34 as in Knuth TAOCP 3.3.4), which checks the lattice code." . "The birthday-spacings statistic is applied to the full generator state; ANSI C and drand48 output only high-order bits, which does not remove the lattice (the hyperplane statement holds for the state sequence) but changes which empirical tests fail first." . "The claim says generators 'one after another' deviated substantially; the set tested is the eight most widely deployed historical generators, not a random sample. The one that passed the birthday-spacings test at this sample size (drand48, period 2^48) still shows its lattice: its 2^20 triples project onto only 83834 distinct values (8%) of a possible 2^20, versus 99.996% for os.urandom; L'Ecuyer and Simard's rule predicts birthday-spacings failure for it at n of order 16 * 2^16 points, not tested here." . "Pre-registered. Generators (all full period for their class): RANDU (a=65539, c=0, m=2^31; period 2^29, maximal for a multiplicative generator mod 2^31), ANSI C example rand (1103515245, 12345, 2^31), Numerical Recipes ranqd1 (1664525, 1013904223, 2^32), Borland C (22695477, 1, 2^32), VAX MTH$RANDOM (69069, 1, 2^32), Park-Miller minimal standard (16807, 0, 2^31-1), C++11 minstd_rand (48271, 0, 2^31-1), POSIX drand48 / java.util.Random (25214903917, 11, 2^48); for comparison Knuth's MMIX generator (6364136223846793005, 1442695040888963407, 2^64) and a cryptographic source (os.urandom). (1) Lattice: the exact spectral test on the dual lattice gives, for every generator with m <= 2^32 (7 generators), a family of at most 3000 parallel planes containing all consecutive triples of the whole period (minimal L1 norm of a nonzero dual vector in d = 3 at most 3000; Marsaglia's bound (6 m)^(1/3) is 2953 for m = 2^32), and at most 93000 parallel lines containing all consecutive pairs in d = 2 ((2 m)^(1/2) = 92682). (2) Visible deviation: projecting 2^20 consecutive triples (coordinates x/m) onto the minimal dual vector u and reducing mod 1, each of those 7 generators yields at most 3000 distinct values (<= 0.3% of 2^20) while os.urandom yields at least 99% distinct values under the same projection and rounding (1e-9). (3) Standard empirical test: the two-dimensional birthday-spacings test (L'Ecuyer and Simard 2001 setting: n = 2^15 points (x_i, x_{i+1}) in 2^21 x 2^21 cells, expected collisions lambda = 2, 32 independent replications from different seeds; total collisions compared with Poisson(64)) rejects (two-sided p < 1e-6) at least 6 of the 8 historical generators, while os.urandom and MMIX are not rejected (p > 1e-3). 'Supports' requires (1), (2) and (3)." . "Pre-registered. 'Refutes' if any of the 7 generators with m <= 2^32 has triples on more than 3000 planes (the lattice theorem would be wrong), or if the projection of the LCG triples gives more than 50% distinct values (the structure is not visible at 2^20 samples), or if fewer than 3 of the 8 historical generators fail the birthday-spacings test. Other combinations are 'mixed'." . "0.95"^^ . . . "supports" . "Widely deployed linear congruential generators x_{n+1} = (a x_n + c) mod m that were chosen to have maximal period nevertheless produce consecutive d-tuples lying on a small number of parallel hyperplanes (Marsaglia 1968: at most (d! m)^(1/d)), a gross deviation from uniform randomness that is visible at sample sizes far below the period and that standard empirical tests detect." . "analysis.py: for each generator builds the dual lattice of consecutive d-tuples (basis (m,0,..), (-a^i mod m, e_i)), LLL-reduces it exactly and enumerates all short vectors (Fincke-Pohst) to obtain the exact spectral test value nu_d, the normalised figure of merit S_d and the minimal L1 norm (number of parallel hyperplanes containing every d-tuple of the whole period) for d = 2, 3, 4; generates 2^20 consecutive states from seed 12345, projects each triple (x_i, x_{i+1}, x_{i+2})/m onto the minimal-L1 dual vector and counts distinct values (rounded to 1e-9), repeating the same projections on 2^20 64-bit words from os.urandom; runs the two-dimensional birthday-spacings test (32 replications of 2^15 non-overlapping pairs in 2^21 x 2^21 cells, expected 2 collisions each, total compared with Poisson(64)) on every generator and on os.urandom." . "Pre-registered. Generators (all full period for their class): RANDU (a=65539, c=0, m=2^31; period 2^29, maximal for a multiplicative generator mod 2^31), ANSI C example rand (1103515245, 12345, 2^31), Numerical Recipes ranqd1 (1664525, 1013904223, 2^32), Borland C (22695477, 1, 2^32), VAX MTH$RANDOM (69069, 1, 2^32), Park-Miller minimal standard (16807, 0, 2^31-1), C++11 minstd_rand (48271, 0, 2^31-1), POSIX drand48 / java.util.Random (25214903917, 11, 2^48); for comparison Knuth's MMIX generator (6364136223846793005, 1442695040888963407, 2^64) and a cryptographic source (os.urandom). (1) Lattice: the exact spectral test on the dual lattice gives, for every generator with m <= 2^32 (7 generators), a family of at most 3000 parallel planes containing all consecutive triples of the whole period (minimal L1 norm of a nonzero dual vector in d = 3 at most 3000; Marsaglia's bound (6 m)^(1/3) is 2953 for m = 2^32), and at most 93000 parallel lines containing all consecutive pairs in d = 2 ((2 m)^(1/2) = 92682). (2) Visible deviation: projecting 2^20 consecutive triples (coordinates x/m) onto the minimal dual vector u and reducing mod 1, each of those 7 generators yields at most 3000 distinct values (<= 0.3% of 2^20) while os.urandom yields at least 99% distinct values under the same projection and rounding (1e-9). (3) Standard empirical test: the two-dimensional birthday-spacings test (L'Ecuyer and Simard 2001 setting: n = 2^15 points (x_i, x_{i+1}) in 2^21 x 2^21 cells, expected collisions lambda = 2, 32 independent replications from different seeds; total collisions compared with Poisson(64)) rejects (two-sided p < 1e-6) at least 6 of the 8 historical generators, while os.urandom and MMIX are not rejected (p > 1e-3). 'Supports' requires (1), (2) and (3)." . "false"^^ . . "multipliers, increments and moduli of the generators tested" . "CC BY-SA 4.0 (Wikipedia)" . . "Dataset: Parameters of historical linear congruential generators" . . . "sha256:1c40458e4a76e6b331cb8a994f672df59eb85dc61cd7c214da3bef3b6620a77f" . "computed statistics" . "CC0 (generated data)" . . "Dataset: Generator output and lattice computations (generated by analysis.py)" . . "delphisci claim tester (Claude Fable 5.1 (Cursor cloud agent); cursor/claim-tests-wolfram-nks-f0e1)" . . . "Claude Fable 5.1 (Cursor cloud agent)" . . . . . . . . . "2026-11-08T16:24:31.930Z"^^ . . . . . "Claim test of wolfram2002-ch07-07: supports, confidence 0.95" . . "RSA" . "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyFHtPB6p0mCjDozxlOY9CmO3nBm7Te3jFbXyLmM+G1tGe47Da0jYIbhkl9Oo1ZjxmCa3LCwlEqK8gj6hEIcL4ahW30JXh9HycfKVk1bugkzMEV15tJdTzAU3sGMFnbNsn43xY2LFLy45tApkRm5byEiM7oRRrooIdwoQKnP4Wzq/bfAoJ9qvW+MGkelyOTd1jbSt+KfmT7xKmDfWzAHddUlWwMX2QJOLxDaffOteTop6ZRgPiNmPJKA/S62Gac9XtSYT3oDkZ6/nr5cxxNLpOyxTf5FPISiCe11xYO/unYjY+mwnOfA8yhJIyx1l0O9I0vpOpn+E5TvyHJV+oSTrvwIDAQAB" . "gwxuP0JiHv85xYbxEk+u78GKiBsqoaMjewnVtCofM4rIoPxeLhMl2DbVTMxM1rtaKh3gIQkLgQC/ArqLfX8+nzjgBc9KVha01heB1TfxriHJ263DWF3gXwIstPfpMUbzvwjT15h/LKzf2CAeDQ7g1BEFishmFokyn/MzfS0TN0qL+CJdk/8Gy0PYVIZ37ejEKhe+UzGOBpN1aCSYaQ64PDgd/eTIHNt8sKlPTcGfxQ++nchbrPG292oveKIz0Ez7yuktQ6nhTj5m1++UMIbFJ5EiRLKzZw6WaUbOlyqo6D3jAjJk1wa+d8mPoyb0ZeDEnp3JXcu7BFc3qBq2bpq75A==" . . .