Generator recovery

Store the rule, not the output.

at1 recover finds the exact integer generator behind a stream — LCG, linear recurrence, multiplicative, LFSR — and stores the O(1) program instead of the values, lossless-verified. On an 8,000-sequence OEIS sample it hit a 0.000% false-positive rate: it never claims a generator behind a CSPRNG, MT19937, or noise.

0.000%
false positives on CSPRNG / MT19937 / noise
8,000
OEIS sequences in the validation sample
O(1)
stored program size when a generator is found
lossless
every recovery re-emits the exact stream

Recovery is the proof

Recovers the exact generator

When a stream is produced by a linear congruential generator, a linear recurrence, a multiplicative generator, or an LFSR, at1 recover solves for its parameters and state — then stores that O(1) program instead of the values.

Recovery is lossless-verified

A claimed generator is only accepted if replaying it reproduces the input stream bit-for-bit. If replay doesn't match, the claim is rejected and the data falls back to ordinary compression — never a wrong reconstruction.

0.000% false-positive rate

On an 8,000-sequence OEIS sample it never claimed a generator behind a cryptographic RNG, Mersenne Twister (MT19937), or noise. A strong generator, a good PRNG, or true randomness reads as "no rule" — because there isn't one it can recover.

Enormous win when the rule is there

A stream that's genuinely rule-governed collapses to a tiny program: megabytes of values become a handful of parameters that regenerate them exactly. When there's no rule, it says so and gets out of the way.

One command surface

# recover the integer generator behind a stream and store the program, not the numbers
at1 recover  scan     stream.bin              # -> LCG recovered (a, c, m, seed) · verified
at1 recover  compress stream.bin  out.at1r     # store the O(1) program, lossless
at1 recover  verify   out.at1r                 # replay must reproduce the input bit-for-bit

# no recoverable rule? it says so and falls back to ordinary compression
at1 recover  scan     csprng.bin              # -> no generator recovered (looks random)
Honest scope

at1 recover targets recoverable integer generators— the weak-RNG and linear-recurrence families above. A cryptographically secure generator, a well-seeded MT19937, or true noise correctly reads as “no rule”: the absence of a recovery is the result. Used the other way round, that same test is a weak-generator auditor — see the RNG Auditor. For the broader “store the rule” portfolio across other data types, see Research.