WORST_CASE(Omega(1),?) ### Pre-processing the ITS problem ### Initial linear ITS problem Start location: l12 0: l0 -> l1 : i4^0'=i4^post_1, j5^0'=j5^post_1, k6^0'=k6^post_1, [ i4^0==i4^post_1 && j5^0==j5^post_1 && k6^0==k6^post_1 ], cost: 1 13: l1 -> l4 : i4^0'=i4^post_14, j5^0'=j5^post_14, k6^0'=k6^post_14, [ 6<=i4^0 && i4^post_14==1 && j5^0==j5^post_14 && k6^0==k6^post_14 ], cost: 1 14: l1 -> l2 : i4^0'=i4^post_15, j5^0'=j5^post_15, k6^0'=k6^post_15, [ i4^0<=5 && j5^post_15==1 && i4^0==i4^post_15 && k6^0==k6^post_15 ], cost: 1 1: l2 -> l3 : i4^0'=i4^post_2, j5^0'=j5^post_2, k6^0'=k6^post_2, [ i4^0==i4^post_2 && j5^0==j5^post_2 && k6^0==k6^post_2 ], cost: 1 11: l3 -> l0 : i4^0'=i4^post_12, j5^0'=j5^post_12, k6^0'=k6^post_12, [ 6<=j5^0 && i4^post_12==1+i4^0 && j5^0==j5^post_12 && k6^0==k6^post_12 ], cost: 1 12: l3 -> l2 : i4^0'=i4^post_13, j5^0'=j5^post_13, k6^0'=k6^post_13, [ j5^0<=5 && j5^post_13==1+j5^0 && i4^0==i4^post_13 && k6^0==k6^post_13 ], cost: 1 2: l4 -> l5 : i4^0'=i4^post_3, j5^0'=j5^post_3, k6^0'=k6^post_3, [ i4^0==i4^post_3 && j5^0==j5^post_3 && k6^0==k6^post_3 ], cost: 1 8: l5 -> l10 : i4^0'=i4^post_9, j5^0'=j5^post_9, k6^0'=k6^post_9, [ 6<=i4^0 && i4^0==i4^post_9 && j5^0==j5^post_9 && k6^0==k6^post_9 ], cost: 1 9: l5 -> l6 : i4^0'=i4^post_10, j5^0'=j5^post_10, k6^0'=k6^post_10, [ i4^0<=5 && j5^post_10==1 && i4^0==i4^post_10 && k6^0==k6^post_10 ], cost: 1 3: l6 -> l7 : i4^0'=i4^post_4, j5^0'=j5^post_4, k6^0'=k6^post_4, [ i4^0==i4^post_4 && j5^0==j5^post_4 && k6^0==k6^post_4 ], cost: 1 6: l7 -> l4 : i4^0'=i4^post_7, j5^0'=j5^post_7, k6^0'=k6^post_7, [ 6<=j5^0 && i4^post_7==1+i4^0 && j5^0==j5^post_7 && k6^0==k6^post_7 ], cost: 1 7: l7 -> l9 : i4^0'=i4^post_8, j5^0'=j5^post_8, k6^0'=k6^post_8, [ j5^0<=5 && k6^post_8==1 && i4^0==i4^post_8 && j5^0==j5^post_8 ], cost: 1 4: l8 -> l6 : i4^0'=i4^post_5, j5^0'=j5^post_5, k6^0'=k6^post_5, [ 6<=k6^0 && j5^post_5==1+j5^0 && i4^0==i4^post_5 && k6^0==k6^post_5 ], cost: 1 5: l8 -> l9 : i4^0'=i4^post_6, j5^0'=j5^post_6, k6^0'=k6^post_6, [ k6^0<=5 && k6^post_6==1+k6^0 && i4^0==i4^post_6 && j5^0==j5^post_6 ], cost: 1 10: l9 -> l8 : i4^0'=i4^post_11, j5^0'=j5^post_11, k6^0'=k6^post_11, [ i4^0==i4^post_11 && j5^0==j5^post_11 && k6^0==k6^post_11 ], cost: 1 15: l11 -> l0 : i4^0'=i4^post_16, j5^0'=j5^post_16, k6^0'=k6^post_16, [ i4^post_16==1 && j5^0==j5^post_16 && k6^0==k6^post_16 ], cost: 1 16: l12 -> l11 : i4^0'=i4^post_17, j5^0'=j5^post_17, k6^0'=k6^post_17, [ i4^0==i4^post_17 && j5^0==j5^post_17 && k6^0==k6^post_17 ], cost: 1 Checking for constant complexity: The following rule is satisfiable with cost >= 1, yielding constant complexity: 16: l12 -> l11 : i4^0'=i4^post_17, j5^0'=j5^post_17, k6^0'=k6^post_17, [ i4^0==i4^post_17 && j5^0==j5^post_17 && k6^0==k6^post_17 ], cost: 1 Removed unreachable and leaf rules: Start location: l12 0: l0 -> l1 : i4^0'=i4^post_1, j5^0'=j5^post_1, k6^0'=k6^post_1, [ i4^0==i4^post_1 && j5^0==j5^post_1 && k6^0==k6^post_1 ], cost: 1 13: l1 -> l4 : i4^0'=i4^post_14, j5^0'=j5^post_14, k6^0'=k6^post_14, [ 6<=i4^0 && i4^post_14==1 && j5^0==j5^post_14 && k6^0==k6^post_14 ], cost: 1 14: l1 -> l2 : i4^0'=i4^post_15, j5^0'=j5^post_15, k6^0'=k6^post_15, [ i4^0<=5 && j5^post_15==1 && i4^0==i4^post_15 && k6^0==k6^post_15 ], cost: 1 1: l2 -> l3 : i4^0'=i4^post_2, j5^0'=j5^post_2, k6^0'=k6^post_2, [ i4^0==i4^post_2 && j5^0==j5^post_2 && k6^0==k6^post_2 ], cost: 1 11: l3 -> l0 : i4^0'=i4^post_12, j5^0'=j5^post_12, k6^0'=k6^post_12, [ 6<=j5^0 && i4^post_12==1+i4^0 && j5^0==j5^post_12 && k6^0==k6^post_12 ], cost: 1 12: l3 -> l2 : i4^0'=i4^post_13, j5^0'=j5^post_13, k6^0'=k6^post_13, [ j5^0<=5 && j5^post_13==1+j5^0 && i4^0==i4^post_13 && k6^0==k6^post_13 ], cost: 1 2: l4 -> l5 : i4^0'=i4^post_3, j5^0'=j5^post_3, k6^0'=k6^post_3, [ i4^0==i4^post_3 && j5^0==j5^post_3 && k6^0==k6^post_3 ], cost: 1 9: l5 -> l6 : i4^0'=i4^post_10, j5^0'=j5^post_10, k6^0'=k6^post_10, [ i4^0<=5 && j5^post_10==1 && i4^0==i4^post_10 && k6^0==k6^post_10 ], cost: 1 3: l6 -> l7 : i4^0'=i4^post_4, j5^0'=j5^post_4, k6^0'=k6^post_4, [ i4^0==i4^post_4 && j5^0==j5^post_4 && k6^0==k6^post_4 ], cost: 1 6: l7 -> l4 : i4^0'=i4^post_7, j5^0'=j5^post_7, k6^0'=k6^post_7, [ 6<=j5^0 && i4^post_7==1+i4^0 && j5^0==j5^post_7 && k6^0==k6^post_7 ], cost: 1 7: l7 -> l9 : i4^0'=i4^post_8, j5^0'=j5^post_8, k6^0'=k6^post_8, [ j5^0<=5 && k6^post_8==1 && i4^0==i4^post_8 && j5^0==j5^post_8 ], cost: 1 4: l8 -> l6 : i4^0'=i4^post_5, j5^0'=j5^post_5, k6^0'=k6^post_5, [ 6<=k6^0 && j5^post_5==1+j5^0 && i4^0==i4^post_5 && k6^0==k6^post_5 ], cost: 1 5: l8 -> l9 : i4^0'=i4^post_6, j5^0'=j5^post_6, k6^0'=k6^post_6, [ k6^0<=5 && k6^post_6==1+k6^0 && i4^0==i4^post_6 && j5^0==j5^post_6 ], cost: 1 10: l9 -> l8 : i4^0'=i4^post_11, j5^0'=j5^post_11, k6^0'=k6^post_11, [ i4^0==i4^post_11 && j5^0==j5^post_11 && k6^0==k6^post_11 ], cost: 1 15: l11 -> l0 : i4^0'=i4^post_16, j5^0'=j5^post_16, k6^0'=k6^post_16, [ i4^post_16==1 && j5^0==j5^post_16 && k6^0==k6^post_16 ], cost: 1 16: l12 -> l11 : i4^0'=i4^post_17, j5^0'=j5^post_17, k6^0'=k6^post_17, [ i4^0==i4^post_17 && j5^0==j5^post_17 && k6^0==k6^post_17 ], cost: 1 Simplified all rules, resulting in: Start location: l12 0: l0 -> l1 : [], cost: 1 13: l1 -> l4 : i4^0'=1, [ 6<=i4^0 ], cost: 1 14: l1 -> l2 : j5^0'=1, [ i4^0<=5 ], cost: 1 1: l2 -> l3 : [], cost: 1 11: l3 -> l0 : i4^0'=1+i4^0, [ 6<=j5^0 ], cost: 1 12: l3 -> l2 : j5^0'=1+j5^0, [ j5^0<=5 ], cost: 1 2: l4 -> l5 : [], cost: 1 9: l5 -> l6 : j5^0'=1, [ i4^0<=5 ], cost: 1 3: l6 -> l7 : [], cost: 1 6: l7 -> l4 : i4^0'=1+i4^0, [ 6<=j5^0 ], cost: 1 7: l7 -> l9 : k6^0'=1, [ j5^0<=5 ], cost: 1 4: l8 -> l6 : j5^0'=1+j5^0, [ 6<=k6^0 ], cost: 1 5: l8 -> l9 : k6^0'=1+k6^0, [ k6^0<=5 ], cost: 1 10: l9 -> l8 : [], cost: 1 15: l11 -> l0 : i4^0'=1, [], cost: 1 16: l12 -> l11 : [], cost: 1 ### Simplification by acceleration and chaining ### Eliminated locations (on linear paths): Start location: l12 0: l0 -> l1 : [], cost: 1 13: l1 -> l4 : i4^0'=1, [ 6<=i4^0 ], cost: 1 14: l1 -> l2 : j5^0'=1, [ i4^0<=5 ], cost: 1 1: l2 -> l3 : [], cost: 1 11: l3 -> l0 : i4^0'=1+i4^0, [ 6<=j5^0 ], cost: 1 12: l3 -> l2 : j5^0'=1+j5^0, [ j5^0<=5 ], cost: 1 18: l4 -> l6 : j5^0'=1, [ i4^0<=5 ], cost: 2 3: l6 -> l7 : [], cost: 1 6: l7 -> l4 : i4^0'=1+i4^0, [ 6<=j5^0 ], cost: 1 7: l7 -> l9 : k6^0'=1, [ j5^0<=5 ], cost: 1 4: l8 -> l6 : j5^0'=1+j5^0, [ 6<=k6^0 ], cost: 1 5: l8 -> l9 : k6^0'=1+k6^0, [ k6^0<=5 ], cost: 1 10: l9 -> l8 : [], cost: 1 17: l12 -> l0 : i4^0'=1, [], cost: 2 Eliminated locations (on tree-shaped paths): Start location: l12 19: l0 -> l4 : i4^0'=1, [ 6<=i4^0 ], cost: 2 20: l0 -> l2 : j5^0'=1, [ i4^0<=5 ], cost: 2 21: l2 -> l0 : i4^0'=1+i4^0, [ 6<=j5^0 ], cost: 2 22: l2 -> l2 : j5^0'=1+j5^0, [ j5^0<=5 ], cost: 2 18: l4 -> l6 : j5^0'=1, [ i4^0<=5 ], cost: 2 23: l6 -> l4 : i4^0'=1+i4^0, [ 6<=j5^0 ], cost: 2 24: l6 -> l9 : k6^0'=1, [ j5^0<=5 ], cost: 2 25: l9 -> l6 : j5^0'=1+j5^0, [ 6<=k6^0 ], cost: 2 26: l9 -> l9 : k6^0'=1+k6^0, [ k6^0<=5 ], cost: 2 17: l12 -> l0 : i4^0'=1, [], cost: 2 Accelerating simple loops of location 2. Accelerating the following rules: 22: l2 -> l2 : j5^0'=1+j5^0, [ j5^0<=5 ], cost: 2 Accelerated rule 22 with backward acceleration, yielding the new rule 27. [accelerate] Nesting with 1 inner and 1 outer candidates Removing the simple loops: 22. Accelerating simple loops of location 9. Accelerating the following rules: 26: l9 -> l9 : k6^0'=1+k6^0, [ k6^0<=5 ], cost: 2 Accelerated rule 26 with backward acceleration, yielding the new rule 28. [accelerate] Nesting with 1 inner and 1 outer candidates Removing the simple loops: 26. Accelerated all simple loops using metering functions (where possible): Start location: l12 19: l0 -> l4 : i4^0'=1, [ 6<=i4^0 ], cost: 2 20: l0 -> l2 : j5^0'=1, [ i4^0<=5 ], cost: 2 21: l2 -> l0 : i4^0'=1+i4^0, [ 6<=j5^0 ], cost: 2 27: l2 -> l2 : j5^0'=6, [ 6-j5^0>=0 ], cost: 12-2*j5^0 18: l4 -> l6 : j5^0'=1, [ i4^0<=5 ], cost: 2 23: l6 -> l4 : i4^0'=1+i4^0, [ 6<=j5^0 ], cost: 2 24: l6 -> l9 : k6^0'=1, [ j5^0<=5 ], cost: 2 25: l9 -> l6 : j5^0'=1+j5^0, [ 6<=k6^0 ], cost: 2 28: l9 -> l9 : k6^0'=6, [ 6-k6^0>=0 ], cost: 12-2*k6^0 17: l12 -> l0 : i4^0'=1, [], cost: 2 Chained accelerated rules (with incoming rules): Start location: l12 19: l0 -> l4 : i4^0'=1, [ 6<=i4^0 ], cost: 2 20: l0 -> l2 : j5^0'=1, [ i4^0<=5 ], cost: 2 29: l0 -> l2 : j5^0'=6, [ i4^0<=5 ], cost: 12 21: l2 -> l0 : i4^0'=1+i4^0, [ 6<=j5^0 ], cost: 2 18: l4 -> l6 : j5^0'=1, [ i4^0<=5 ], cost: 2 23: l6 -> l4 : i4^0'=1+i4^0, [ 6<=j5^0 ], cost: 2 24: l6 -> l9 : k6^0'=1, [ j5^0<=5 ], cost: 2 30: l6 -> l9 : k6^0'=6, [ j5^0<=5 ], cost: 12 25: l9 -> l6 : j5^0'=1+j5^0, [ 6<=k6^0 ], cost: 2 17: l12 -> l0 : i4^0'=1, [], cost: 2 Eliminated locations (on tree-shaped paths): Start location: l12 19: l0 -> l4 : i4^0'=1, [ 6<=i4^0 ], cost: 2 31: l0 -> l0 : i4^0'=1+i4^0, j5^0'=6, [ i4^0<=5 ], cost: 14 18: l4 -> l6 : j5^0'=1, [ i4^0<=5 ], cost: 2 23: l6 -> l4 : i4^0'=1+i4^0, [ 6<=j5^0 ], cost: 2 32: l6 -> l6 : j5^0'=1+j5^0, k6^0'=6, [ j5^0<=5 ], cost: 14 17: l12 -> l0 : i4^0'=1, [], cost: 2 Accelerating simple loops of location 0. Accelerating the following rules: 31: l0 -> l0 : i4^0'=1+i4^0, j5^0'=6, [ i4^0<=5 ], cost: 14 Accelerated rule 31 with backward acceleration, yielding the new rule 33. [accelerate] Nesting with 1 inner and 1 outer candidates Removing the simple loops: 31. Accelerating simple loops of location 6. Accelerating the following rules: 32: l6 -> l6 : j5^0'=1+j5^0, k6^0'=6, [ j5^0<=5 ], cost: 14 Accelerated rule 32 with backward acceleration, yielding the new rule 34. [accelerate] Nesting with 1 inner and 1 outer candidates Removing the simple loops: 32. Accelerated all simple loops using metering functions (where possible): Start location: l12 19: l0 -> l4 : i4^0'=1, [ 6<=i4^0 ], cost: 2 33: l0 -> l0 : i4^0'=6, j5^0'=6, [ 6-i4^0>=1 ], cost: 84-14*i4^0 18: l4 -> l6 : j5^0'=1, [ i4^0<=5 ], cost: 2 23: l6 -> l4 : i4^0'=1+i4^0, [ 6<=j5^0 ], cost: 2 34: l6 -> l6 : j5^0'=6, k6^0'=6, [ 6-j5^0>=1 ], cost: 84-14*j5^0 17: l12 -> l0 : i4^0'=1, [], cost: 2 Chained accelerated rules (with incoming rules): Start location: l12 19: l0 -> l4 : i4^0'=1, [ 6<=i4^0 ], cost: 2 18: l4 -> l6 : j5^0'=1, [ i4^0<=5 ], cost: 2 36: l4 -> l6 : j5^0'=6, k6^0'=6, [ i4^0<=5 ], cost: 72 23: l6 -> l4 : i4^0'=1+i4^0, [ 6<=j5^0 ], cost: 2 17: l12 -> l0 : i4^0'=1, [], cost: 2 35: l12 -> l0 : i4^0'=6, j5^0'=6, [], cost: 72 Eliminated locations (on tree-shaped paths): Start location: l12 38: l4 -> l4 : i4^0'=1+i4^0, j5^0'=6, k6^0'=6, [ i4^0<=5 ], cost: 74 37: l12 -> l4 : i4^0'=1, j5^0'=6, [], cost: 74 Accelerating simple loops of location 4. Accelerating the following rules: 38: l4 -> l4 : i4^0'=1+i4^0, j5^0'=6, k6^0'=6, [ i4^0<=5 ], cost: 74 Accelerated rule 38 with backward acceleration, yielding the new rule 39. [accelerate] Nesting with 1 inner and 1 outer candidates Removing the simple loops: 38. Accelerated all simple loops using metering functions (where possible): Start location: l12 39: l4 -> l4 : i4^0'=6, j5^0'=6, k6^0'=6, [ 6-i4^0>=1 ], cost: 444-74*i4^0 37: l12 -> l4 : i4^0'=1, j5^0'=6, [], cost: 74 Chained accelerated rules (with incoming rules): Start location: l12 37: l12 -> l4 : i4^0'=1, j5^0'=6, [], cost: 74 40: l12 -> l4 : i4^0'=6, j5^0'=6, k6^0'=6, [], cost: 444 Removed unreachable locations (and leaf rules with constant cost): Start location: l12 ### Computing asymptotic complexity ### Fully simplified ITS problem Start location: l12 Obtained the following overall complexity (w.r.t. the length of the input n): Complexity: Constant Cpx degree: 0 Solved cost: 1 Rule cost: 1 Rule guard: [ i4^0==i4^post_17 && j5^0==j5^post_17 && k6^0==k6^post_17 ] WORST_CASE(Omega(1),?)