by AProVE
f1_0_main_Load | 1 | f31_0_fib_NE: | x1 = _arg1 ∧ x2 = _arg2 ∧ x1 = _arg1P ∧ x2 = _arg2P ∧ _arg2 = _arg1P ∧ −1 ≤ _arg2 − 1 ∧ 0 ≤ _arg1 − 1 | |
f31_0_fib_NE | 2 | f31_0_fib_NE: | x1 = _x ∧ x2 = _x1 ∧ x1 = _x2 ∧ x2 = _x3 ∧ _x − 1 = _x2 ∧ _x − 1 ≤ _x − 1 ∧ 1 ≤ _x − 1 | |
f31_0_fib_NE | 3 | f142_0_fib_InvokeMethod: | x1 = _x4 ∧ x2 = _x5 ∧ x1 = _x6 ∧ x2 = _x7 ∧ 0 = _x7 ∧ 2 = _x6 ∧ 2 = _x4 | |
f31_0_fib_NE | 4 | f142_0_fib_InvokeMethod: | x1 = _x8 ∧ x2 = _x9 ∧ x1 = _x10 ∧ x2 = _x11 ∧ _x8 − 2 = _x11 ∧ _x8 = _x10 ∧ _x8 − 1 ≤ _x8 − 1 ∧ 1 ≤ _x8 − 1 | |
f81_0_fib_Return | 5 | f142_0_fib_InvokeMethod: | x1 = _x12 ∧ x2 = _x13 ∧ x1 = _x14 ∧ x2 = _x15 ∧ _x12 − 2 = _x15 ∧ _x12 = _x14 ∧ 0 ≤ _x12 − 1 | |
f142_0_fib_InvokeMethod | 6 | f31_0_fib_NE: | x1 = _x16 ∧ x2 = _x17 ∧ x1 = _x18 ∧ x2 = _x19 ∧ _x17 = _x18 ∧ _x17 ≤ _x16 − 1 ∧ 1 ≤ _x16 − 1 | |
__init | 7 | f1_0_main_Load: | x1 = _x20 ∧ x2 = _x21 ∧ x1 = _x22 ∧ x2 = _x23 ∧ 0 ≤ 0 |
f81_0_fib_Return | f81_0_fib_Return | : | x1 = x1 ∧ x2 = x2 |
f1_0_main_Load | f1_0_main_Load | : | x1 = x1 ∧ x2 = x2 |
f142_0_fib_InvokeMethod | f142_0_fib_InvokeMethod | : | x1 = x1 ∧ x2 = x2 |
f31_0_fib_NE | f31_0_fib_NE | : | x1 = x1 ∧ x2 = x2 |
__init | __init | : | x1 = x1 ∧ x2 = x2 |
We consider subproblems for each of the 1 SCC(s) of the program graph.
Here we consider the SCC {
, }.We remove transitions
, , , using the following ranking functions, which are bounded by 0.: | 2⋅x1 |
: | −1 + 2⋅x1 |
There are no more "sharp" transitions in the cooperation program. Hence the cooperation termination is proved.