Steps to reproduce:
- Set Z3 timeout for the WW-project to 60s
- Try to prove the following program correct:
Integer x
Integer y
Integer z := 0
Integer oldX := x
Integer oldY := y
while (y != 0)
_invariant y >= 0 && oldX * oldY = x * y + z
{
if (y / 2 * 2 != y) {
z := x + z
y := y / 2
x := 2 * x
}
if (y / 2 * 2 = y) {
y := y / 2
x := 2 * x
}
}
_assert z = oldX * oldY
WW immediately reports that Z3 has reached the timeout but Z3 is still running in the background.