-
Notifications
You must be signed in to change notification settings - Fork 4
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
Model evaluation for rational theory crashes in MatchError #8
Comments
daniel-raffler
added a commit
to sosy-lab/java-smt
that referenced
this issue
Sep 10, 2024
daniel-raffler
added a commit
to sosy-lab/java-smt
that referenced
this issue
Sep 10, 2024
…s. Extending the partial model does not seem to work in this case, so we need to (temporarily) add the formula to the assertion stack and then re-run the sat-check to get the value. This should work around the issues in uuverifiers/princess#7 and uuverifiers/princess#8
This actually seems to be the Rational version of #17. Here the Epsilon term is created indirectly by the division:
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The JavaSMT developers are currently trying to improve their support for Rational theory with the SMT solver Princess (see sosy-lab/java-smt#257). There are some smaller issues in Princess (version 2023-06-19) that block us from a good integration.
The following issue appeared in model evaluation:
Description:
We want to evaluate a rational division in a model, completely unrelated to any pushed assertions.
The division in the last line is a rational division, not the integer-based one.
The result is not relevant for us and can be any arbitrary value, except a crashing program :-)
Code / Junit test:
Stacktrace:
The term
(/ x 2)
that is used for the model evaluation can be printed asEPS Rat. EX (((Rat_denom = _0) & ((_0 + -1) >= 0)) & (mul(_0, _1[Rat]) = mul(x, Rat_frac(1, 2))))
. I assume that the symbol_0
comes from this notation.@pruemmer Could you take a look?
The text was updated successfully, but these errors were encountered: