You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit e5b06c0
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: crates/egglog-r2il-probe/REVIEW_GATES.md
+17Lines changed: 17 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -61,3 +61,20 @@ For #1691, reuse the typed **three-state physical oracle** only after independen
61
61
## Admission decision
62
62
63
63
**Do not auto-merge.** This review enables a real integration diff and a missing CI gate; it does **not** certify the semantic counterexamples above as fixed. Maintain `egglog -> proof/rewrite` strictly cold and `R2IL -> FoldDialect -> mask-risc execute_into` as the permitted execution chain. Promote only after P0 invariants are either proven by witnesses/tests or explicitly restricted to the synthetic E1 admitted input domain.
64
+
65
+
## Status after rebase onto main (2026-10-22, #1696 merged)
66
+
67
+
Both P0 gates are now closed **for the linear E1 language**, each with a test that fails when its guard is removed. The P1 gates are unchanged.
68
+
69
+
-**E-PREMISE: closed.**
70
+
- Reproduced first: `[z=2c, z=3c]` at c=7 certified 14, and 21 with the premises swapped; the oracle agreed both times.
71
+
-`oracle::coefficients` now checks every premise:
72
+
- a second definition must agree;
73
+
- a cycle such as `c = 2c` is inconsistent;
74
+
- a premise the target cannot reach is refused.
75
+
-`ReplayCapsule::certify` refuses such systems with `InvalidPremises` before egglog runs.
76
+
-**E-OVERFLOW-CANCEL: closed by an input-range witness.**
77
+
- Reproduced first: `a = -1*c; z = -1*a` returned `Ok(i64::MIN)` on a hit where the eager checked baseline overflows (the codex P2), and `a = MAX*c; z = 0*a` returned 0 at c=2.
78
+
-`Catalogue::promote` records `CheckedRange`: the inputs on which every premise's intermediate `k * x` fits i64.
79
+
-`execute_or` falls back outside it (`OutsideCheckedRange`).
80
+
- The witness covers only the eager baseline that evaluates every premise, and only premises linear in the target. A non-linear language needs a new witness.
0 commit comments