LTS Termination Proof

by AProVE

Input

Integer Transition System

Proof

1 Switch to Cooperation Termination Proof

We consider the following cutpoint-transitions:
f292_0_main_LT f292_0_main_LT f292_0_main_LT: x1 = x1x2 = x2x3 = x3x4 = x4x5 = x5x6 = x6x7 = x7x8 = x8x9 = x9
f101_0_main_GE f101_0_main_GE f101_0_main_GE: x1 = x1x2 = x2x3 = x3x4 = x4x5 = x5x6 = x6x7 = x7x8 = x8x9 = x9
f422_0_main_GE f422_0_main_GE f422_0_main_GE: x1 = x1x2 = x2x3 = x3x4 = x4x5 = x5x6 = x6x7 = x7x8 = x8x9 = x9
f1_0_main_ConstantStackPush f1_0_main_ConstantStackPush f1_0_main_ConstantStackPush: x1 = x1x2 = x2x3 = x3x4 = x4x5 = x5x6 = x6x7 = x7x8 = x8x9 = x9
f255_0_main_GE f255_0_main_GE f255_0_main_GE: x1 = x1x2 = x2x3 = x3x4 = x4x5 = x5x6 = x6x7 = x7x8 = x8x9 = x9
f448_0_main_LT f448_0_main_LT f448_0_main_LT: x1 = x1x2 = x2x3 = x3x4 = x4x5 = x5x6 = x6x7 = x7x8 = x8x9 = x9
__init __init __init: x1 = x1x2 = x2x3 = x3x4 = x4x5 = x5x6 = x6x7 = x7x8 = x8x9 = x9
and for every transition t, a duplicate t is considered.

2 SCC Decomposition

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

2.1 SCC Subproblem 1/1

Here we consider the SCC { f292_0_main_LT, f101_0_main_GE, f422_0_main_GE, f255_0_main_GE, f448_0_main_LT }.

2.1.1 Transition Removal

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

f101_0_main_GE: −2⋅x2 + 2⋅x3 + 1
f255_0_main_GE: −2⋅x2 + 2⋅x5
f292_0_main_LT: −2⋅x2 + 2⋅x6
f422_0_main_GE: −2⋅x2 + 2⋅x8
f448_0_main_LT: −2⋅x2 + 2⋅x9

2.1.2 Transition Removal

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

f255_0_main_GE: x5
f101_0_main_GE: −1 + x3
f292_0_main_LT: x6
f422_0_main_GE: x8
f448_0_main_LT: x9

2.1.3 Transition Removal

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

f292_0_main_LT: −1 + x2 + x3x4
f255_0_main_GE: x2x3 + x4
f422_0_main_GE: −1 + x2 + x3x4
f448_0_main_LT: −1 + x2 + x3x4

2.1.4 Transition Removal

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

f292_0_main_LT: 0
f255_0_main_GE: −1
f422_0_main_GE: 0
f448_0_main_LT: 0

2.1.5 Transition Removal

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

f422_0_main_GE: −1 + 9⋅x2 + x4 + x5
f292_0_main_LT: 9⋅x2 + x4 + x5
f448_0_main_LT: −1 + 9⋅x2 + x4 + x5

2.1.6 Transition Removal

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

f422_0_main_GE: 0
f292_0_main_LT: −1
f448_0_main_LT: 0

2.1.7 Transition Removal

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

f448_0_main_LT: −1 + 100⋅x2 + 10⋅x4 + x5 + x6x7
f422_0_main_GE: 100⋅x2 + 10⋅x4 + x5x6 + x7

2.1.8 Transition Removal

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

f448_0_main_LT: 0
f422_0_main_GE: −1

2.1.9 Transition Removal

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

f448_0_main_LT: x8

2.1.10 Trivial Cooperation Program

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

Tool configuration

AProVE