NO ### Pre-processing the ITS problem ### Initial linear ITS problem Start location: l9 0: l0 -> l1 : A^0'=A^post_1, R^0'=R^post_1, ___rho_1_^0'=___rho_1_^post_1, dobreak^0'=dobreak^post_1, n^0'=n^post_1, [ A^0==A^post_1 && R^0==R^post_1 && ___rho_1_^0==___rho_1_^post_1 && dobreak^0==dobreak^post_1 && n^0==n^post_1 ], cost: 1 7: l1 -> l2 : A^0'=A^post_8, R^0'=R^post_8, ___rho_1_^0'=___rho_1_^post_8, dobreak^0'=dobreak^post_8, n^0'=n^post_8, [ dobreak^0<=0 && A^1_1==1 && A^post_8==0 && n^post_8==n^post_8 && 1<=n^post_8 && R^0==R^post_8 && ___rho_1_^0==___rho_1_^post_8 && dobreak^0==dobreak^post_8 ], cost: 1 8: l1 -> l6 : A^0'=A^post_9, R^0'=R^post_9, ___rho_1_^0'=___rho_1_^post_9, dobreak^0'=dobreak^post_9, n^0'=n^post_9, [ 1<=dobreak^0 && A^0==A^post_9 && R^0==R^post_9 && ___rho_1_^0==___rho_1_^post_9 && dobreak^0==dobreak^post_9 && n^0==n^post_9 ], cost: 1 1: l2 -> l3 : A^0'=A^post_2, R^0'=R^post_2, ___rho_1_^0'=___rho_1_^post_2, dobreak^0'=dobreak^post_2, n^0'=n^post_2, [ A^0==A^post_2 && R^0==R^post_2 && ___rho_1_^0==___rho_1_^post_2 && dobreak^0==dobreak^post_2 && n^0==n^post_2 ], cost: 1 5: l3 -> l2 : A^0'=A^post_6, R^0'=R^post_6, ___rho_1_^0'=___rho_1_^post_6, dobreak^0'=dobreak^post_6, n^0'=n^post_6, [ 1<=n^0 && A^0==A^post_6 && R^0==R^post_6 && ___rho_1_^0==___rho_1_^post_6 && dobreak^0==dobreak^post_6 && n^0==n^post_6 ], cost: 1 6: l3 -> l0 : A^0'=A^post_7, R^0'=R^post_7, ___rho_1_^0'=___rho_1_^post_7, dobreak^0'=dobreak^post_7, n^0'=n^post_7, [ n^0<=0 && R^1_1==1 && R^post_7==0 && ___rho_1_^post_7==___rho_1_^post_7 && dobreak^post_7==___rho_1_^post_7 && A^0==A^post_7 && n^0==n^post_7 ], cost: 1 2: l4 -> l5 : A^0'=A^post_3, R^0'=R^post_3, ___rho_1_^0'=___rho_1_^post_3, dobreak^0'=dobreak^post_3, n^0'=n^post_3, [ A^0==A^post_3 && R^0==R^post_3 && ___rho_1_^0==___rho_1_^post_3 && dobreak^0==dobreak^post_3 && n^0==n^post_3 ], cost: 1 3: l6 -> l7 : A^0'=A^post_4, R^0'=R^post_4, ___rho_1_^0'=___rho_1_^post_4, dobreak^0'=dobreak^post_4, n^0'=n^post_4, [ A^0==A^post_4 && R^0==R^post_4 && ___rho_1_^0==___rho_1_^post_4 && dobreak^0==dobreak^post_4 && n^0==n^post_4 ], cost: 1 4: l7 -> l6 : A^0'=A^post_5, R^0'=R^post_5, ___rho_1_^0'=___rho_1_^post_5, dobreak^0'=dobreak^post_5, n^0'=n^post_5, [ A^0==A^post_5 && R^0==R^post_5 && ___rho_1_^0==___rho_1_^post_5 && dobreak^0==dobreak^post_5 && n^0==n^post_5 ], cost: 1 9: l8 -> l0 : A^0'=A^post_10, R^0'=R^post_10, ___rho_1_^0'=___rho_1_^post_10, dobreak^0'=dobreak^post_10, n^0'=n^post_10, [ A^post_10==0 && R^post_10==0 && ___rho_1_^post_10==___rho_1_^post_10 && dobreak^post_10==___rho_1_^post_10 && n^0==n^post_10 ], cost: 1 10: l9 -> l8 : A^0'=A^post_11, R^0'=R^post_11, ___rho_1_^0'=___rho_1_^post_11, dobreak^0'=dobreak^post_11, n^0'=n^post_11, [ A^0==A^post_11 && R^0==R^post_11 && ___rho_1_^0==___rho_1_^post_11 && dobreak^0==dobreak^post_11 && n^0==n^post_11 ], cost: 1 Checking for constant complexity: The following rule is satisfiable with cost >= 1, yielding constant complexity: 10: l9 -> l8 : A^0'=A^post_11, R^0'=R^post_11, ___rho_1_^0'=___rho_1_^post_11, dobreak^0'=dobreak^post_11, n^0'=n^post_11, [ A^0==A^post_11 && R^0==R^post_11 && ___rho_1_^0==___rho_1_^post_11 && dobreak^0==dobreak^post_11 && n^0==n^post_11 ], cost: 1 Removed unreachable and leaf rules: Start location: l9 0: l0 -> l1 : A^0'=A^post_1, R^0'=R^post_1, ___rho_1_^0'=___rho_1_^post_1, dobreak^0'=dobreak^post_1, n^0'=n^post_1, [ A^0==A^post_1 && R^0==R^post_1 && ___rho_1_^0==___rho_1_^post_1 && dobreak^0==dobreak^post_1 && n^0==n^post_1 ], cost: 1 7: l1 -> l2 : A^0'=A^post_8, R^0'=R^post_8, ___rho_1_^0'=___rho_1_^post_8, dobreak^0'=dobreak^post_8, n^0'=n^post_8, [ dobreak^0<=0 && A^1_1==1 && A^post_8==0 && n^post_8==n^post_8 && 1<=n^post_8 && R^0==R^post_8 && ___rho_1_^0==___rho_1_^post_8 && dobreak^0==dobreak^post_8 ], cost: 1 8: l1 -> l6 : A^0'=A^post_9, R^0'=R^post_9, ___rho_1_^0'=___rho_1_^post_9, dobreak^0'=dobreak^post_9, n^0'=n^post_9, [ 1<=dobreak^0 && A^0==A^post_9 && R^0==R^post_9 && ___rho_1_^0==___rho_1_^post_9 && dobreak^0==dobreak^post_9 && n^0==n^post_9 ], cost: 1 1: l2 -> l3 : A^0'=A^post_2, R^0'=R^post_2, ___rho_1_^0'=___rho_1_^post_2, dobreak^0'=dobreak^post_2, n^0'=n^post_2, [ A^0==A^post_2 && R^0==R^post_2 && ___rho_1_^0==___rho_1_^post_2 && dobreak^0==dobreak^post_2 && n^0==n^post_2 ], cost: 1 5: l3 -> l2 : A^0'=A^post_6, R^0'=R^post_6, ___rho_1_^0'=___rho_1_^post_6, dobreak^0'=dobreak^post_6, n^0'=n^post_6, [ 1<=n^0 && A^0==A^post_6 && R^0==R^post_6 && ___rho_1_^0==___rho_1_^post_6 && dobreak^0==dobreak^post_6 && n^0==n^post_6 ], cost: 1 6: l3 -> l0 : A^0'=A^post_7, R^0'=R^post_7, ___rho_1_^0'=___rho_1_^post_7, dobreak^0'=dobreak^post_7, n^0'=n^post_7, [ n^0<=0 && R^1_1==1 && R^post_7==0 && ___rho_1_^post_7==___rho_1_^post_7 && dobreak^post_7==___rho_1_^post_7 && A^0==A^post_7 && n^0==n^post_7 ], cost: 1 3: l6 -> l7 : A^0'=A^post_4, R^0'=R^post_4, ___rho_1_^0'=___rho_1_^post_4, dobreak^0'=dobreak^post_4, n^0'=n^post_4, [ A^0==A^post_4 && R^0==R^post_4 && ___rho_1_^0==___rho_1_^post_4 && dobreak^0==dobreak^post_4 && n^0==n^post_4 ], cost: 1 4: l7 -> l6 : A^0'=A^post_5, R^0'=R^post_5, ___rho_1_^0'=___rho_1_^post_5, dobreak^0'=dobreak^post_5, n^0'=n^post_5, [ A^0==A^post_5 && R^0==R^post_5 && ___rho_1_^0==___rho_1_^post_5 && dobreak^0==dobreak^post_5 && n^0==n^post_5 ], cost: 1 9: l8 -> l0 : A^0'=A^post_10, R^0'=R^post_10, ___rho_1_^0'=___rho_1_^post_10, dobreak^0'=dobreak^post_10, n^0'=n^post_10, [ A^post_10==0 && R^post_10==0 && ___rho_1_^post_10==___rho_1_^post_10 && dobreak^post_10==___rho_1_^post_10 && n^0==n^post_10 ], cost: 1 10: l9 -> l8 : A^0'=A^post_11, R^0'=R^post_11, ___rho_1_^0'=___rho_1_^post_11, dobreak^0'=dobreak^post_11, n^0'=n^post_11, [ A^0==A^post_11 && R^0==R^post_11 && ___rho_1_^0==___rho_1_^post_11 && dobreak^0==dobreak^post_11 && n^0==n^post_11 ], cost: 1 Simplified all rules, resulting in: Start location: l9 0: l0 -> l1 : [], cost: 1 7: l1 -> l2 : A^0'=0, n^0'=n^post_8, [ dobreak^0<=0 && 1<=n^post_8 ], cost: 1 8: l1 -> l6 : [ 1<=dobreak^0 ], cost: 1 1: l2 -> l3 : [], cost: 1 5: l3 -> l2 : [ 1<=n^0 ], cost: 1 6: l3 -> l0 : R^0'=0, ___rho_1_^0'=___rho_1_^post_7, dobreak^0'=___rho_1_^post_7, [ n^0<=0 ], cost: 1 3: l6 -> l7 : [], cost: 1 4: l7 -> l6 : [], cost: 1 9: l8 -> l0 : A^0'=0, R^0'=0, ___rho_1_^0'=dobreak^post_10, dobreak^0'=dobreak^post_10, [], cost: 1 10: l9 -> l8 : [], cost: 1 ### Simplification by acceleration and chaining ### Eliminated locations (on linear paths): Start location: l9 0: l0 -> l1 : [], cost: 1 7: l1 -> l2 : A^0'=0, n^0'=n^post_8, [ dobreak^0<=0 && 1<=n^post_8 ], cost: 1 8: l1 -> l6 : [ 1<=dobreak^0 ], cost: 1 1: l2 -> l3 : [], cost: 1 5: l3 -> l2 : [ 1<=n^0 ], cost: 1 6: l3 -> l0 : R^0'=0, ___rho_1_^0'=___rho_1_^post_7, dobreak^0'=___rho_1_^post_7, [ n^0<=0 ], cost: 1 12: l6 -> l6 : [], cost: 2 11: l9 -> l0 : A^0'=0, R^0'=0, ___rho_1_^0'=dobreak^post_10, dobreak^0'=dobreak^post_10, [], cost: 2 Accelerating simple loops of location 6. Accelerating the following rules: 12: l6 -> l6 : [], cost: 2 Accelerated rule 12 with non-termination, yielding the new rule 13. [accelerate] Nesting with 0 inner and 0 outer candidates Removing the simple loops: 12. Accelerated all simple loops using metering functions (where possible): Start location: l9 0: l0 -> l1 : [], cost: 1 7: l1 -> l2 : A^0'=0, n^0'=n^post_8, [ dobreak^0<=0 && 1<=n^post_8 ], cost: 1 8: l1 -> l6 : [ 1<=dobreak^0 ], cost: 1 1: l2 -> l3 : [], cost: 1 5: l3 -> l2 : [ 1<=n^0 ], cost: 1 6: l3 -> l0 : R^0'=0, ___rho_1_^0'=___rho_1_^post_7, dobreak^0'=___rho_1_^post_7, [ n^0<=0 ], cost: 1 13: l6 -> [10] : [], cost: NONTERM 11: l9 -> l0 : A^0'=0, R^0'=0, ___rho_1_^0'=dobreak^post_10, dobreak^0'=dobreak^post_10, [], cost: 2 Chained accelerated rules (with incoming rules): Start location: l9 0: l0 -> l1 : [], cost: 1 7: l1 -> l2 : A^0'=0, n^0'=n^post_8, [ dobreak^0<=0 && 1<=n^post_8 ], cost: 1 8: l1 -> l6 : [ 1<=dobreak^0 ], cost: 1 14: l1 -> [10] : [ 1<=dobreak^0 ], cost: NONTERM 1: l2 -> l3 : [], cost: 1 5: l3 -> l2 : [ 1<=n^0 ], cost: 1 6: l3 -> l0 : R^0'=0, ___rho_1_^0'=___rho_1_^post_7, dobreak^0'=___rho_1_^post_7, [ n^0<=0 ], cost: 1 11: l9 -> l0 : A^0'=0, R^0'=0, ___rho_1_^0'=dobreak^post_10, dobreak^0'=dobreak^post_10, [], cost: 2 Removed unreachable locations (and leaf rules with constant cost): Start location: l9 0: l0 -> l1 : [], cost: 1 7: l1 -> l2 : A^0'=0, n^0'=n^post_8, [ dobreak^0<=0 && 1<=n^post_8 ], cost: 1 14: l1 -> [10] : [ 1<=dobreak^0 ], cost: NONTERM 1: l2 -> l3 : [], cost: 1 5: l3 -> l2 : [ 1<=n^0 ], cost: 1 6: l3 -> l0 : R^0'=0, ___rho_1_^0'=___rho_1_^post_7, dobreak^0'=___rho_1_^post_7, [ n^0<=0 ], cost: 1 11: l9 -> l0 : A^0'=0, R^0'=0, ___rho_1_^0'=dobreak^post_10, dobreak^0'=dobreak^post_10, [], cost: 2 Eliminated locations (on tree-shaped paths): Start location: l9 15: l0 -> l2 : A^0'=0, n^0'=n^post_8, [ dobreak^0<=0 && 1<=n^post_8 ], cost: 2 16: l0 -> [10] : [ 1<=dobreak^0 ], cost: NONTERM 17: l2 -> l2 : [ 1<=n^0 ], cost: 2 18: l2 -> l0 : R^0'=0, ___rho_1_^0'=___rho_1_^post_7, dobreak^0'=___rho_1_^post_7, [ n^0<=0 ], cost: 2 11: l9 -> l0 : A^0'=0, R^0'=0, ___rho_1_^0'=dobreak^post_10, dobreak^0'=dobreak^post_10, [], cost: 2 Accelerating simple loops of location 2. Accelerating the following rules: 17: l2 -> l2 : [ 1<=n^0 ], cost: 2 Accelerated rule 17 with non-termination, yielding the new rule 19. [accelerate] Nesting with 0 inner and 0 outer candidates Removing the simple loops: 17. Accelerated all simple loops using metering functions (where possible): Start location: l9 15: l0 -> l2 : A^0'=0, n^0'=n^post_8, [ dobreak^0<=0 && 1<=n^post_8 ], cost: 2 16: l0 -> [10] : [ 1<=dobreak^0 ], cost: NONTERM 18: l2 -> l0 : R^0'=0, ___rho_1_^0'=___rho_1_^post_7, dobreak^0'=___rho_1_^post_7, [ n^0<=0 ], cost: 2 19: l2 -> [11] : [ 1<=n^0 ], cost: NONTERM 11: l9 -> l0 : A^0'=0, R^0'=0, ___rho_1_^0'=dobreak^post_10, dobreak^0'=dobreak^post_10, [], cost: 2 Chained accelerated rules (with incoming rules): Start location: l9 15: l0 -> l2 : A^0'=0, n^0'=n^post_8, [ dobreak^0<=0 && 1<=n^post_8 ], cost: 2 16: l0 -> [10] : [ 1<=dobreak^0 ], cost: NONTERM 20: l0 -> [11] : [ dobreak^0<=0 ], cost: NONTERM 18: l2 -> l0 : R^0'=0, ___rho_1_^0'=___rho_1_^post_7, dobreak^0'=___rho_1_^post_7, [ n^0<=0 ], cost: 2 11: l9 -> l0 : A^0'=0, R^0'=0, ___rho_1_^0'=dobreak^post_10, dobreak^0'=dobreak^post_10, [], cost: 2 Eliminated locations (on linear paths): Start location: l9 16: l0 -> [10] : [ 1<=dobreak^0 ], cost: NONTERM 20: l0 -> [11] : [ dobreak^0<=0 ], cost: NONTERM 11: l9 -> l0 : A^0'=0, R^0'=0, ___rho_1_^0'=dobreak^post_10, dobreak^0'=dobreak^post_10, [], cost: 2 Eliminated locations (on tree-shaped paths): Start location: l9 21: l9 -> [10] : [ 1<=dobreak^post_10 ], cost: NONTERM 22: l9 -> [11] : [ dobreak^post_10<=0 ], cost: NONTERM ### Computing asymptotic complexity ### Fully simplified ITS problem Start location: l9 21: l9 -> [10] : [ 1<=dobreak^post_10 ], cost: NONTERM 22: l9 -> [11] : [ dobreak^post_10<=0 ], cost: NONTERM Computing asymptotic complexity for rule 21 Guard is satisfiable, yielding nontermination Resulting cost NONTERM has complexity: Nonterm Found new complexity Nonterm. Obtained the following overall complexity (w.r.t. the length of the input n): Complexity: Nonterm Cpx degree: Nonterm Solved cost: NONTERM Rule cost: NONTERM Rule guard: [ 1<=dobreak^post_10 ] NO