Skip to content

Conversation

@saulshanabrook
Copy link
Member

@saulshanabrook saulshanabrook commented Jan 6, 2026

WIP to add new multiset primitives. Used in egraphs-good/egglog-python#397 to try avoiding AC blowup using multisets as polynomials.

Also supports automatically registering unstable function primitives when other sorts are created. Now we can do this:

(sort Math)
(sort Maths (MultiSet Math))
(sort MathToMath (UnstableFn (Math) Math))

Instead of:

(sort Math)
(sort MathToMath (UnstableFn (Math) Math))
(sort Maths (MultiSet Math))

and the unstable-multiset-map primitive will still exist.

This is needed for some of the new primitives, to avoid cyclic sort ordering requirements.

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