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)}