LTS Termination Proof

by AProVE

Input

Integer Transition System

Proof

1 Switch to Cooperation Termination Proof

We consider the following cutpoint-transitions:
f703_0_main_InvokeMethod f703_0_main_InvokeMethod f703_0_main_InvokeMethod: x1 = x1x2 = x2x3 = x3x4 = x4x5 = x5
f1232_0_sortedHigh_InvokeMethod f1232_0_sortedHigh_InvokeMethod f1232_0_sortedHigh_InvokeMethod: x1 = x1x2 = x2x3 = x3x4 = x4x5 = x5
f1140_0_sortedHigh_NONNULL f1140_0_sortedHigh_NONNULL f1140_0_sortedHigh_NONNULL: x1 = x1x2 = x2x3 = x3x4 = x4x5 = x5
f1309_0_sortedHigh_InvokeMethod f1309_0_sortedHigh_InvokeMethod f1309_0_sortedHigh_InvokeMethod: x1 = x1x2 = x2x3 = x3x4 = x4x5 = x5
f1000_0_quicksort_InvokeMethod f1000_0_quicksort_InvokeMethod f1000_0_quicksort_InvokeMethod: x1 = x1x2 = x2x3 = x3x4 = x4x5 = x5
f392_0_createList_GT f392_0_createList_GT f392_0_createList_GT: x1 = x1x2 = x2x3 = x3x4 = x4x5 = x5
__init __init __init: x1 = x1x2 = x2x3 = x3x4 = x4x5 = x5
f730_0_quicksort_NONNULL f730_0_quicksort_NONNULL f730_0_quicksort_NONNULL: x1 = x1x2 = x2x3 = x3x4 = x4x5 = x5
f501_0_createList_InvokeMethod f501_0_createList_InvokeMethod f501_0_createList_InvokeMethod: x1 = x1x2 = x2x3 = x3x4 = x4x5 = x5
f790_0_sortedLow_NONNULL f790_0_sortedLow_NONNULL f790_0_sortedLow_NONNULL: x1 = x1x2 = x2x3 = x3x4 = x4x5 = x5
f1022_0_sortedLow_InvokeMethod f1022_0_sortedLow_InvokeMethod f1022_0_sortedLow_InvokeMethod: x1 = x1x2 = x2x3 = x3x4 = x4x5 = x5
f89_0_main_InvokeMethod f89_0_main_InvokeMethod f89_0_main_InvokeMethod: x1 = x1x2 = x2x3 = x3x4 = x4x5 = x5
f1_0_main_Load f1_0_main_Load f1_0_main_Load: x1 = x1x2 = x2x3 = x3x4 = x4x5 = x5
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 { f1232_0_sortedHigh_InvokeMethod, f790_0_sortedLow_NONNULL, f1140_0_sortedHigh_NONNULL, f1309_0_sortedHigh_InvokeMethod, f1022_0_sortedLow_InvokeMethod, f1000_0_quicksort_InvokeMethod, f730_0_quicksort_NONNULL }.

2.1.1 Transition Removal

We remove transitions 17, 34, 18, 35, 33, 32, 21, 20, 19, 38, 37, 36, 30, 31, 29, 28, 27, 26, 24, 25 using the following ranking functions, which are bounded by 0.

f730_0_quicksort_NONNULL: −1 + 3⋅x1
f790_0_sortedLow_NONNULL: 1 + 3⋅x2
f1140_0_sortedHigh_NONNULL: 1 + 3⋅x2
f1232_0_sortedHigh_InvokeMethod: 3⋅x1
f1000_0_quicksort_InvokeMethod: −4 + 3⋅x1
f1309_0_sortedHigh_InvokeMethod: 3⋅x1
f1022_0_sortedLow_InvokeMethod: 3⋅x1

2.1.2 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 { f501_0_createList_InvokeMethod, f392_0_createList_GT }.

2.2.1 Transition Removal

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

f392_0_createList_GT: 2⋅x1
f501_0_createList_InvokeMethod: −1 + 2⋅x1

2.2.2 Trivial Cooperation Program

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

Tool configuration

AProVE