maude: Phase 5 system modules + rewrite rules (21 tests, 159 total)
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 48s

lib/maude/rewrite.sx: rl/crl transitions interleaved with eq normalisation.
mau/rewrite = default strategy (top-down, leftmost-outermost, first rule);
mau/rew bounded; mau/search = BFS reachability over all successors.

lib/maude/fire.sx: short-circuiting matcher (mau/fire-eq) — finds the first
productive match instead of enumerating the whole solution set. Fixes the
exponential blowup of AC rewriting on many identical elements (8 coins:
60s+ to <1s). Eager match-multiset kept only for match-all / search.

Verified on AC coin-change, traffic light, branching search, crl clock.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-07 15:23:06 +00:00
parent 1747bbd944
commit 858d35a68c
8 changed files with 692 additions and 12 deletions

View File

@@ -1,13 +1,14 @@
{
"lang": "maude",
"total_passed": 138,
"total_passed": 159,
"total_failed": 0,
"total": 138,
"total": 159,
"suites": [
{"name":"parse","passed":65,"failed":0,"total":65},
{"name":"reduce","passed":26,"failed":0,"total":26},
{"name":"matching","passed":28,"failed":0,"total":28},
{"name":"conditional","passed":19,"failed":0,"total":19}
{"name":"conditional","passed":19,"failed":0,"total":19},
{"name":"rewrite","passed":21,"failed":0,"total":21}
],
"generated": "2026-06-07T15:05:31+00:00"
"generated": "2026-06-07T15:22:28+00:00"
}