LawSynthGitHub

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 compare differences 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 .lsworld and 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.