LTS Termination Proof

by AProVE

Input

Integer Transition System

Proof

1 Switch to Cooperation Termination Proof

We consider the following cutpoint-transitions:
f409_0_parts_InvokeMethod f409_0_parts_InvokeMethod f409_0_parts_InvokeMethod: x1 = x1x2 = x2x3 = x3x4 = x4
f314_0_parts_Return f314_0_parts_Return f314_0_parts_Return: x1 = x1x2 = x2x3 = x3x4 = x4
f197_0_main_GT f197_0_main_GT f197_0_main_GT: x1 = x1x2 = x2x3 = x3x4 = x4
f1_0_main_ConstantStackPush f1_0_main_ConstantStackPush f1_0_main_ConstantStackPush: x1 = x1x2 = x2x3 = x3x4 = x4
f117_0_main_GT f117_0_main_GT f117_0_main_GT: x1 = x1x2 = x2x3 = x3x4 = x4
f216_0_parts_GT f216_0_parts_GT f216_0_parts_GT: x1 = x1x2 = x2x3 = x3x4 = x4
f310_0_parts_Return f310_0_parts_Return f310_0_parts_Return: x1 = x1x2 = x2x3 = x3x4 = x4
__init __init __init: x1 = x1x2 = x2x3 = x3x4 = x4
and for every transition t, a duplicate t is considered.

2 SCC Decomposition

We consider subproblems for each of the 2 SCC(s) of the program graph.

2.1 SCC Subproblem 1/2

Here we consider the SCC { f197_0_main_GT, f117_0_main_GT }.

2.1.1 Transition Removal

We remove transition 2 using the following ranking functions, which are bounded by 0.

f117_0_main_GT: x2 + x3
f197_0_main_GT: −1 − x2 + x4

2.1.2 Transition Removal

We remove transition 3 using the following ranking functions, which are bounded by 0.

f197_0_main_GT: 0
f117_0_main_GT: −1

2.1.3 Transition Removal

We remove transitions 5, 6, 8 using the following ranking functions, which are bounded by 0.

f197_0_main_GT: x3 + x4

2.1.4 Trivial Cooperation Program

There are no more "sharp" transitions in the cooperation program. Hence the cooperation termination is proved.

2.2 SCC Subproblem 2/2

Here we consider the SCC { f409_0_parts_InvokeMethod, f216_0_parts_GT }.

2.2.1 Transition Removal

We remove transitions 9, 11 using the following ranking functions, which are bounded by 0.

f216_0_parts_GT: −1 + x1
f409_0_parts_InvokeMethod: −1 + x3

2.2.2 Transition Removal

We remove transition 14 using the following ranking functions, which are bounded by 0.

f216_0_parts_GT: −1 + x1
f409_0_parts_InvokeMethod: −1 + x1

2.2.3 Transition Removal

We remove transition 13 using the following ranking functions, which are bounded by 0.

f216_0_parts_GT: 0
f409_0_parts_InvokeMethod: −1

2.2.4 Transition Removal

We remove transitions 10, 15 using the following ranking functions, which are bounded by 0.

f216_0_parts_GT: x1 + x2

2.2.5 Trivial Cooperation Program

There are no more "sharp" transitions in the cooperation program. Hence the cooperation termination is proved.

Tool configuration

AProVE