Initial Problem

Start: start0
Program_Vars: Arg_0, Arg_1, Arg_2, Arg_3
Temp_Vars: E
Locations: a, b, cont1, start, start0, stop1, stop2, stop3
Transitions:
4:a(Arg_0,Arg_1,Arg_2,Arg_3) -> b(Arg_0,Arg_1,E,Arg_3-1):|:Arg_3<=Arg_0 && 0<=Arg_1 && 0<=Arg_2 && 1<=Arg_3
5:b(Arg_0,Arg_1,Arg_2,Arg_3) -> start(Arg_0,Arg_1,Arg_2,Arg_3):|:0<=Arg_2 && 0<=Arg_3 && 0<=Arg_1 && Arg_3+1<=Arg_0
6:b(Arg_0,Arg_1,Arg_2,Arg_3) -> stop3(Arg_0,Arg_1,Arg_2,Arg_3):|:Arg_2+1<=0 && 0<=Arg_3 && 0<=Arg_1 && Arg_3+1<=Arg_0
3:cont1(Arg_0,Arg_1,Arg_2,Arg_3) -> a(Arg_0,Arg_1,Arg_2-1,Arg_3):|:1<=Arg_2 && 1<=Arg_3 && 0<=Arg_2 && 0<=Arg_1 && Arg_3<=Arg_0
2:cont1(Arg_0,Arg_1,Arg_2,Arg_3) -> stop2(Arg_0,Arg_1,1,Arg_3-1):|:1<=Arg_3 && 0<=Arg_1 && Arg_3<=Arg_0 && Arg_2<=0 && 0<=Arg_2
1:start(Arg_0,Arg_1,Arg_2,Arg_3) -> cont1(Arg_0,Arg_1,Arg_2,Arg_3):|:1<=Arg_3 && 0<=Arg_0 && 0<=Arg_1 && 0<=Arg_2 && 0<=Arg_3 && Arg_3<=Arg_0
0:start(Arg_0,Arg_1,Arg_2,Arg_3) -> stop1(Arg_0,Arg_1,Arg_2,Arg_3):|:0<=Arg_0 && 0<=Arg_1 && 0<=Arg_2 && Arg_3<=0 && 0<=Arg_3
7:start0(Arg_0,Arg_1,Arg_2,Arg_3) -> start(Arg_0,Arg_1,Arg_1,Arg_0):|:0<=Arg_0 && 0<=Arg_1

Preprocessing

Found invariant Arg_3<=0 && Arg_3<=Arg_2 && Arg_3<=Arg_1 && Arg_3<=Arg_0 && 0<=Arg_3 && 0<=Arg_2+Arg_3 && 0<=Arg_1+Arg_3 && 0<=Arg_0+Arg_3 && 0<=Arg_2 && 0<=Arg_1+Arg_2 && 0<=Arg_0+Arg_2 && 0<=Arg_1 && 0<=Arg_0+Arg_1 && 0<=Arg_0 for location stop1

Found invariant 1+Arg_3<=Arg_0 && 0<=Arg_3 && 1<=Arg_2+Arg_3 && Arg_2<=1+Arg_3 && 0<=Arg_1+Arg_3 && 1<=Arg_0+Arg_3 && Arg_2<=1 && Arg_2<=1+Arg_1 && Arg_2<=Arg_0 && 1<=Arg_2 && 1<=Arg_1+Arg_2 && 2<=Arg_0+Arg_2 && 0<=Arg_1 && 1<=Arg_0+Arg_1 && 1<=Arg_0 for location stop2

Found invariant Arg_3<=Arg_0 && 1<=Arg_3 && 1<=Arg_2+Arg_3 && 1<=Arg_1+Arg_3 && 2<=Arg_0+Arg_3 && 0<=Arg_2 && 0<=Arg_1+Arg_2 && 1<=Arg_0+Arg_2 && 0<=Arg_1 && 1<=Arg_0+Arg_1 && 1<=Arg_0 for location a

Found invariant Arg_3<=Arg_0 && 0<=Arg_3 && 0<=Arg_2+Arg_3 && 0<=Arg_1+Arg_3 && 0<=Arg_0+Arg_3 && 0<=Arg_2 && 0<=Arg_1+Arg_2 && 0<=Arg_0+Arg_2 && 0<=Arg_1 && 0<=Arg_0+Arg_1 && 0<=Arg_0 for location start

Found invariant 1+Arg_3<=Arg_0 && 0<=Arg_3 && 0<=Arg_1+Arg_3 && 1<=Arg_0+Arg_3 && 0<=Arg_1 && 1<=Arg_0+Arg_1 && 1<=Arg_0 for location b

Found invariant Arg_3<=Arg_0 && 1<=Arg_3 && 1<=Arg_2+Arg_3 && 1<=Arg_1+Arg_3 && 2<=Arg_0+Arg_3 && 0<=Arg_2 && 0<=Arg_1+Arg_2 && 1<=Arg_0+Arg_2 && 0<=Arg_1 && 1<=Arg_0+Arg_1 && 1<=Arg_0 for location cont1

Found invariant 1+Arg_3<=Arg_0 && 0<=Arg_3 && 1+Arg_2<=Arg_3 && 0<=Arg_1+Arg_3 && 1<=Arg_0+Arg_3 && 1+Arg_2<=0 && 1+Arg_2<=Arg_1 && 2+Arg_2<=Arg_0 && 0<=Arg_1 && 1<=Arg_0+Arg_1 && 1<=Arg_0 for location stop3

Problem after Preprocessing

Start: start0
Program_Vars: Arg_0, Arg_1, Arg_2, Arg_3
Temp_Vars: E
Locations: a, b, cont1, start, start0, stop1, stop2, stop3
Transitions:
4:a(Arg_0,Arg_1,Arg_2,Arg_3) -> b(Arg_0,Arg_1,E,Arg_3-1):|:Arg_3<=Arg_0 && 1<=Arg_3 && 1<=Arg_2+Arg_3 && 1<=Arg_1+Arg_3 && 2<=Arg_0+Arg_3 && 0<=Arg_2 && 0<=Arg_1+Arg_2 && 1<=Arg_0+Arg_2 && 0<=Arg_1 && 1<=Arg_0+Arg_1 && 1<=Arg_0 && Arg_3<=Arg_0 && 0<=Arg_1 && 0<=Arg_2 && 1<=Arg_3
5:b(Arg_0,Arg_1,Arg_2,Arg_3) -> start(Arg_0,Arg_1,Arg_2,Arg_3):|:1+Arg_3<=Arg_0 && 0<=Arg_3 && 0<=Arg_1+Arg_3 && 1<=Arg_0+Arg_3 && 0<=Arg_1 && 1<=Arg_0+Arg_1 && 1<=Arg_0 && 0<=Arg_2 && 0<=Arg_3 && 0<=Arg_1 && Arg_3+1<=Arg_0
6:b(Arg_0,Arg_1,Arg_2,Arg_3) -> stop3(Arg_0,Arg_1,Arg_2,Arg_3):|:1+Arg_3<=Arg_0 && 0<=Arg_3 && 0<=Arg_1+Arg_3 && 1<=Arg_0+Arg_3 && 0<=Arg_1 && 1<=Arg_0+Arg_1 && 1<=Arg_0 && Arg_2+1<=0 && 0<=Arg_3 && 0<=Arg_1 && Arg_3+1<=Arg_0
3:cont1(Arg_0,Arg_1,Arg_2,Arg_3) -> a(Arg_0,Arg_1,Arg_2-1,Arg_3):|:Arg_3<=Arg_0 && 1<=Arg_3 && 1<=Arg_2+Arg_3 && 1<=Arg_1+Arg_3 && 2<=Arg_0+Arg_3 && 0<=Arg_2 && 0<=Arg_1+Arg_2 && 1<=Arg_0+Arg_2 && 0<=Arg_1 && 1<=Arg_0+Arg_1 && 1<=Arg_0 && 1<=Arg_2 && 1<=Arg_3 && 0<=Arg_2 && 0<=Arg_1 && Arg_3<=Arg_0
2:cont1(Arg_0,Arg_1,Arg_2,Arg_3) -> stop2(Arg_0,Arg_1,1,Arg_3-1):|:Arg_3<=Arg_0 && 1<=Arg_3 && 1<=Arg_2+Arg_3 && 1<=Arg_1+Arg_3 && 2<=Arg_0+Arg_3 && 0<=Arg_2 && 0<=Arg_1+Arg_2 && 1<=Arg_0+Arg_2 && 0<=Arg_1 && 1<=Arg_0+Arg_1 && 1<=Arg_0 && 1<=Arg_3 && 0<=Arg_1 && Arg_3<=Arg_0 && Arg_2<=0 && 0<=Arg_2
1:start(Arg_0,Arg_1,Arg_2,Arg_3) -> cont1(Arg_0,Arg_1,Arg_2,Arg_3):|:Arg_3<=Arg_0 && 0<=Arg_3 && 0<=Arg_2+Arg_3 && 0<=Arg_1+Arg_3 && 0<=Arg_0+Arg_3 && 0<=Arg_2 && 0<=Arg_1+Arg_2 && 0<=Arg_0+Arg_2 && 0<=Arg_1 && 0<=Arg_0+Arg_1 && 0<=Arg_0 && 1<=Arg_3 && 0<=Arg_0 && 0<=Arg_1 && 0<=Arg_2 && 0<=Arg_3 && Arg_3<=Arg_0
0:start(Arg_0,Arg_1,Arg_2,Arg_3) -> stop1(Arg_0,Arg_1,Arg_2,Arg_3):|:Arg_3<=Arg_0 && 0<=Arg_3 && 0<=Arg_2+Arg_3 && 0<=Arg_1+Arg_3 && 0<=Arg_0+Arg_3 && 0<=Arg_2 && 0<=Arg_1+Arg_2 && 0<=Arg_0+Arg_2 && 0<=Arg_1 && 0<=Arg_0+Arg_1 && 0<=Arg_0 && 0<=Arg_0 && 0<=Arg_1 && 0<=Arg_2 && Arg_3<=0 && 0<=Arg_3
7:start0(Arg_0,Arg_1,Arg_2,Arg_3) -> start(Arg_0,Arg_1,Arg_1,Arg_0):|:0<=Arg_0 && 0<=Arg_1

MPRF for transition 4:a(Arg_0,Arg_1,Arg_2,Arg_3) -> b(Arg_0,Arg_1,E,Arg_3-1):|:Arg_3<=Arg_0 && 1<=Arg_3 && 1<=Arg_2+Arg_3 && 1<=Arg_1+Arg_3 && 2<=Arg_0+Arg_3 && 0<=Arg_2 && 0<=Arg_1+Arg_2 && 1<=Arg_0+Arg_2 && 0<=Arg_1 && 1<=Arg_0+Arg_1 && 1<=Arg_0 && Arg_3<=Arg_0 && 0<=Arg_1 && 0<=Arg_2 && 1<=Arg_3 of depth 1:

new bound:

Arg_0 {O(n)}

MPRF:

b [Arg_3 ]
a [Arg_3 ]
start [Arg_3 ]
cont1 [Arg_3 ]

MPRF for transition 5:b(Arg_0,Arg_1,Arg_2,Arg_3) -> start(Arg_0,Arg_1,Arg_2,Arg_3):|:1+Arg_3<=Arg_0 && 0<=Arg_3 && 0<=Arg_1+Arg_3 && 1<=Arg_0+Arg_3 && 0<=Arg_1 && 1<=Arg_0+Arg_1 && 1<=Arg_0 && 0<=Arg_2 && 0<=Arg_3 && 0<=Arg_1 && Arg_3+1<=Arg_0 of depth 1:

new bound:

Arg_0 {O(n)}

MPRF:

b [Arg_3+1 ]
a [Arg_3 ]
start [Arg_3 ]
cont1 [Arg_3 ]

MPRF for transition 3:cont1(Arg_0,Arg_1,Arg_2,Arg_3) -> a(Arg_0,Arg_1,Arg_2-1,Arg_3):|:Arg_3<=Arg_0 && 1<=Arg_3 && 1<=Arg_2+Arg_3 && 1<=Arg_1+Arg_3 && 2<=Arg_0+Arg_3 && 0<=Arg_2 && 0<=Arg_1+Arg_2 && 1<=Arg_0+Arg_2 && 0<=Arg_1 && 1<=Arg_0+Arg_1 && 1<=Arg_0 && 1<=Arg_2 && 1<=Arg_3 && 0<=Arg_2 && 0<=Arg_1 && Arg_3<=Arg_0 of depth 1:

new bound:

Arg_0 {O(n)}

MPRF:

b [Arg_3 ]
a [Arg_3-1 ]
start [Arg_3 ]
cont1 [Arg_3 ]

MPRF for transition 1:start(Arg_0,Arg_1,Arg_2,Arg_3) -> cont1(Arg_0,Arg_1,Arg_2,Arg_3):|:Arg_3<=Arg_0 && 0<=Arg_3 && 0<=Arg_2+Arg_3 && 0<=Arg_1+Arg_3 && 0<=Arg_0+Arg_3 && 0<=Arg_2 && 0<=Arg_1+Arg_2 && 0<=Arg_0+Arg_2 && 0<=Arg_1 && 0<=Arg_0+Arg_1 && 0<=Arg_0 && 1<=Arg_3 && 0<=Arg_0 && 0<=Arg_1 && 0<=Arg_2 && 0<=Arg_3 && Arg_3<=Arg_0 of depth 1:

new bound:

Arg_0+1 {O(n)}

MPRF:

b [Arg_3+1 ]
a [Arg_3 ]
start [Arg_3+1 ]
cont1 [Arg_3 ]

All Bounds

Timebounds

Overall timebound:4*Arg_0+5 {O(n)}
4: a->b: Arg_0 {O(n)}
5: b->start: Arg_0 {O(n)}
6: b->stop3: 1 {O(1)}
2: cont1->stop2: 1 {O(1)}
3: cont1->a: Arg_0 {O(n)}
0: start->stop1: 1 {O(1)}
1: start->cont1: Arg_0+1 {O(n)}
7: start0->start: 1 {O(1)}

Costbounds

Overall costbound: 4*Arg_0+5 {O(n)}
4: a->b: Arg_0 {O(n)}
5: b->start: Arg_0 {O(n)}
6: b->stop3: 1 {O(1)}
2: cont1->stop2: 1 {O(1)}
3: cont1->a: Arg_0 {O(n)}
0: start->stop1: 1 {O(1)}
1: start->cont1: Arg_0+1 {O(n)}
7: start0->start: 1 {O(1)}

Sizebounds

4: a->b, Arg_0: Arg_0 {O(n)}
4: a->b, Arg_1: Arg_1 {O(n)}
4: a->b, Arg_3: Arg_0 {O(n)}
5: b->start, Arg_0: Arg_0 {O(n)}
5: b->start, Arg_1: Arg_1 {O(n)}
5: b->start, Arg_3: Arg_0 {O(n)}
6: b->stop3, Arg_0: Arg_0 {O(n)}
6: b->stop3, Arg_1: Arg_1 {O(n)}
6: b->stop3, Arg_3: Arg_0 {O(n)}
2: cont1->stop2, Arg_0: Arg_0 {O(n)}
2: cont1->stop2, Arg_1: Arg_1 {O(n)}
2: cont1->stop2, Arg_2: 1 {O(1)}
2: cont1->stop2, Arg_3: Arg_0 {O(n)}
3: cont1->a, Arg_0: Arg_0 {O(n)}
3: cont1->a, Arg_1: Arg_1 {O(n)}
3: cont1->a, Arg_3: Arg_0 {O(n)}
0: start->stop1, Arg_0: 2*Arg_0 {O(n)}
0: start->stop1, Arg_1: 2*Arg_1 {O(n)}
0: start->stop1, Arg_3: 0 {O(1)}
1: start->cont1, Arg_0: Arg_0 {O(n)}
1: start->cont1, Arg_1: Arg_1 {O(n)}
1: start->cont1, Arg_3: Arg_0 {O(n)}
7: start0->start, Arg_0: Arg_0 {O(n)}
7: start0->start, Arg_1: Arg_1 {O(n)}
7: start0->start, Arg_2: Arg_1 {O(n)}
7: start0->start, Arg_3: Arg_0 {O(n)}