Skip to content

Add lagh: certified symbolic law discovery - #214

Closed
jascal wants to merge 7 commits into
cavalab:devfrom
jascal:add-lagh
Closed

Add lagh: certified symbolic law discovery#214
jascal wants to merge 7 commits into
cavalab:devfrom
jascal:add-lagh

Conversation

@jascal

@jascal jascal commented Jul 28, 2026

Copy link
Copy Markdown

What this adds

algorithms/lagh/ — a new SR method per the contribution guidelines (metadata.yml, regressor.py, install.sh pulling from the stable source repo, requirements.txt).

lagh (github.com/jascal/lagh, Apache-2.0) is a certified symbolic law discoverer: its native output is three-track — a machine-checked exact certificate (every training point within a declared epsilon; a chance-fit significance bound α ≤ |H|·q^h is computed and null-validated), a labeled empirical conjecture, or an explicit abstention. The design goal is a zero-confident-wrong invariant: the system never claims an exact law it cannot certify, and its refusals state why.

Harness mapping

  • est is sklearn-compatible with max_time (SIGALRM handled; on timeout an affine-OLS fallback conjecture is stored so evaluate_model.py always finds an equation) and random_state.
  • model(est, X) returns a sympy-compatible string with x_i mapped to the training DataFrame's column names per the guidelines.
  • Since the harness scores an equation on every problem, the conjecture track always answers; certificate status rides along as estimator metadata (est.track_, est.tag_, est.alpha_log10_) for anyone who wants to slice results by claimed-exact vs conjectured.

Provenance

The method's benchmark record (a registered one-shot read of Gravity-Bench, an honestly-reported LLM-SRBench read, and four real-archive case studies with reproduction commands) is documented in the source repo's README and docs/. No source code is vendored here; install.sh installs from the repository per guideline 7.

Happy to adjust anything to fit the evaluation setup — thanks for maintaining the benchmark.

lagh returns three-track output: machine-checked exact certificates
(exhaustive per-point check under a declared error model, with a stated
chance-fit significance bound alpha), labeled empirical conjectures, or
explicit abstentions. For this harness the conjecture track always
answers; certificate status is carried as estimator metadata
(track_/tag_/alpha_log10_). Zero-confident-wrong invariant.

Method source: https://github.com/jascal/lagh (Apache-2.0), installed
from the stable repo via install.sh per the contribution guidelines.
jascal added a commit to jascal/lagh that referenced this pull request Jul 28, 2026
actions/cache v1/v2 were closed down by GitHub in early 2025; every job
now fails at 'Set up job' before running. Bump cache v2->v4, checkout
v2->v4, setup-miniconda v2->v3 in the PR-triggered workflow only.
@jascal

jascal commented Jul 28, 2026

Copy link
Copy Markdown
Author

Note for reviewers: the dev branch's CI auto-fails at Set up job (GitHub retired actions/cache@v2 in early 2025), so this PR includes one clearly-separated commit bumping the retired actions in ci.yml so the method tests can actually run. The same fix is available standalone in #215 if you'd rather merge it independently — happy to rebase this PR on top of it.

Allan Scott added 5 commits July 27, 2026 22:30
conda-forge sunset Mambaforge; the latest-release download now 404s and
setup-miniconda's own warning says to switch. Miniforge3 ships mamba.
…tion()

Same regressor file works under both the dev contract and the 2025
living-benchmark contract (experiment/methods layout can be mirrored on
request).
The root environment's pip section transitively installs the retired
'sklearn' package, which now hard-errors; set the documented escape
hatch so the baseline env can build.
@jascal

jascal commented Jul 28, 2026

Copy link
Copy Markdown
Author

Closing this: the dev branch's CI has accumulated several layers of retired-infrastructure breakage (actions/cache v2, Mambaforge installers, the PyPI sklearn shim), and it doesn't make sense to debug that inside a method submission. The method directory remains available ready-to-use at https://github.com/jascal/lagh/tree/master/srbench-submission/algorithms/lagh (contract-compliant for both the dev and srbench_2025 layouts) — happy to resubmit if the intake pipeline gets refreshed. Thanks for maintaining the benchmark.

@jascal jascal closed this Jul 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant