-
Notifications
You must be signed in to change notification settings - Fork 152
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
Avoid overlap of equations for Bool combinators simplifications #3789
Conversation
Co-authored-by: Bruce Collie <[email protected]>
… anyway)" This reverts commit 2b93d97.
@jberthold did you have a chance to check the performance of this one on KEVM and Kontrol? This will make it so that the overlapping rules are applied in different phases, the normal equation phase or the simplification phase, so could have a weird effect on performance. |
I ran this version with AFAICT |
I re-measured the BTW these measurements are a bit noisy because of the re-compilation (I am getting a screenful of |
This is a variant of #3786 which turns all equations that focus on the 2nd argument of a
Bool
combinator assimplification
s. In doing this, we retain a complete set of defining equations but avoid the problem described below.Equations are kept in groups by combinator, rather than splitting them into defining and simplification equations in different modules.
Rules like this pair
were previously in
BOOL-COMMON
and were said to demonstrate the implemented semantics of the hooks.As
kore-rpc-booster
does not have its own hooks, the rules now come into effect themselves.This causes issues because of the obvious overlap of rule matches (consider subject term
false andBool false
which matches both rule LHSs).This PR addresses the
kore-rpc-booster
issue by declaring some of the rules forBool
combinators assimplification
s (whose application is optional - simplifications are trusted to be sound regardless of their (priority) order, whereas function equations with overlapping cases or uncertain matches lead to aborting evaluation inkore-rpc-booster
to avoid unsoundness).Also removed some trailing whitespace from the
domains.md
file.