2021-01-22 10:42:40 +00:00
|
|
|
contract B {
|
|
|
|
uint x;
|
|
|
|
function f() public view {
|
|
|
|
assert(x == 0);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
contract C is B {
|
|
|
|
uint y;
|
|
|
|
function g() public {
|
|
|
|
x = 1;
|
|
|
|
f();
|
|
|
|
}
|
|
|
|
}
|
2021-03-31 15:11:54 +00:00
|
|
|
// ====
|
|
|
|
// SMTEngine: all
|
2021-01-22 10:42:40 +00:00
|
|
|
// ----
|
2021-08-20 16:47:30 +00:00
|
|
|
// Warning 6328: (52-66): CHC: Assertion violation happens here.\nCounterexample:\ny = 0, x = 1\n\nTransaction trace:\nC.constructor()\nState: y = 0, x = 0\nC.g()\n B.f() -- internal call\nState: y = 0, x = 1\nB.f()
|
2021-10-06 09:53:03 +00:00
|
|
|
// Info 1180: Contract invariant(s) for :B:\n(x <= 0)\n
|