Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor existance proofs, fixing bugs in the process #332

Closed
wants to merge 10 commits into from

Conversation

oflatt
Copy link
Member

@oflatt oflatt commented Aug 20, 2024

This PR refactors explanations and existance proofs to prevent them running into contradictions.
The main change is to phase the instantiations of the LHS of rules with the actual application of those rules. This allows the memo to remain up-to-date, and keeps a consistent view of the egraph for that iteration.

The API for appliers has changed slightly. In explanations mode, the applier is given a particular term for the left hand side of the rewrite instead of an eclass id. This elegantly solves the phasing problem.

@oflatt oflatt marked this pull request as draft August 20, 2024 19:03
@oflatt
Copy link
Member Author

oflatt commented Aug 20, 2024

Since this is getting messy, and since analysis are super hard to support, I'm in favor of deleting existence explanations from egg.
Egglog will hopefully have this feature implemented correctly!

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