forked from ethereum/solidity
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathaon_blog_post.sol
49 lines (49 loc) · 957 Bytes
/
aon_blog_post.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
contract C {
bool a;
bool b;
bool c;
bool d;
bool e;
bool f;
function press_A() public {
if(e) { a = true; } else { reset(); }
}
function press_B() public {
if(c) { b = true; } else { reset(); }
}
function press_C() public {
if(a) { c = true; } else { reset(); }
}
function press_D() public {
d = true;
}
function press_E() public {
if(d) { e = true; } else { reset(); }
}
function press_F() public {
if(b) { f = true; } else { reset(); }
}
function is_not_solved() view public {
// f = true can be reached by calling the functions
// press_D()
// press_E()
// press_A()
// press_C()
// press_B()
// press_F()
assert(!f);
}
function reset() internal {
a = false;
b = false;
c = false;
d = false;
e = false;
f = false;
}
}
// ====
// SMTEngine: all
// ----
// Warning 6328: (657-667): CHC: Assertion violation might happen here.
// Warning 4661: (657-667): BMC: Assertion violation happens here.