-
Notifications
You must be signed in to change notification settings - Fork 45
Symbolic rules for SET.in #2073
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
Symbolic rules for SET.in #2073
Conversation
…usa/kore into symbolic-rules-SET.in
…usa/kore into symbolic-rules-SET.in
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks pretty good. Let's add one more test, where the Set has some opaque terms. We should do the same thing for Map, too.
kore/src/Kore/Builtin/Set.hs
Outdated
| , keyTerm, mapTerm :: !term | ||
| } | ||
|
|
||
| newtype In term = In { getIn :: InKeys term} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's call this InSet, just so it doesn't get confused with the other In type.
This reverts commit d7f74af.
This reverts commit 1ced2ee. The symbolic rules applied to the negative case of SET.in, but we need to keep the duality between the negative and positive cases so that the SMT solver can reason about them. (The SMT solver does not have any knowledge of SET.)
This reverts commit 1ced2ee. The symbolic rules applied to the negative case, but not the positive case. We need to keep the duality between negative and positive cases so that the SMT solver can reason about them. (The SMT solver has no knowledge of SET.)
This reverts commit 1ced2ee. The symbolic rules applied to the negative case, but not the positive case. We need to keep the duality between negative and positive cases so that the SMT solver can reason about them. (The SMT solver has no knowledge of SET.)
Fixes #2020
Reviewer checklist
stack test --coveragestack haddock