-
Notifications
You must be signed in to change notification settings - Fork 16
add the ability to inline a symbol in a set #451
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
Conversation
1b5ef40 to
c65898b
Compare
|
@filipeom, should be good to review now. It finally decided that the function should take an expression and a map from symbol to expression as input, which is how we'll be using it in Owi. Let me know if you can think of a better API (or naming :-)). While reading the code around, I also noticed some pattern matching that could be simplified a little bit and decided to commit all of this together, sorry about this 😅 |
filipeom
left a comment
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.
@filipeom, should be good to review now. It finally decided that the function should take an expression and a map from symbol to expression as input, which is how we'll be using it in Owi. Let me know if you can think of a better API (or naming :-)).
While reading the code around, I also noticed some pattern matching that could be simplified a little bit and decided to commit all of this together, sorry about this 😅
Thanks for taking the time to do this! I had a small question below. Regarding naming, I'm probably the worst person to suggest any change 😅 I actually like the API you're proposing
c65898b to
2ab704c
Compare
2ab704c to
64d20e9
Compare
|
@filipeom PTAL :) |
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.
LGTM! I can merge if you want 😄
|
Thanks! I merged directly ~~ |
|
Thanks! 🙏 |
This will be used in Owi (or maybe the simplification makes sense directly in Smt.ml, we'll see).
The idea is that, when we add something like
symbol_0 = 42in the PC. Then, we can propagate the equality and replacesymbol_0by42in order to simplify the PC and save time/solver calls in the remaining execution.This is a quick draft, I'll finish it soon.