by AProVE
f1_0_main_ConstantStackPush | 1 | f117_0_main_GT: | x1 = _arg1 ∧ x2 = _arg2 ∧ x3 = _arg3 ∧ x4 = _arg4 ∧ x1 = _arg1P ∧ x2 = _arg2P ∧ x3 = _arg3P ∧ x4 = _arg4P ∧ _arg2 = _arg3P ∧ 0 = _arg2P ∧ 0 ≤ _arg1P − 1 ∧ 0 ≤ _arg1 − 1 ∧ −1 ≤ _arg2 − 1 ∧ _arg1P ≤ _arg1 | |
f117_0_main_GT | 2 | f197_0_main_GT: | x1 = _x ∧ x2 = _x1 ∧ x3 = _x2 ∧ x4 = _x3 ∧ x1 = _x4 ∧ x2 = _x5 ∧ x3 = _x6 ∧ x4 = _x7 ∧ _x2 = _x7 ∧ 0 = _x6 ∧ _x1 = _x5 ∧ 0 ≤ _x4 − 1 ∧ 0 ≤ _x − 1 ∧ _x4 ≤ _x ∧ −1 ≤ _x2 − 1 ∧ _x1 ≤ _x2 | |
f197_0_main_GT | 3 | f117_0_main_GT: | x1 = _x8 ∧ x2 = _x9 ∧ x3 = _x10 ∧ x4 = _x11 ∧ x1 = _x12 ∧ x2 = _x13 ∧ x3 = _x14 ∧ x4 = _x15 ∧ _x11 = _x14 ∧ _x9 + 1 = _x13 ∧ 0 ≤ _x12 − 1 ∧ 0 ≤ _x8 − 1 ∧ _x12 ≤ _x8 ∧ −1 ≤ _x11 − 1 ∧ _x11 ≤ _x10 − 1 | |
f197_0_main_GT | 4 | f216_0_parts_GT: | x1 = _x16 ∧ x2 = _x17 ∧ x3 = _x18 ∧ x4 = _x19 ∧ x1 = _x20 ∧ x2 = _x21 ∧ x3 = _x22 ∧ x4 = _x23 ∧ _x17 = _x21 ∧ _x18 = _x20 ∧ 0 ≤ _x16 − 1 ∧ _x18 ≤ _x19 ∧ _x17 ≤ _x19 | |
f197_0_main_GT | 5 | f197_0_main_GT: | x1 = _x24 ∧ x2 = _x25 ∧ x3 = _x26 ∧ x4 = _x27 ∧ x1 = _x28 ∧ x2 = _x29 ∧ x3 = _x30 ∧ x4 = _x31 ∧ _x27 = _x31 ∧ _x26 + 1 = _x30 ∧ 0 = _x29 ∧ 0 = _x25 ∧ 0 ≤ _x28 − 1 ∧ 0 ≤ _x24 − 1 ∧ _x28 ≤ _x24 ∧ _x26 ≤ _x27 ∧ −1 ≤ _x27 − 1 | |
f197_0_main_GT | 6 | f197_0_main_GT: | x1 = _x32 ∧ x2 = _x33 ∧ x3 = _x34 ∧ x4 = _x35 ∧ x1 = _x36 ∧ x2 = _x37 ∧ x3 = _x38 ∧ x4 = _x39 ∧ _x35 = _x39 ∧ 1 = _x38 ∧ _x33 = _x37 ∧ 0 = _x34 ∧ 0 ≤ _x36 − 1 ∧ 0 ≤ _x32 − 1 ∧ _x36 ≤ _x32 ∧ −1 ≤ _x35 − 1 ∧ _x33 ≤ _x35 | |
f310_0_parts_Return | 7 | f197_0_main_GT: | x1 = _x40 ∧ x2 = _x41 ∧ x3 = _x42 ∧ x4 = _x43 ∧ x1 = _x44 ∧ x2 = _x45 ∧ x3 = _x46 ∧ x4 = _x48 ∧ _x43 = _x48 ∧ _x42 + 1 = _x46 ∧ _x41 = _x45 ∧ 0 ≤ _x44 − 1 ∧ 0 ≤ _x40 − 1 ∧ −1 ≤ _x43 − 1 ∧ _x44 ≤ _x40 | |
f197_0_main_GT | 8 | f197_0_main_GT: | x1 = _x49 ∧ x2 = _x51 ∧ x3 = _x52 ∧ x4 = _x53 ∧ x1 = _x54 ∧ x2 = _x55 ∧ x3 = _x56 ∧ x4 = _x57 ∧ _x53 = _x57 ∧ _x52 + 1 = _x56 ∧ _x51 = _x55 ∧ 0 ≤ _x54 − 1 ∧ 0 ≤ _x49 − 1 ∧ _x54 ≤ _x49 ∧ −1 ≤ _x53 − 1 ∧ _x52 ≤ _x53 ∧ _x51 ≤ _x53 | |
f216_0_parts_GT | 9 | f216_0_parts_GT: | x1 = _x58 ∧ x2 = _x59 ∧ x3 = _x60 ∧ x4 = _x61 ∧ x1 = _x62 ∧ x2 = _x63 ∧ x3 = _x64 ∧ x4 = _x65 ∧ _x59 = _x63 ∧ _x59 = _x62 ∧ 1 ≤ _x58 − 1 ∧ _x59 ≤ _x58 − 1 ∧ 0 ≤ _x59 − 1 | |
f216_0_parts_GT | 10 | f216_0_parts_GT: | x1 = _x66 ∧ x2 = _x67 ∧ x3 = _x68 ∧ x4 = _x69 ∧ x1 = _x70 ∧ x2 = _x71 ∧ x3 = _x72 ∧ x4 = _x73 ∧ _x67 − _x66 = _x71 ∧ _x66 = _x70 ∧ 0 ≤ _x66 − 1 ∧ _x66 ≤ _x67 ∧ 0 ≤ _x67 − 1 | |
f216_0_parts_GT | 11 | f409_0_parts_InvokeMethod: | x1 = _x74 ∧ x2 = _x75 ∧ x3 = _x76 ∧ x4 = _x77 ∧ x1 = _x78 ∧ x2 = _x79 ∧ x3 = _x80 ∧ x4 = _x81 ∧ _x74 − 1 = _x80 ∧ _x75 = _x79 ∧ _x74 = _x78 ∧ _x74 ≤ _x75 ∧ _x75 − _x74 = 0 ∧ 0 ≤ _x74 − 1 ∧ 0 ≤ _x75 − 1 | |
f314_0_parts_Return | 12 | f409_0_parts_InvokeMethod: | x1 = _x82 ∧ x2 = _x83 ∧ x3 = _x84 ∧ x4 = _x85 ∧ x1 = _x86 ∧ x2 = _x87 ∧ x3 = _x88 ∧ x4 = _x89 ∧ _x83 − 1 = _x88 ∧ _x82 = _x87 ∧ _x83 = _x86 ∧ 0 ≤ _x83 − 1 | |
f216_0_parts_GT | 13 | f409_0_parts_InvokeMethod: | x1 = _x90 ∧ x2 = _x91 ∧ x3 = _x92 ∧ x4 = _x93 ∧ x1 = _x94 ∧ x2 = _x95 ∧ x3 = _x96 ∧ x4 = _x97 ∧ _x90 − 1 = _x96 ∧ _x91 = _x95 ∧ _x90 = _x94 ∧ 0 ≤ _x90 − 1 ∧ _x90 ≤ _x91 ∧ 0 ≤ _x91 − 1 | |
f409_0_parts_InvokeMethod | 14 | f216_0_parts_GT: | x1 = _x98 ∧ x2 = _x99 ∧ x3 = _x100 ∧ x4 = _x101 ∧ x1 = _x102 ∧ x2 = _x103 ∧ x3 = _x104 ∧ x4 = _x105 ∧ 0 ≤ _x99 − 1 ∧ 0 ≤ _x98 − 1 ∧ 0 ≤ _x106 − 1 ∧ _x100 ≤ _x98 − 1 ∧ _x100 = _x102 ∧ _x99 = _x103 | |
f216_0_parts_GT | 15 | f216_0_parts_GT: | x1 = _x107 ∧ x2 = _x108 ∧ x3 = _x109 ∧ x4 = _x110 ∧ x1 = _x111 ∧ x2 = _x112 ∧ x3 = _x113 ∧ x4 = _x114 ∧ 0 ≤ _x108 − 1 ∧ 1 ≤ _x107 − 1 ∧ _x107 ≤ _x108 ∧ _x107 − 1 ≤ _x107 − 1 ∧ 0 ≤ _x115 − 1 ∧ _x107 − 1 = _x111 ∧ _x108 = _x112 | |
__init | 16 | f1_0_main_ConstantStackPush: | x1 = _x116 ∧ x2 = _x117 ∧ x3 = _x118 ∧ x4 = _x119 ∧ x1 = _x120 ∧ x2 = _x121 ∧ x3 = _x122 ∧ x4 = _x123 ∧ 0 ≤ 0 |
f409_0_parts_InvokeMethod | f409_0_parts_InvokeMethod | : | x1 = x1 ∧ x2 = x2 ∧ x3 = x3 ∧ x4 = x4 |
f314_0_parts_Return | f314_0_parts_Return | : | x1 = x1 ∧ x2 = x2 ∧ x3 = x3 ∧ x4 = x4 |
f197_0_main_GT | f197_0_main_GT | : | x1 = x1 ∧ x2 = x2 ∧ x3 = x3 ∧ x4 = x4 |
f1_0_main_ConstantStackPush | f1_0_main_ConstantStackPush | : | x1 = x1 ∧ x2 = x2 ∧ x3 = x3 ∧ x4 = x4 |
f117_0_main_GT | f117_0_main_GT | : | x1 = x1 ∧ x2 = x2 ∧ x3 = x3 ∧ x4 = x4 |
f216_0_parts_GT | f216_0_parts_GT | : | x1 = x1 ∧ x2 = x2 ∧ x3 = x3 ∧ x4 = x4 |
f310_0_parts_Return | f310_0_parts_Return | : | x1 = x1 ∧ x2 = x2 ∧ x3 = x3 ∧ x4 = x4 |
__init | __init | : | x1 = x1 ∧ x2 = x2 ∧ x3 = x3 ∧ x4 = x4 |
We consider subproblems for each of the 2 SCC(s) of the program graph.
Here we consider the SCC {
, }.We remove transition
using the following ranking functions, which are bounded by 0.: | − x2 + x3 |
: | −1 − x2 + x4 |
We remove transition
using the following ranking functions, which are bounded by 0.: | 0 |
: | −1 |
We remove transitions
, , using the following ranking functions, which are bounded by 0.: | − x3 + x4 |
There are no more "sharp" transitions in the cooperation program. Hence the cooperation termination is proved.
Here we consider the SCC {
, }.We remove transitions
, using the following ranking functions, which are bounded by 0.: | −1 + x1 |
: | −1 + x3 |
We remove transition
using the following ranking functions, which are bounded by 0.: | −1 + x1 |
: | −1 + x1 |
We remove transition
using the following ranking functions, which are bounded by 0.: | 0 |
: | −1 |
We remove transitions
, using the following ranking functions, which are bounded by 0.: | x1 + x2 |
There are no more "sharp" transitions in the cooperation program. Hence the cooperation termination is proved.