-
Notifications
You must be signed in to change notification settings - Fork 0
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
479 do not backtranslate fancy sorts in get-model #563
Conversation
untranslated = | ||
Map.mapWithKey (const . Var) untranslatableVars |
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.
Unsure about this but I thought it might be helpful to indicate in the response that some potentially-relevant variables are not included.
Thanks @jberthold, will try it out in a bit! |
The result looks great to me! I just ran Kontrol with this version of Booster on the test used in runtimeverification/kontrol#479, and here's the counterexample I'm getting
which I think looks great, and it should be clear to the user that we don't concretize I'll leave it to @goodlyrottenapple and @geo2a to approve :) |
Values of any sort other than
SortBool
andSortInt
cannot currently be back-translated from the SMT representation (all sorts unknown to the solver are opaque). In particular, this is true forMap
-sorted values (which are used frequently in EVM).SortBool
andSortInt
get-values
requestl;VAR = VAR
to the returned substitution.As shown in the added integration test, there are cases where the
Map
-sorted value is relevant, but cannot currently be returned. We might consider modelingMap
s specifically as arrays in the SMT solver in the future.Fixes runtimeverification/kontrol#479