11.22/4.26 WORST_CASE(NON_POLY, ?) 11.46/4.27 proof of /export/starexec/sandbox/benchmark/theBenchmark.koat 11.46/4.27 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 11.46/4.27 11.46/4.27 11.46/4.27 The runtime complexity of the given CpxIntTrs could be proven to be BOUNDS(INF, INF). 11.46/4.27 11.46/4.27 (0) CpxIntTrs 11.46/4.27 (1) Loat Proof [FINISHED, 2544 ms] 11.46/4.27 (2) BOUNDS(INF, INF) 11.46/4.27 11.46/4.27 11.46/4.27 ---------------------------------------- 11.46/4.27 11.46/4.27 (0) 11.46/4.27 Obligation: 11.46/4.27 Complexity Int TRS consisting of the following rules: 11.46/4.27 evalfstart(A, B, C, D, E, F, G) -> Com_1(evalfentryin(A, B, C, D, E, F, G)) :|: TRUE 11.46/4.27 evalfentryin(A, B, C, D, E, F, G) -> Com_1(evalfbb10in(B, C, D, A, E, F, G)) :|: TRUE 11.46/4.27 evalfbb10in(A, B, C, D, E, F, G) -> Com_1(evalfbb8in(A, B, C, D, 1, F, G)) :|: D >= 1 11.46/4.27 evalfbb10in(A, B, C, D, E, F, G) -> Com_1(evalfreturnin(A, B, C, D, E, F, G)) :|: 0 >= D 11.46/4.27 evalfbb8in(A, B, C, D, E, F, G) -> Com_1(evalfbb6in(A, B, C, D, E, D, G)) :|: A >= E 11.46/4.27 evalfbb8in(A, B, C, D, E, F, G) -> Com_1(evalfbb9in(A, B, C, D, E, F, G)) :|: E >= A + 1 11.46/4.27 evalfbb6in(A, B, C, D, E, F, G) -> Com_1(evalfbb4in(A, B, C, D, E, F, C)) :|: B >= F 11.46/4.27 evalfbb6in(A, B, C, D, E, F, G) -> Com_1(evalfbb7in(A, B, C, D, E, F, G)) :|: F >= B + 1 11.46/4.27 evalfbb4in(A, B, C, D, E, F, G) -> Com_1(evalfbb3in(A, B, C, D, E, F, G)) :|: E >= G 11.46/4.27 evalfbb4in(A, B, C, D, E, F, G) -> Com_1(evalfbb5in(A, B, C, D, E, F, G)) :|: G >= E + 1 11.46/4.27 evalfbb3in(A, B, C, D, E, F, G) -> Com_1(evalfbb4in(A, B, C, D, E, F, G - 1)) :|: TRUE 11.46/4.27 evalfbb5in(A, B, C, D, E, F, G) -> Com_1(evalfbb6in(A, B, C, D, E, F + 1, G)) :|: TRUE 11.46/4.27 evalfbb7in(A, B, C, D, E, F, G) -> Com_1(evalfbb8in(A, B, C, D, E + 1, F, G)) :|: TRUE 11.46/4.27 evalfbb9in(A, B, C, D, E, F, G) -> Com_1(evalfbb10in(A, B, C, D - 1, E, F, G)) :|: TRUE 11.46/4.27 evalfreturnin(A, B, C, D, E, F, G) -> Com_1(evalfstop(A, B, C, D, E, F, G)) :|: TRUE 11.46/4.27 11.46/4.27 The start-symbols are:[evalfstart_7] 11.46/4.27 11.46/4.27 11.46/4.27 ---------------------------------------- 11.46/4.27 11.46/4.27 (1) Loat Proof (FINISHED) 11.46/4.27 11.46/4.27 11.46/4.27 ### Pre-processing the ITS problem ### 11.46/4.27 11.46/4.27 11.46/4.27 11.46/4.27 Initial linear ITS problem 11.46/4.27 11.46/4.27 Start location: evalfstart 11.46/4.27 11.46/4.27 0: evalfstart -> evalfentryin : [], cost: 1 11.46/4.27 11.46/4.27 1: evalfentryin -> evalfbb10in : A'=B, B'=C, C'=D, D'=A, [], cost: 1 11.46/4.27 11.46/4.27 2: evalfbb10in -> evalfbb8in : E'=1, [ D>=1 ], cost: 1 11.46/4.27 11.46/4.27 3: evalfbb10in -> evalfreturnin : [ 0>=D ], cost: 1 11.46/4.27 11.46/4.27 4: evalfbb8in -> evalfbb6in : F'=D, [ A>=E ], cost: 1 11.46/4.27 11.46/4.27 5: evalfbb8in -> evalfbb9in : [ E>=1+A ], cost: 1 11.46/4.27 11.46/4.27 6: evalfbb6in -> evalfbb4in : G'=C, [ B>=F ], cost: 1 11.46/4.27 11.46/4.27 7: evalfbb6in -> evalfbb7in : [ F>=1+B ], cost: 1 11.46/4.27 11.46/4.27 8: evalfbb4in -> evalfbb3in : [ E>=G ], cost: 1 11.46/4.27 11.46/4.27 9: evalfbb4in -> evalfbb5in : [ G>=1+E ], cost: 1 11.46/4.27 11.46/4.27 10: evalfbb3in -> evalfbb4in : G'=-1+G, [], cost: 1 11.46/4.27 11.46/4.27 11: evalfbb5in -> evalfbb6in : F'=1+F, [], cost: 1 11.46/4.27 11.46/4.27 12: evalfbb7in -> evalfbb8in : E'=1+E, [], cost: 1 11.46/4.27 11.46/4.27 13: evalfbb9in -> evalfbb10in : D'=-1+D, [], cost: 1 11.46/4.27 11.46/4.27 14: evalfreturnin -> evalfstop : [], cost: 1 11.46/4.27 11.46/4.27 11.46/4.27 11.46/4.27 Removed unreachable and leaf rules: 11.46/4.27 11.46/4.27 Start location: evalfstart 11.46/4.27 11.46/4.27 0: evalfstart -> evalfentryin : [], cost: 1 11.46/4.27 11.46/4.27 1: evalfentryin -> evalfbb10in : A'=B, B'=C, C'=D, D'=A, [], cost: 1 11.46/4.27 11.46/4.27 2: evalfbb10in -> evalfbb8in : E'=1, [ D>=1 ], cost: 1 11.46/4.27 11.46/4.27 4: evalfbb8in -> evalfbb6in : F'=D, [ A>=E ], cost: 1 11.46/4.27 11.46/4.27 5: evalfbb8in -> evalfbb9in : [ E>=1+A ], cost: 1 11.46/4.27 11.46/4.27 6: evalfbb6in -> evalfbb4in : G'=C, [ B>=F ], cost: 1 11.46/4.27 11.46/4.27 7: evalfbb6in -> evalfbb7in : [ F>=1+B ], cost: 1 11.46/4.27 11.46/4.27 8: evalfbb4in -> evalfbb3in : [ E>=G ], cost: 1 11.46/4.27 11.46/4.27 9: evalfbb4in -> evalfbb5in : [ G>=1+E ], cost: 1 11.46/4.27 11.46/4.27 10: evalfbb3in -> evalfbb4in : G'=-1+G, [], cost: 1 11.46/4.27 11.46/4.27 11: evalfbb5in -> evalfbb6in : F'=1+F, [], cost: 1 11.46/4.27 11.46/4.27 12: evalfbb7in -> evalfbb8in : E'=1+E, [], cost: 1 11.46/4.27 11.46/4.27 13: evalfbb9in -> evalfbb10in : D'=-1+D, [], cost: 1 11.46/4.27 11.46/4.27 11.46/4.27 11.46/4.27 ### Simplification by acceleration and chaining ### 11.46/4.27 11.46/4.27 11.46/4.27 11.46/4.27 Eliminated locations (on linear paths): 11.46/4.27 11.46/4.27 Start location: evalfstart 11.46/4.27 11.46/4.27 15: evalfstart -> evalfbb10in : A'=B, B'=C, C'=D, D'=A, [], cost: 2 11.46/4.27 11.46/4.27 2: evalfbb10in -> evalfbb8in : E'=1, [ D>=1 ], cost: 1 11.46/4.27 11.46/4.27 4: evalfbb8in -> evalfbb6in : F'=D, [ A>=E ], cost: 1 11.46/4.27 11.46/4.27 16: evalfbb8in -> evalfbb10in : D'=-1+D, [ E>=1+A ], cost: 2 11.46/4.27 11.46/4.27 6: evalfbb6in -> evalfbb4in : G'=C, [ B>=F ], cost: 1 11.46/4.27 11.46/4.27 17: evalfbb6in -> evalfbb8in : E'=1+E, [ F>=1+B ], cost: 2 11.46/4.27 11.46/4.27 18: evalfbb4in -> evalfbb4in : G'=-1+G, [ E>=G ], cost: 2 11.46/4.27 11.46/4.27 19: evalfbb4in -> evalfbb6in : F'=1+F, [ G>=1+E ], cost: 2 11.46/4.27 11.46/4.27 11.46/4.27 11.46/4.27 Accelerating simple loops of location 5. 11.46/4.27 11.46/4.27 Accelerating the following rules: 11.46/4.27 11.46/4.27 18: evalfbb4in -> evalfbb4in : G'=-1+G, [ E>=G ], cost: 2 11.46/4.27 11.46/4.27 11.46/4.27 11.46/4.27 Accelerated rule 18 with NONTERM, yielding the new rule 20. 11.46/4.27 11.46/4.27 Removing the simple loops: 18. 11.46/4.27 11.46/4.27 11.46/4.27 11.46/4.27 Accelerated all simple loops using metering functions (where possible): 11.46/4.27 11.46/4.27 Start location: evalfstart 11.46/4.27 11.46/4.27 15: evalfstart -> evalfbb10in : A'=B, B'=C, C'=D, D'=A, [], cost: 2 11.46/4.27 11.46/4.27 2: evalfbb10in -> evalfbb8in : E'=1, [ D>=1 ], cost: 1 11.46/4.27 11.46/4.27 4: evalfbb8in -> evalfbb6in : F'=D, [ A>=E ], cost: 1 11.46/4.27 11.46/4.27 16: evalfbb8in -> evalfbb10in : D'=-1+D, [ E>=1+A ], cost: 2 11.46/4.27 11.46/4.27 6: evalfbb6in -> evalfbb4in : G'=C, [ B>=F ], cost: 1 11.46/4.27 11.46/4.27 17: evalfbb6in -> evalfbb8in : E'=1+E, [ F>=1+B ], cost: 2 11.46/4.27 11.46/4.27 19: evalfbb4in -> evalfbb6in : F'=1+F, [ G>=1+E ], cost: 2 11.46/4.27 11.46/4.27 20: evalfbb4in -> [12] : [ E>=G ], cost: INF 11.46/4.27 11.46/4.27 11.46/4.27 11.46/4.27 Chained accelerated rules (with incoming rules): 11.46/4.27 11.46/4.27 Start location: evalfstart 11.46/4.27 11.46/4.27 15: evalfstart -> evalfbb10in : A'=B, B'=C, C'=D, D'=A, [], cost: 2 11.46/4.27 11.46/4.27 2: evalfbb10in -> evalfbb8in : E'=1, [ D>=1 ], cost: 1 11.46/4.27 11.46/4.27 4: evalfbb8in -> evalfbb6in : F'=D, [ A>=E ], cost: 1 11.46/4.27 11.46/4.27 16: evalfbb8in -> evalfbb10in : D'=-1+D, [ E>=1+A ], cost: 2 11.46/4.27 11.46/4.27 6: evalfbb6in -> evalfbb4in : G'=C, [ B>=F ], cost: 1 11.46/4.27 11.46/4.27 17: evalfbb6in -> evalfbb8in : E'=1+E, [ F>=1+B ], cost: 2 11.46/4.27 11.46/4.27 21: evalfbb6in -> [12] : G'=C, [ B>=F && E>=C ], cost: INF 11.46/4.27 11.46/4.27 19: evalfbb4in -> evalfbb6in : F'=1+F, [ G>=1+E ], cost: 2 11.46/4.27 11.46/4.27 11.46/4.27 11.46/4.27 Eliminated locations (on linear paths): 11.46/4.27 11.46/4.27 Start location: evalfstart 11.46/4.27 11.46/4.27 15: evalfstart -> evalfbb10in : A'=B, B'=C, C'=D, D'=A, [], cost: 2 11.46/4.27 11.46/4.27 2: evalfbb10in -> evalfbb8in : E'=1, [ D>=1 ], cost: 1 11.46/4.27 11.46/4.27 4: evalfbb8in -> evalfbb6in : F'=D, [ A>=E ], cost: 1 11.46/4.27 11.46/4.27 16: evalfbb8in -> evalfbb10in : D'=-1+D, [ E>=1+A ], cost: 2 11.46/4.27 11.46/4.27 17: evalfbb6in -> evalfbb8in : E'=1+E, [ F>=1+B ], cost: 2 11.46/4.27 11.46/4.27 21: evalfbb6in -> [12] : G'=C, [ B>=F && E>=C ], cost: INF 11.46/4.27 11.46/4.27 22: evalfbb6in -> evalfbb6in : F'=1+F, G'=C, [ B>=F && C>=1+E ], cost: 3 11.46/4.27 11.46/4.27 11.46/4.27 11.46/4.27 Accelerating simple loops of location 4. 11.46/4.27 11.46/4.27 Accelerating the following rules: 11.46/4.27 11.46/4.27 22: evalfbb6in -> evalfbb6in : F'=1+F, G'=C, [ B>=F && C>=1+E ], cost: 3 11.46/4.27 11.46/4.27 11.46/4.27 11.46/4.27 Accelerated rule 22 with metering function 1-F+B, yielding the new rule 23. 11.46/4.27 11.46/4.27 Removing the simple loops: 22. 11.46/4.27 11.46/4.27 11.46/4.27 11.46/4.27 Accelerated all simple loops using metering functions (where possible): 11.46/4.27 11.46/4.27 Start location: evalfstart 11.46/4.27 11.46/4.27 15: evalfstart -> evalfbb10in : A'=B, B'=C, C'=D, D'=A, [], cost: 2 11.46/4.27 11.46/4.27 2: evalfbb10in -> evalfbb8in : E'=1, [ D>=1 ], cost: 1 11.46/4.27 11.46/4.27 4: evalfbb8in -> evalfbb6in : F'=D, [ A>=E ], cost: 1 11.46/4.27 11.46/4.27 16: evalfbb8in -> evalfbb10in : D'=-1+D, [ E>=1+A ], cost: 2 11.46/4.27 11.46/4.27 17: evalfbb6in -> evalfbb8in : E'=1+E, [ F>=1+B ], cost: 2 11.46/4.27 11.46/4.27 21: evalfbb6in -> [12] : G'=C, [ B>=F && E>=C ], cost: INF 11.46/4.27 11.46/4.27 23: evalfbb6in -> evalfbb6in : F'=1+B, G'=C, [ B>=F && C>=1+E ], cost: 3-3*F+3*B 11.46/4.27 11.46/4.27 11.46/4.27 11.46/4.27 Chained accelerated rules (with incoming rules): 11.46/4.27 11.46/4.27 Start location: evalfstart 11.46/4.27 11.46/4.27 15: evalfstart -> evalfbb10in : A'=B, B'=C, C'=D, D'=A, [], cost: 2 11.46/4.27 11.46/4.27 2: evalfbb10in -> evalfbb8in : E'=1, [ D>=1 ], cost: 1 11.46/4.27 11.46/4.27 4: evalfbb8in -> evalfbb6in : F'=D, [ A>=E ], cost: 1 11.46/4.27 11.46/4.27 16: evalfbb8in -> evalfbb10in : D'=-1+D, [ E>=1+A ], cost: 2 11.46/4.27 11.46/4.27 24: evalfbb8in -> evalfbb6in : F'=1+B, G'=C, [ A>=E && B>=D && C>=1+E ], cost: 4-3*D+3*B 11.46/4.27 11.46/4.27 17: evalfbb6in -> evalfbb8in : E'=1+E, [ F>=1+B ], cost: 2 11.46/4.27 11.46/4.27 21: evalfbb6in -> [12] : G'=C, [ B>=F && E>=C ], cost: INF 11.46/4.27 11.46/4.27 11.46/4.27 11.46/4.27 Eliminated locations (on tree-shaped paths): 11.46/4.27 11.46/4.27 Start location: evalfstart 11.46/4.27 11.46/4.27 15: evalfstart -> evalfbb10in : A'=B, B'=C, C'=D, D'=A, [], cost: 2 11.46/4.27 11.46/4.27 2: evalfbb10in -> evalfbb8in : E'=1, [ D>=1 ], cost: 1 11.46/4.27 11.46/4.27 16: evalfbb8in -> evalfbb10in : D'=-1+D, [ E>=1+A ], cost: 2 11.46/4.27 11.46/4.27 25: evalfbb8in -> evalfbb8in : E'=1+E, F'=D, [ A>=E && D>=1+B ], cost: 3 11.46/4.27 11.46/4.27 26: evalfbb8in -> [12] : F'=D, G'=C, [ A>=E && B>=D && E>=C ], cost: INF 11.51/4.27 11.51/4.27 27: evalfbb8in -> evalfbb8in : E'=1+E, F'=1+B, G'=C, [ A>=E && B>=D && C>=1+E ], cost: 6-3*D+3*B 11.51/4.27 11.51/4.27 28: evalfbb8in -> [14] : [ A>=E && B>=D && C>=1+E ], cost: 4-3*D+3*B 11.51/4.27 11.51/4.27 11.51/4.27 11.51/4.27 Accelerating simple loops of location 3. 11.51/4.27 11.51/4.27 Accelerating the following rules: 11.51/4.27 11.51/4.27 25: evalfbb8in -> evalfbb8in : E'=1+E, F'=D, [ A>=E && D>=1+B ], cost: 3 11.51/4.27 11.51/4.27 27: evalfbb8in -> evalfbb8in : E'=1+E, F'=1+B, G'=C, [ A>=E && B>=D && C>=1+E ], cost: 6-3*D+3*B 11.51/4.27 11.51/4.27 11.51/4.27 11.51/4.27 Accelerated rule 25 with metering function 1+A-E, yielding the new rule 29. 11.51/4.27 11.51/4.27 Accelerated rule 27 with backward acceleration, yielding the new rule 30. 11.51/4.27 11.51/4.27 Accelerated rule 27 with backward acceleration, yielding the new rule 31. 11.51/4.27 11.51/4.27 Removing the simple loops: 25 27. 11.51/4.27 11.51/4.27 11.51/4.27 11.51/4.27 Accelerated all simple loops using metering functions (where possible): 11.51/4.27 11.51/4.27 Start location: evalfstart 11.51/4.27 11.51/4.27 15: evalfstart -> evalfbb10in : A'=B, B'=C, C'=D, D'=A, [], cost: 2 11.51/4.27 11.51/4.27 2: evalfbb10in -> evalfbb8in : E'=1, [ D>=1 ], cost: 1 11.51/4.27 11.51/4.27 16: evalfbb8in -> evalfbb10in : D'=-1+D, [ E>=1+A ], cost: 2 11.51/4.27 11.51/4.27 26: evalfbb8in -> [12] : F'=D, G'=C, [ A>=E && B>=D && E>=C ], cost: INF 11.51/4.27 11.51/4.27 28: evalfbb8in -> [14] : [ A>=E && B>=D && C>=1+E ], cost: 4-3*D+3*B 11.51/4.27 11.51/4.27 29: evalfbb8in -> evalfbb8in : E'=1+A, F'=D, [ A>=E && D>=1+B ], cost: 3+3*A-3*E 11.51/4.27 11.51/4.27 30: evalfbb8in -> evalfbb8in : E'=1+A, F'=1+B, G'=C, [ A>=E && B>=D && C>=1+E && C>=1+A ], cost: 6+3*(1+A-E)*B-3*D*(1+A-E)+6*A-6*E 11.51/4.27 11.51/4.27 31: evalfbb8in -> evalfbb8in : E'=C, F'=1+B, G'=C, [ A>=E && B>=D && C>=1+E && A>=-1+C ], cost: 3*(C-E)*B+6*C-3*(C-E)*D-6*E 11.51/4.27 11.51/4.27 11.51/4.27 11.51/4.27 Chained accelerated rules (with incoming rules): 11.51/4.27 11.51/4.27 Start location: evalfstart 11.51/4.27 11.51/4.27 15: evalfstart -> evalfbb10in : A'=B, B'=C, C'=D, D'=A, [], cost: 2 11.51/4.27 11.51/4.27 2: evalfbb10in -> evalfbb8in : E'=1, [ D>=1 ], cost: 1 11.51/4.27 11.51/4.27 32: evalfbb10in -> evalfbb8in : E'=1+A, F'=D, [ D>=1 && A>=1 && D>=1+B ], cost: 1+3*A 11.51/4.27 11.51/4.27 33: evalfbb10in -> evalfbb8in : E'=1+A, F'=1+B, G'=C, [ D>=1 && A>=1 && B>=D && C>=2 && C>=1+A ], cost: 1+6*A-3*D*A+3*A*B 11.51/4.27 11.51/4.27 34: evalfbb10in -> evalfbb8in : E'=C, F'=1+B, G'=C, [ D>=1 && A>=1 && B>=D && C>=2 && A>=-1+C ], cost: -5-3*D*(-1+C)+6*C+3*(-1+C)*B 11.51/4.27 11.51/4.27 16: evalfbb8in -> evalfbb10in : D'=-1+D, [ E>=1+A ], cost: 2 11.51/4.27 11.51/4.27 26: evalfbb8in -> [12] : F'=D, G'=C, [ A>=E && B>=D && E>=C ], cost: INF 11.51/4.27 11.51/4.27 28: evalfbb8in -> [14] : [ A>=E && B>=D && C>=1+E ], cost: 4-3*D+3*B 11.51/4.27 11.51/4.27 11.51/4.27 11.51/4.27 Eliminated locations (on tree-shaped paths): 11.51/4.27 11.51/4.27 Start location: evalfstart 11.51/4.27 11.51/4.27 15: evalfstart -> evalfbb10in : A'=B, B'=C, C'=D, D'=A, [], cost: 2 11.51/4.27 11.51/4.27 35: evalfbb10in -> evalfbb10in : D'=-1+D, E'=1, [ D>=1 && 1>=1+A ], cost: 3 11.51/4.27 11.51/4.27 36: evalfbb10in -> [12] : E'=1, F'=D, G'=C, [ D>=1 && A>=1 && B>=D && 1>=C ], cost: INF 11.51/4.27 11.51/4.27 37: evalfbb10in -> [14] : E'=1, [ D>=1 && A>=1 && B>=D && C>=2 ], cost: 5-3*D+3*B 11.51/4.27 11.51/4.27 38: evalfbb10in -> evalfbb10in : D'=-1+D, E'=1+A, F'=D, [ D>=1 && A>=1 && D>=1+B ], cost: 3+3*A 11.51/4.27 11.51/4.27 39: evalfbb10in -> evalfbb10in : D'=-1+D, E'=1+A, F'=1+B, G'=C, [ D>=1 && A>=1 && B>=D && C>=2 && C>=1+A ], cost: 3+6*A-3*D*A+3*A*B 11.51/4.27 11.51/4.27 40: evalfbb10in -> evalfbb10in : D'=-1+D, E'=C, F'=1+B, G'=C, [ D>=1 && A>=1 && B>=D && C>=2 && A>=-1+C && C>=1+A ], cost: -3-3*D*(-1+C)+6*C+3*(-1+C)*B 11.51/4.27 11.51/4.27 41: evalfbb10in -> [12] : E'=C, F'=D, G'=C, [ D>=1 && A>=1 && B>=D && C>=2 && A>=C ], cost: INF 11.51/4.27 11.51/4.27 42: evalfbb10in -> [16] : [ D>=1 && A>=1 && D>=1+B ], cost: 1+3*A 11.51/4.27 11.51/4.27 43: evalfbb10in -> [16] : [ D>=1 && A>=1 && B>=D && C>=2 && C>=1+A ], cost: 1+6*A-3*D*A+3*A*B 11.51/4.27 11.51/4.27 44: evalfbb10in -> [16] : [ D>=1 && A>=1 && B>=D && C>=2 && A>=-1+C ], cost: -5-3*D*(-1+C)+6*C+3*(-1+C)*B 11.51/4.27 11.51/4.27 11.51/4.27 11.51/4.27 Accelerating simple loops of location 2. 11.51/4.27 11.51/4.27 Simplified some of the simple loops (and removed duplicate rules). 11.51/4.27 11.51/4.27 Accelerating the following rules: 11.51/4.27 11.51/4.27 35: evalfbb10in -> evalfbb10in : D'=-1+D, E'=1, [ D>=1 && 1>=1+A ], cost: 3 11.51/4.27 11.51/4.27 38: evalfbb10in -> evalfbb10in : D'=-1+D, E'=1+A, F'=D, [ D>=1 && A>=1 && D>=1+B ], cost: 3+3*A 11.51/4.27 11.51/4.27 39: evalfbb10in -> evalfbb10in : D'=-1+D, E'=1+A, F'=1+B, G'=C, [ D>=1 && A>=1 && B>=D && C>=2 && C>=1+A ], cost: 3+6*A-3*D*A+3*A*B 11.51/4.27 11.51/4.27 40: evalfbb10in -> evalfbb10in : D'=-1+D, E'=C, F'=1+B, G'=C, [ D>=1 && A>=1 && B>=D && C>=2 && -1+C-A==0 ], cost: -3-3*D*(-1+C)+6*C+3*(-1+C)*B 11.51/4.27 11.51/4.27 11.51/4.27 11.51/4.27 Accelerated rule 35 with metering function D, yielding the new rule 45. 11.51/4.27 11.51/4.27 Accelerated rule 38 with backward acceleration, yielding the new rule 46. 11.51/4.27 11.51/4.27 Accelerated rule 38 with backward acceleration, yielding the new rule 47. 11.51/4.27 11.51/4.27 Accelerated rule 39 with metering function D, yielding the new rule 48. 11.51/4.27 11.51/4.27 Accelerated rule 40 with metering function D, yielding the new rule 49. 11.51/4.27 11.51/4.27 Removing the simple loops: 35 38 39 40. 11.51/4.27 11.51/4.27 11.51/4.27 11.51/4.27 Accelerated all simple loops using metering functions (where possible): 11.51/4.27 11.51/4.27 Start location: evalfstart 11.51/4.27 11.51/4.27 15: evalfstart -> evalfbb10in : A'=B, B'=C, C'=D, D'=A, [], cost: 2 11.51/4.27 11.51/4.27 36: evalfbb10in -> [12] : E'=1, F'=D, G'=C, [ D>=1 && A>=1 && B>=D && 1>=C ], cost: INF 11.51/4.27 11.51/4.27 37: evalfbb10in -> [14] : E'=1, [ D>=1 && A>=1 && B>=D && C>=2 ], cost: 5-3*D+3*B 11.51/4.27 11.51/4.27 41: evalfbb10in -> [12] : E'=C, F'=D, G'=C, [ D>=1 && A>=1 && B>=D && C>=2 && A>=C ], cost: INF 11.51/4.27 11.51/4.27 42: evalfbb10in -> [16] : [ D>=1 && A>=1 && D>=1+B ], cost: 1+3*A 11.51/4.27 11.51/4.27 43: evalfbb10in -> [16] : [ D>=1 && A>=1 && B>=D && C>=2 && C>=1+A ], cost: 1+6*A-3*D*A+3*A*B 11.51/4.27 11.51/4.27 44: evalfbb10in -> [16] : [ D>=1 && A>=1 && B>=D && C>=2 && A>=-1+C ], cost: -5-3*D*(-1+C)+6*C+3*(-1+C)*B 11.51/4.27 11.51/4.27 45: evalfbb10in -> evalfbb10in : D'=0, E'=1, [ D>=1 && 1>=1+A ], cost: 3*D 11.51/4.27 11.51/4.27 46: evalfbb10in -> evalfbb10in : D'=0, E'=1+A, F'=1, [ D>=1 && A>=1 && D>=1+B && 1>=1+B ], cost: 3*D+3*D*A 11.51/4.27 11.51/4.27 47: evalfbb10in -> evalfbb10in : D'=B, E'=1+A, F'=1+B, [ D>=1 && A>=1 && D>=1+B && 1+B>=1 ], cost: 3*(D-B)*A+3*D-3*B 11.51/4.27 11.51/4.27 48: evalfbb10in -> evalfbb10in : D'=0, E'=1+A, F'=1+B, G'=C, [ D>=1 && A>=1 && B>=D && C>=2 && C>=1+A ], cost: -3/2*D^2*A+3*D+3*D*A*B+9/2*D*A 11.51/4.27 11.51/4.27 49: evalfbb10in -> evalfbb10in : D'=0, E'=C, F'=1+B, G'=C, [ D>=1 && A>=1 && B>=D && C>=2 && -1+C-A==0 ], cost: -3*D*B+9/2*C*D-3/2*D+3/2*D^2-3/2*C*D^2+3*C*D*B 11.51/4.27 11.51/4.27 11.51/4.27 11.51/4.27 Chained accelerated rules (with incoming rules): 11.51/4.27 11.51/4.27 Start location: evalfstart 11.51/4.27 11.51/4.27 15: evalfstart -> evalfbb10in : A'=B, B'=C, C'=D, D'=A, [], cost: 2 11.51/4.27 11.51/4.27 50: evalfstart -> evalfbb10in : A'=B, B'=C, C'=D, D'=0, E'=1, [ A>=1 && 1>=1+B ], cost: 2+3*A 11.51/4.27 11.51/4.27 51: evalfstart -> evalfbb10in : A'=B, B'=C, C'=D, D'=0, E'=1+B, F'=1, [ A>=1 && B>=1 && A>=1+C && 1>=1+C ], cost: 2+3*A+3*A*B 11.51/4.27 11.51/4.27 52: evalfstart -> evalfbb10in : A'=B, B'=C, C'=D, D'=C, E'=1+B, F'=1+C, [ A>=1 && B>=1 && A>=1+C && 1+C>=1 ], cost: 2-3*(C-A)*B-3*C+3*A 11.51/4.27 11.51/4.27 53: evalfstart -> evalfbb10in : A'=B, B'=C, C'=D, D'=0, E'=1+B, F'=1+C, G'=D, [ A>=1 && B>=1 && C>=A && D>=2 && D>=1+B ], cost: 2+3*C*A*B-3/2*A^2*B+3*A+9/2*A*B 11.51/4.27 11.51/4.27 54: evalfstart -> evalfbb10in : A'=B, B'=C, C'=D, D'=0, E'=D, F'=1+C, G'=D, [ A>=1 && B>=1 && C>=A && D>=2 && -1+D-B==0 ], cost: 2+3*C*D*A-3/2*A+9/2*D*A-3/2*D*A^2+3/2*A^2-3*C*A 11.51/4.27 11.51/4.27 36: evalfbb10in -> [12] : E'=1, F'=D, G'=C, [ D>=1 && A>=1 && B>=D && 1>=C ], cost: INF 11.51/4.27 11.51/4.27 37: evalfbb10in -> [14] : E'=1, [ D>=1 && A>=1 && B>=D && C>=2 ], cost: 5-3*D+3*B 11.51/4.27 11.51/4.27 41: evalfbb10in -> [12] : E'=C, F'=D, G'=C, [ D>=1 && A>=1 && B>=D && C>=2 && A>=C ], cost: INF 11.51/4.27 11.51/4.27 42: evalfbb10in -> [16] : [ D>=1 && A>=1 && D>=1+B ], cost: 1+3*A 11.51/4.27 11.51/4.27 43: evalfbb10in -> [16] : [ D>=1 && A>=1 && B>=D && C>=2 && C>=1+A ], cost: 1+6*A-3*D*A+3*A*B 11.51/4.27 11.51/4.27 44: evalfbb10in -> [16] : [ D>=1 && A>=1 && B>=D && C>=2 && A>=-1+C ], cost: -5-3*D*(-1+C)+6*C+3*(-1+C)*B 11.51/4.27 11.51/4.27 11.51/4.27 11.51/4.27 Eliminated locations (on tree-shaped paths): 11.51/4.27 11.51/4.27 Start location: evalfstart 11.51/4.27 11.51/4.27 55: evalfstart -> [12] : A'=B, B'=C, C'=D, D'=A, E'=1, F'=A, G'=D, [ A>=1 && B>=1 && C>=A && 1>=D ], cost: INF 11.51/4.27 11.51/4.27 56: evalfstart -> [14] : A'=B, B'=C, C'=D, D'=A, E'=1, [ A>=1 && B>=1 && C>=A && D>=2 ], cost: 7+3*C-3*A 11.51/4.27 11.51/4.27 57: evalfstart -> [12] : A'=B, B'=C, C'=D, D'=A, E'=D, F'=A, G'=D, [ A>=1 && B>=1 && C>=A && D>=2 && B>=D ], cost: INF 11.51/4.27 11.51/4.27 58: evalfstart -> [16] : A'=B, B'=C, C'=D, D'=A, [ A>=1 && B>=1 && A>=1+C ], cost: 3+3*B 11.51/4.27 11.51/4.27 59: evalfstart -> [16] : A'=B, B'=C, C'=D, D'=A, [ A>=1 && B>=1 && C>=A && D>=2 && D>=1+B ], cost: 3+3*C*B-3*A*B+6*B 11.51/4.27 11.51/4.27 60: evalfstart -> [16] : A'=B, B'=C, C'=D, D'=A, [ A>=1 && B>=1 && C>=A && D>=2 && B>=-1+D ], cost: -3+3*C*(-1+D)+6*D-3*(-1+D)*A 11.51/4.27 11.51/4.27 61: evalfstart -> [12] : A'=B, B'=C, C'=D, D'=C, E'=1, F'=C, G'=D, [ A>=1 && B>=1 && A>=1+C && C>=1 && 1>=D ], cost: INF 11.51/4.27 11.51/4.27 62: evalfstart -> [14] : A'=B, B'=C, C'=D, D'=C, E'=1, F'=1+C, [ A>=1 && B>=1 && A>=1+C && C>=1 && D>=2 ], cost: 7-3*(C-A)*B-3*C+3*A 11.51/4.27 11.51/4.27 63: evalfstart -> [12] : A'=B, B'=C, C'=D, D'=C, E'=D, F'=C, G'=D, [ A>=1 && B>=1 && A>=1+C && C>=1 && D>=2 && B>=D ], cost: INF 11.51/4.27 11.51/4.27 64: evalfstart -> [16] : A'=B, B'=C, C'=D, D'=C, E'=1+B, F'=1+C, [ A>=1 && B>=1 && A>=1+C && C>=1 && D>=2 && D>=1+B ], cost: 3-3*(C-A)*B-3*C+3*A+6*B 11.51/4.27 11.51/4.27 65: evalfstart -> [16] : A'=B, B'=C, C'=D, D'=C, E'=1+B, F'=1+C, [ A>=1 && B>=1 && A>=1+C && C>=1 && D>=2 && B>=-1+D ], cost: -3-3*(C-A)*B-3*C+6*D+3*A 11.51/4.27 11.51/4.27 66: evalfstart -> [18] : [ A>=1 && 1>=1+B ], cost: 2+3*A 11.51/4.27 11.51/4.27 67: evalfstart -> [18] : [ A>=1 && B>=1 && A>=1+C && 1>=1+C ], cost: 2+3*A+3*A*B 11.51/4.27 11.51/4.27 68: evalfstart -> [18] : [ A>=1 && B>=1 && A>=1+C && 1+C>=1 ], cost: 2-3*(C-A)*B-3*C+3*A 11.51/4.27 11.51/4.27 69: evalfstart -> [18] : [ A>=1 && B>=1 && C>=A && D>=2 && D>=1+B ], cost: 2+3*C*A*B-3/2*A^2*B+3*A+9/2*A*B 11.51/4.27 11.51/4.27 70: evalfstart -> [18] : [ A>=1 && B>=1 && C>=A && D>=2 && -1+D-B==0 ], cost: 2+3*C*D*A-3/2*A+9/2*D*A-3/2*D*A^2+3/2*A^2-3*C*A 11.51/4.27 11.51/4.27 11.51/4.27 11.51/4.27 ### Computing asymptotic complexity ### 11.51/4.27 11.51/4.27 11.51/4.27 11.51/4.27 Fully simplified ITS problem 11.51/4.27 11.51/4.27 Start location: evalfstart 11.51/4.27 11.51/4.27 55: evalfstart -> [12] : A'=B, B'=C, C'=D, D'=A, E'=1, F'=A, G'=D, [ A>=1 && B>=1 && C>=A && 1>=D ], cost: INF 11.51/4.27 11.51/4.27 56: evalfstart -> [14] : A'=B, B'=C, C'=D, D'=A, E'=1, [ A>=1 && B>=1 && C>=A && D>=2 ], cost: 7+3*C-3*A 11.51/4.27 11.51/4.27 57: evalfstart -> [12] : A'=B, B'=C, C'=D, D'=A, E'=D, F'=A, G'=D, [ A>=1 && B>=1 && C>=A && D>=2 && B>=D ], cost: INF 11.51/4.27 11.51/4.27 58: evalfstart -> [16] : A'=B, B'=C, C'=D, D'=A, [ A>=1 && B>=1 && A>=1+C ], cost: 3+3*B 11.51/4.27 11.51/4.27 59: evalfstart -> [16] : A'=B, B'=C, C'=D, D'=A, [ A>=1 && B>=1 && C>=A && D>=2 && D>=1+B ], cost: 3+3*C*B-3*A*B+6*B 11.51/4.27 11.51/4.27 60: evalfstart -> [16] : A'=B, B'=C, C'=D, D'=A, [ A>=1 && B>=1 && C>=A && D>=2 && B>=-1+D ], cost: -3+3*C*(-1+D)+6*D-3*(-1+D)*A 11.51/4.27 11.51/4.27 61: evalfstart -> [12] : A'=B, B'=C, C'=D, D'=C, E'=1, F'=C, G'=D, [ A>=1 && B>=1 && A>=1+C && C>=1 && 1>=D ], cost: INF 11.51/4.27 11.51/4.27 62: evalfstart -> [14] : A'=B, B'=C, C'=D, D'=C, E'=1, F'=1+C, [ A>=1 && B>=1 && A>=1+C && C>=1 && D>=2 ], cost: 7-3*(C-A)*B-3*C+3*A 11.51/4.27 11.51/4.27 63: evalfstart -> [12] : A'=B, B'=C, C'=D, D'=C, E'=D, F'=C, G'=D, [ A>=1 && B>=1 && A>=1+C && C>=1 && D>=2 && B>=D ], cost: INF 11.51/4.27 11.51/4.27 64: evalfstart -> [16] : A'=B, B'=C, C'=D, D'=C, E'=1+B, F'=1+C, [ A>=1 && B>=1 && A>=1+C && C>=1 && D>=2 && D>=1+B ], cost: 3-3*(C-A)*B-3*C+3*A+6*B 11.51/4.27 11.51/4.27 65: evalfstart -> [16] : A'=B, B'=C, C'=D, D'=C, E'=1+B, F'=1+C, [ A>=1 && B>=1 && A>=1+C && C>=1 && D>=2 && B>=-1+D ], cost: -3-3*(C-A)*B-3*C+6*D+3*A 11.51/4.27 11.51/4.27 66: evalfstart -> [18] : [ A>=1 && 1>=1+B ], cost: 2+3*A 11.51/4.27 11.51/4.27 67: evalfstart -> [18] : [ A>=1 && B>=1 && A>=1+C && 1>=1+C ], cost: 2+3*A+3*A*B 11.51/4.27 11.51/4.27 68: evalfstart -> [18] : [ A>=1 && B>=1 && A>=1+C && 1+C>=1 ], cost: 2-3*(C-A)*B-3*C+3*A 11.51/4.27 11.51/4.27 69: evalfstart -> [18] : [ A>=1 && B>=1 && C>=A && D>=2 && D>=1+B ], cost: 2+3*C*A*B-3/2*A^2*B+3*A+9/2*A*B 11.51/4.27 11.51/4.27 70: evalfstart -> [18] : [ A>=1 && B>=1 && C>=A && D>=2 && -1+D-B==0 ], cost: 2+3*C*D*A-3/2*A+9/2*D*A-3/2*D*A^2+3/2*A^2-3*C*A 11.51/4.27 11.51/4.27 11.51/4.27 11.51/4.27 Computing asymptotic complexity for rule 55 11.51/4.27 11.51/4.27 Resulting cost INF has complexity: Nonterm 11.51/4.27 11.51/4.27 11.51/4.27 11.51/4.27 Found new complexity Nonterm. 11.51/4.27 11.51/4.27 11.51/4.27 11.51/4.27 Obtained the following overall complexity (w.r.t. the length of the input n): 11.51/4.27 11.51/4.27 Complexity: Nonterm 11.51/4.27 11.51/4.27 Cpx degree: Nonterm 11.51/4.27 11.51/4.27 Solved cost: INF 11.51/4.27 11.51/4.27 Rule cost: INF 11.51/4.27 11.51/4.27 Rule guard: [ A>=1 && B>=1 && C>=A && 1>=D ] 11.51/4.27 11.51/4.27 11.51/4.27 11.51/4.27 NO 11.51/4.27 11.51/4.27 11.51/4.27 ---------------------------------------- 11.51/4.27 11.51/4.27 (2) 11.51/4.27 BOUNDS(INF, INF) 11.53/4.31 EOF