Skip to content
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

Solver error invoking node with quantified variable #673

Open
xaaronc opened this issue Aug 28, 2020 · 1 comment
Open

Solver error invoking node with quantified variable #673

xaaronc opened this issue Aug 28, 2020 · 1 comment
Labels
enhancement New feature or request

Comments

@xaaronc
Copy link

xaaronc commented Aug 28, 2020

This input:

node istrue(x: bool) returns (y: bool) let y = x; tel

node A(x: bool) returns (y: bool)
let
    y = x;
    --%PROPERTY forall(i:bool) istrue(i) => y;
tel

gives the following error output:

Runtime failure in bounded model checking: SMT solver failed: line 30 column 10: unknown constant __C2
Runtime failure in inductive step: SMT solver failed: line 44 column 10: unknown constant __C2
Child process 65582 (2-induction) exited with return code 2
Child process 65581 (inductive step) exited with return code 2
Terminating useless bounded model checking (PID 65580)
Child process 65583 (property directed reachability) exited with return code 2
Terminating useless bounded model checking (PID 65580)
Child process 65580 (bounded model checking) exited with return code 2
Runtime failure in property directed reachability: SMT solver failed: line 40 column 11: unknown constant __C2
Caught exception Failure("SMT solver failed: line 36 column 10: unknown constant __C2")
Caught exception Failure("SMT solver failed: line 36 column 10: unknown constant __C2")
Caught exception Failure("SMT solver failed: line 36 column 10: unknown constant __C2")
Runtime failure in 2-induction: SMT solver failed: line 43 column 10: unknown constant __C2
Caught exception Failure("SMT solver failed: line 36 column 10: unknown constant __C2")

Replacing istrue(i) with istrue(x) does the expected thing.

kind2 --version
kind2 v1.2.0-521-g445b0439

@daniel-larraz daniel-larraz added the enhancement New feature or request label Feb 12, 2022
@daniel-larraz
Copy link
Contributor

Quantified variables are currently not allowed in arguments to node calls. The new front-end (enabled in PR #843) rejects this input and reports the problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants