You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
See testIndexedReturnVariableReference in InterpreterAstNodeVisitorTest, following test program:
function Integer[] test2(Integer N, Integer[] a)
_ensures forall Integer i, 0 <= i && i < N : _return[i] ≥ 0
{
return a
}
Integer[] test := test2(6, {6, 4, 2, 3, 5, 1})
This test fails with an unknown validity interpreter error.
Debugging in InterpreterAstNodeVisitor::getAllSymbols(), one can see that the variable symbolStack is defined as follows:
This means that only the variables a and N are visible in the context of the postcondition, but not the return variable reference, so the return variable reference is not passed on to the prover, which promptly fails to evaluate the quantified expression.
The text was updated successfully, but these errors were encountered:
How can you close this issue when the test I wrote for it still fails? This time it is because you didn’t set the type of the _return variable declaration (which, I think, should be the same type as the function’s return type)
You can commit without marking the issue as fixed by just writing "#61" somewhere in the commit message. That way the commit will be mentioned here without the issue being closed.
See
testIndexedReturnVariableReference
inInterpreterAstNodeVisitorTest
, following test program:This test fails with an unknown validity interpreter error.
Debugging in
InterpreterAstNodeVisitor::getAllSymbols()
, one can see that the variablesymbolStack
is defined as follows:This means that only the variables
a
andN
are visible in the context of the postcondition, but not the return variable reference, so the return variable reference is not passed on to the prover, which promptly fails to evaluate the quantified expression.The text was updated successfully, but these errors were encountered: