Why determinism
Determinism is LawSynth's core differentiator. Discovery is a fixed, seeded computation: the same observations and the same configuration produce a byte-identical .lsworld bundle, every time, on any machine — no wall-clock reads, no unseeded randomness, no network. This is what makes a discovered world citable and auditable rather than a one-off result you can never reproduce.
What it enables
- Auditable science. A world is a fixed function of its inputs, so a reviewer can rerun discovery and get the identical bundle — down to the bytes.
- Reproducible papers. Cite a world by the digest of its bundle; anyone with the same data and version reproduces exactly that result.
- Trustworthy diffs. Because bundles are stable,
lawsynth comparedifferences reflect real changes in the science, not run-to-run noise.
Demonstrate it: two runs, one file
Run discovery twice into different output paths, then compare the bytes — the digests match and cmp reports no differences:
$ lawsynth discover lotka-volterra.csv --time time --state x,y --preset ecology --output a.lsworld
$ lawsynth discover lotka-volterra.csv --time time --state x,y --preset ecology --output b.lsworld
$ cmp a.lsworld b.lsworld && echo BYTE-IDENTICAL
Simulation is deterministic too: lawsynth simulate and lawsynth forecast print trajectories at full precision so downstream tooling can diff them exactly, and forecast --confidence takes an explicit --seed so even its bootstrap band is reproducible.
Self-validating domain presets
The curated domain presets are a built-in, deterministic round-trip: synthesize a textbook law's clean trajectory, discover from it, and report the per-state error against the reference. It runs with no RNG and no clock, and doubles as a self-test.
$ lawsynth domains run damped-oscillator
The honest caveat ships with the output: a good round-trip validates that the preset's search space contains the reference law, not that discovery is robust to real measurement noise.
What is — and isn't — guaranteed
- Guaranteed: identical inputs, identical config, identical algorithm version, and identical binary produce a byte-identical
.lsworldand identical printed trajectories.
- Not claimed: cross-version stability. A different LawSynth version may change the algorithm and therefore the bytes; the reproducibility contract versions the algorithm so a digest is always read against a known version.
- Hardware caveat: floating-point results can differ across fundamentally different hardware or math libraries, so the contract documents a hardware class.
Determinism is the guarantee. Everything else on the Capabilities page — discovery, analysis, control — is built on top of it.