2020-11-05 12:30:42 +00:00
|
|
|
contract C {
|
|
|
|
function f(uint x) public pure {
|
|
|
|
assert(x > 0);
|
|
|
|
}
|
|
|
|
function g(uint x) public pure {
|
|
|
|
require(x >= 0);
|
|
|
|
}
|
|
|
|
function h(uint x) public pure {
|
|
|
|
require(x == 2);
|
|
|
|
require(x != 2);
|
|
|
|
}
|
|
|
|
function i(uint x) public pure {
|
|
|
|
if (false) {
|
|
|
|
if (x != 2) {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// ====
|
|
|
|
// SMTEngine: bmc
|
|
|
|
// ----
|
2021-03-31 15:11:54 +00:00
|
|
|
// Warning 4661: (49-62): BMC: Assertion violation happens here.
|
|
|
|
// Warning 6838: (111-117): BMC: Condition is always true.
|
|
|
|
// Warning 6838: (186-192): BMC: Condition is always false.
|
|
|
|
// Warning 2512: (254-260): BMC: Condition unreachable.
|