Skip to content

interactive: arrange-idempotence as an e-graph rule in DDIR#766

Merged
frankmcsherry merged 1 commit into
master-nextfrom
ddir-egraph-arrange-idem
Jun 20, 2026
Merged

interactive: arrange-idempotence as an e-graph rule in DDIR#766
frankmcsherry merged 1 commit into
master-nextfrom
ddir-egraph-arrange-idem

Conversation

@frankmcsherry

Copy link
Copy Markdown
Member

A minimal but genuine e-graph expressed as a DDIR program and run on the server: congruence closure (the eqsat: scope) plus one rewrite rule, arrange-idempotence — arrange(x) ≡ x when x is already arranged. The rule asserts equalities between structurally-different nodes and congruence propagates them to a fixpoint: equality saturation as a differential dataflow, and incremental (the session shows folds appear and undo as nodes are fed and retracted).

Retire the three overlapping batch eq-sat examples (eqsat, congruence, cse_tree): arrange_idem.ddp is the equality-saturation core plus a derived rule, so it subsumes them, and its header calls out where that core lives.

A minimal but genuine e-graph expressed as a DDIR program and run on the
server: congruence closure (the `eqsat:` scope) plus one rewrite rule,
arrange-idempotence — `arrange(x) ≡ x` when `x` is already arranged. The
rule asserts equalities between structurally-different nodes and congruence
propagates them to a fixpoint: equality saturation as a differential
dataflow, and incremental (the session shows folds appear and undo as
nodes are fed and retracted).

Retire the three overlapping batch eq-sat examples (`eqsat`, `congruence`,
`cse_tree`): `arrange_idem.ddp` is the equality-saturation core plus a
derived rule, so it subsumes them, and its header calls out where that core
lives.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@frankmcsherry frankmcsherry marked this pull request as ready for review June 20, 2026 21:32
@frankmcsherry frankmcsherry merged commit 148b675 into master-next Jun 20, 2026
6 checks passed
@frankmcsherry frankmcsherry deleted the ddir-egraph-arrange-idem branch June 20, 2026 21:41
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