NO Initial ITS Start location: l9 0: l0 -> l1 : A^0'=A^post0, dobreak^0'=dobreak^post0, R^0'=R^post0, n^0'=n^post0, (0 == 0 /\ A^post0 == 0 /\ dobreak^0 <= 0 /\ 1-n^post0 <= 0 /\ -1+A^10 == 0 /\ -R^post0+R^0 == 0 /\ dobreak^0-dobreak^post0 == 0), cost: 1 1: l0 -> l2 : A^0'=A^post1, dobreak^0'=dobreak^post1, R^0'=R^post1, n^0'=n^post1, (1-dobreak^0 <= 0 /\ A^0-A^post1 == 0 /\ -n^post1+n^0 == 0 /\ -R^post1+R^0 == 0 /\ -dobreak^post1+dobreak^0 == 0), cost: 1 3: l1 -> l4 : A^0'=A^post3, dobreak^0'=dobreak^post3, R^0'=R^post3, n^0'=n^post3, (R^0-R^post3 == 0 /\ A^0-A^post3 == 0 /\ dobreak^0-dobreak^post3 == 0 /\ -n^post3+n^0 == 0), cost: 1 5: l2 -> l7 : A^0'=A^post5, dobreak^0'=dobreak^post5, R^0'=R^post5, n^0'=n^post5, (-dobreak^post5+dobreak^0 == 0 /\ A^0-A^post5 == 0 /\ -n^post5+n^0 == 0 /\ -R^post5+R^0 == 0), cost: 1 2: l3 -> l0 : A^0'=A^post2, dobreak^0'=dobreak^post2, R^0'=R^post2, n^0'=n^post2, (A^0-A^post2 == 0 /\ -n^post2+n^0 == 0 /\ dobreak^0-dobreak^post2 == 0 /\ -R^post2+R^0 == 0), cost: 1 7: l4 -> l1 : A^0'=A^post7, dobreak^0'=dobreak^post7, R^0'=R^post7, n^0'=n^post7, (R^0-R^post7 == 0 /\ -n^post7+n^0 == 0 /\ dobreak^0-dobreak^post7 == 0 /\ A^0-A^post7 == 0 /\ 1-n^0 <= 0), cost: 1 8: l4 -> l3 : A^0'=A^post8, dobreak^0'=dobreak^post8, R^0'=R^post8, n^0'=n^post8, (0 == 0 /\ n^0-n^post8 == 0 /\ A^0-A^post8 == 0 /\ R^post8 == 0 /\ n^0 <= 0 /\ -1+R^10 == 0), cost: 1 4: l5 -> l6 : A^0'=A^post4, dobreak^0'=dobreak^post4, R^0'=R^post4, n^0'=n^post4, (-n^post4+n^0 == 0 /\ A^0-A^post4 == 0 /\ -R^post4+R^0 == 0 /\ dobreak^0-dobreak^post4 == 0), cost: 1 6: l7 -> l2 : A^0'=A^post6, dobreak^0'=dobreak^post6, R^0'=R^post6, n^0'=n^post6, (-n^post6+n^0 == 0 /\ -R^post6+R^0 == 0 /\ A^0-A^post6 == 0 /\ dobreak^0-dobreak^post6 == 0), cost: 1 9: l8 -> l3 : A^0'=A^post9, dobreak^0'=dobreak^post9, R^0'=R^post9, n^0'=n^post9, (0 == 0 /\ R^post9 == 0 /\ A^post9 == 0 /\ -n^post9+n^0 == 0), cost: 1 10: l9 -> l8 : A^0'=A^post10, dobreak^0'=dobreak^post10, R^0'=R^post10, n^0'=n^post10, (-R^post10+R^0 == 0 /\ A^0-A^post10 == 0 /\ -dobreak^post10+dobreak^0 == 0 /\ -n^post10+n^0 == 0), cost: 1 Removed unreachable rules and leafs Start location: l9 0: l0 -> l1 : A^0'=A^post0, dobreak^0'=dobreak^post0, R^0'=R^post0, n^0'=n^post0, (0 == 0 /\ A^post0 == 0 /\ dobreak^0 <= 0 /\ 1-n^post0 <= 0 /\ -1+A^10 == 0 /\ -R^post0+R^0 == 0 /\ dobreak^0-dobreak^post0 == 0), cost: 1 1: l0 -> l2 : A^0'=A^post1, dobreak^0'=dobreak^post1, R^0'=R^post1, n^0'=n^post1, (1-dobreak^0 <= 0 /\ A^0-A^post1 == 0 /\ -n^post1+n^0 == 0 /\ -R^post1+R^0 == 0 /\ -dobreak^post1+dobreak^0 == 0), cost: 1 3: l1 -> l4 : A^0'=A^post3, dobreak^0'=dobreak^post3, R^0'=R^post3, n^0'=n^post3, (R^0-R^post3 == 0 /\ A^0-A^post3 == 0 /\ dobreak^0-dobreak^post3 == 0 /\ -n^post3+n^0 == 0), cost: 1 5: l2 -> l7 : A^0'=A^post5, dobreak^0'=dobreak^post5, R^0'=R^post5, n^0'=n^post5, (-dobreak^post5+dobreak^0 == 0 /\ A^0-A^post5 == 0 /\ -n^post5+n^0 == 0 /\ -R^post5+R^0 == 0), cost: 1 2: l3 -> l0 : A^0'=A^post2, dobreak^0'=dobreak^post2, R^0'=R^post2, n^0'=n^post2, (A^0-A^post2 == 0 /\ -n^post2+n^0 == 0 /\ dobreak^0-dobreak^post2 == 0 /\ -R^post2+R^0 == 0), cost: 1 7: l4 -> l1 : A^0'=A^post7, dobreak^0'=dobreak^post7, R^0'=R^post7, n^0'=n^post7, (R^0-R^post7 == 0 /\ -n^post7+n^0 == 0 /\ dobreak^0-dobreak^post7 == 0 /\ A^0-A^post7 == 0 /\ 1-n^0 <= 0), cost: 1 8: l4 -> l3 : A^0'=A^post8, dobreak^0'=dobreak^post8, R^0'=R^post8, n^0'=n^post8, (0 == 0 /\ n^0-n^post8 == 0 /\ A^0-A^post8 == 0 /\ R^post8 == 0 /\ n^0 <= 0 /\ -1+R^10 == 0), cost: 1 6: l7 -> l2 : A^0'=A^post6, dobreak^0'=dobreak^post6, R^0'=R^post6, n^0'=n^post6, (-n^post6+n^0 == 0 /\ -R^post6+R^0 == 0 /\ A^0-A^post6 == 0 /\ dobreak^0-dobreak^post6 == 0), cost: 1 9: l8 -> l3 : A^0'=A^post9, dobreak^0'=dobreak^post9, R^0'=R^post9, n^0'=n^post9, (0 == 0 /\ R^post9 == 0 /\ A^post9 == 0 /\ -n^post9+n^0 == 0), cost: 1 10: l9 -> l8 : A^0'=A^post10, dobreak^0'=dobreak^post10, R^0'=R^post10, n^0'=n^post10, (-R^post10+R^0 == 0 /\ A^0-A^post10 == 0 /\ -dobreak^post10+dobreak^0 == 0 /\ -n^post10+n^0 == 0), cost: 1 Applied preprocessing Original rule: l0 -> l1 : A^0'=A^post0, dobreak^0'=dobreak^post0, R^0'=R^post0, n^0'=n^post0, (0 == 0 /\ A^post0 == 0 /\ dobreak^0 <= 0 /\ 1-n^post0 <= 0 /\ -1+A^10 == 0 /\ -R^post0+R^0 == 0 /\ dobreak^0-dobreak^post0 == 0), cost: 1 New rule: l0 -> l1 : A^0'=0, n^0'=n^post0, (dobreak^0 <= 0 /\ -1+n^post0 >= 0), cost: 1 Applied preprocessing Original rule: l0 -> l2 : A^0'=A^post1, dobreak^0'=dobreak^post1, R^0'=R^post1, n^0'=n^post1, (1-dobreak^0 <= 0 /\ A^0-A^post1 == 0 /\ -n^post1+n^0 == 0 /\ -R^post1+R^0 == 0 /\ -dobreak^post1+dobreak^0 == 0), cost: 1 New rule: l0 -> l2 : -1+dobreak^0 >= 0, cost: 1 Applied preprocessing Original rule: l3 -> l0 : A^0'=A^post2, dobreak^0'=dobreak^post2, R^0'=R^post2, n^0'=n^post2, (A^0-A^post2 == 0 /\ -n^post2+n^0 == 0 /\ dobreak^0-dobreak^post2 == 0 /\ -R^post2+R^0 == 0), cost: 1 New rule: l3 -> l0 : TRUE, cost: 1 Applied preprocessing Original rule: l1 -> l4 : A^0'=A^post3, dobreak^0'=dobreak^post3, R^0'=R^post3, n^0'=n^post3, (R^0-R^post3 == 0 /\ A^0-A^post3 == 0 /\ dobreak^0-dobreak^post3 == 0 /\ -n^post3+n^0 == 0), cost: 1 New rule: l1 -> l4 : TRUE, cost: 1 Applied preprocessing Original rule: l2 -> l7 : A^0'=A^post5, dobreak^0'=dobreak^post5, R^0'=R^post5, n^0'=n^post5, (-dobreak^post5+dobreak^0 == 0 /\ A^0-A^post5 == 0 /\ -n^post5+n^0 == 0 /\ -R^post5+R^0 == 0), cost: 1 New rule: l2 -> l7 : TRUE, cost: 1 Applied preprocessing Original rule: l7 -> l2 : A^0'=A^post6, dobreak^0'=dobreak^post6, R^0'=R^post6, n^0'=n^post6, (-n^post6+n^0 == 0 /\ -R^post6+R^0 == 0 /\ A^0-A^post6 == 0 /\ dobreak^0-dobreak^post6 == 0), cost: 1 New rule: l7 -> l2 : TRUE, cost: 1 Applied preprocessing Original rule: l4 -> l1 : A^0'=A^post7, dobreak^0'=dobreak^post7, R^0'=R^post7, n^0'=n^post7, (R^0-R^post7 == 0 /\ -n^post7+n^0 == 0 /\ dobreak^0-dobreak^post7 == 0 /\ A^0-A^post7 == 0 /\ 1-n^0 <= 0), cost: 1 New rule: l4 -> l1 : -1+n^0 >= 0, cost: 1 Applied preprocessing Original rule: l4 -> l3 : A^0'=A^post8, dobreak^0'=dobreak^post8, R^0'=R^post8, n^0'=n^post8, (0 == 0 /\ n^0-n^post8 == 0 /\ A^0-A^post8 == 0 /\ R^post8 == 0 /\ n^0 <= 0 /\ -1+R^10 == 0), cost: 1 New rule: l4 -> l3 : dobreak^0'=dobreak^post8, R^0'=0, n^0 <= 0, cost: 1 Applied preprocessing Original rule: l8 -> l3 : A^0'=A^post9, dobreak^0'=dobreak^post9, R^0'=R^post9, n^0'=n^post9, (0 == 0 /\ R^post9 == 0 /\ A^post9 == 0 /\ -n^post9+n^0 == 0), cost: 1 New rule: l8 -> l3 : A^0'=0, dobreak^0'=dobreak^post9, R^0'=0, 0 == 0, cost: 1 Applied preprocessing Original rule: l9 -> l8 : A^0'=A^post10, dobreak^0'=dobreak^post10, R^0'=R^post10, n^0'=n^post10, (-R^post10+R^0 == 0 /\ A^0-A^post10 == 0 /\ -dobreak^post10+dobreak^0 == 0 /\ -n^post10+n^0 == 0), cost: 1 New rule: l9 -> l8 : TRUE, cost: 1 Simplified rules Start location: l9 11: l0 -> l1 : A^0'=0, n^0'=n^post0, (dobreak^0 <= 0 /\ -1+n^post0 >= 0), cost: 1 12: l0 -> l2 : -1+dobreak^0 >= 0, cost: 1 14: l1 -> l4 : TRUE, cost: 1 15: l2 -> l7 : TRUE, cost: 1 13: l3 -> l0 : TRUE, cost: 1 17: l4 -> l1 : -1+n^0 >= 0, cost: 1 18: l4 -> l3 : dobreak^0'=dobreak^post8, R^0'=0, n^0 <= 0, cost: 1 16: l7 -> l2 : TRUE, cost: 1 19: l8 -> l3 : A^0'=0, dobreak^0'=dobreak^post9, R^0'=0, 0 == 0, cost: 1 20: l9 -> l8 : TRUE, cost: 1 Eliminating location l8 by chaining: Applied chaining First rule: l9 -> l8 : TRUE, cost: 1 Second rule: l8 -> l3 : A^0'=0, dobreak^0'=dobreak^post9, R^0'=0, 0 == 0, cost: 1 New rule: l9 -> l3 : A^0'=0, dobreak^0'=dobreak^post9, R^0'=0, 0 == 0, cost: 2 Applied deletion Removed the following rules: 19 20 Eliminating location l7 by chaining: Applied chaining First rule: l2 -> l7 : TRUE, cost: 1 Second rule: l7 -> l2 : TRUE, cost: 1 New rule: l2 -> l2 : TRUE, cost: 2 Applied deletion Removed the following rules: 15 16 Eliminated locations on linear paths Start location: l9 11: l0 -> l1 : A^0'=0, n^0'=n^post0, (dobreak^0 <= 0 /\ -1+n^post0 >= 0), cost: 1 12: l0 -> l2 : -1+dobreak^0 >= 0, cost: 1 14: l1 -> l4 : TRUE, cost: 1 22: l2 -> l2 : TRUE, cost: 2 13: l3 -> l0 : TRUE, cost: 1 17: l4 -> l1 : -1+n^0 >= 0, cost: 1 18: l4 -> l3 : dobreak^0'=dobreak^post8, R^0'=0, n^0 <= 0, cost: 1 21: l9 -> l3 : A^0'=0, dobreak^0'=dobreak^post9, R^0'=0, 0 == 0, cost: 2 Applied nonterm Original rule: l2 -> l2 : TRUE, cost: 2 New rule: l2 -> [10] : TRUE, cost: NONTERM Applied acceleration Original rule: l2 -> l2 : TRUE, cost: 2 New rule: l2 -> l2 : TRUE, cost: 2*n0 Applied deletion Removed the following rules: 22 Accelerated simple loops Start location: l9 11: l0 -> l1 : A^0'=0, n^0'=n^post0, (dobreak^0 <= 0 /\ -1+n^post0 >= 0), cost: 1 12: l0 -> l2 : -1+dobreak^0 >= 0, cost: 1 14: l1 -> l4 : TRUE, cost: 1 23: l2 -> [10] : TRUE, cost: NONTERM 24: l2 -> l2 : TRUE, cost: 2*n0 13: l3 -> l0 : TRUE, cost: 1 17: l4 -> l1 : -1+n^0 >= 0, cost: 1 18: l4 -> l3 : dobreak^0'=dobreak^post8, R^0'=0, n^0 <= 0, cost: 1 21: l9 -> l3 : A^0'=0, dobreak^0'=dobreak^post9, R^0'=0, 0 == 0, cost: 2 Applied chaining First rule: l0 -> l2 : -1+dobreak^0 >= 0, cost: 1 Second rule: l2 -> [10] : TRUE, cost: NONTERM New rule: l0 -> [10] : -1+dobreak^0 >= 0, cost: NONTERM Applied chaining First rule: l0 -> l2 : -1+dobreak^0 >= 0, cost: 1 Second rule: l2 -> l2 : TRUE, cost: 2*n0 New rule: l0 -> l2 : -1+dobreak^0 >= 0, cost: 1+2*n0 Applied deletion Removed the following rules: 23 24 Chained accelerated rules with incoming rules Start location: l9 11: l0 -> l1 : A^0'=0, n^0'=n^post0, (dobreak^0 <= 0 /\ -1+n^post0 >= 0), cost: 1 12: l0 -> l2 : -1+dobreak^0 >= 0, cost: 1 25: l0 -> [10] : -1+dobreak^0 >= 0, cost: NONTERM 26: l0 -> l2 : -1+dobreak^0 >= 0, cost: 1+2*n0 14: l1 -> l4 : TRUE, cost: 1 13: l3 -> l0 : TRUE, cost: 1 17: l4 -> l1 : -1+n^0 >= 0, cost: 1 18: l4 -> l3 : dobreak^0'=dobreak^post8, R^0'=0, n^0 <= 0, cost: 1 21: l9 -> l3 : A^0'=0, dobreak^0'=dobreak^post9, R^0'=0, 0 == 0, cost: 2 Removed unreachable locations and irrelevant leafs Start location: l9 11: l0 -> l1 : A^0'=0, n^0'=n^post0, (dobreak^0 <= 0 /\ -1+n^post0 >= 0), cost: 1 25: l0 -> [10] : -1+dobreak^0 >= 0, cost: NONTERM 14: l1 -> l4 : TRUE, cost: 1 13: l3 -> l0 : TRUE, cost: 1 17: l4 -> l1 : -1+n^0 >= 0, cost: 1 18: l4 -> l3 : dobreak^0'=dobreak^post8, R^0'=0, n^0 <= 0, cost: 1 21: l9 -> l3 : A^0'=0, dobreak^0'=dobreak^post9, R^0'=0, 0 == 0, cost: 2 Eliminating location l0 by chaining: Applied chaining First rule: l3 -> l0 : TRUE, cost: 1 Second rule: l0 -> l1 : A^0'=0, n^0'=n^post0, (dobreak^0 <= 0 /\ -1+n^post0 >= 0), cost: 1 New rule: l3 -> l1 : A^0'=0, n^0'=n^post0, (dobreak^0 <= 0 /\ -1+n^post0 >= 0), cost: 2 Applied chaining First rule: l3 -> l0 : TRUE, cost: 1 Second rule: l0 -> [10] : -1+dobreak^0 >= 0, cost: NONTERM New rule: l3 -> [10] : -1+dobreak^0 >= 0, cost: NONTERM Applied deletion Removed the following rules: 11 13 25 Eliminating location l4 by chaining: Applied chaining First rule: l1 -> l4 : TRUE, cost: 1 Second rule: l4 -> l1 : -1+n^0 >= 0, cost: 1 New rule: l1 -> l1 : -1+n^0 >= 0, cost: 2 Applied chaining First rule: l1 -> l4 : TRUE, cost: 1 Second rule: l4 -> l3 : dobreak^0'=dobreak^post8, R^0'=0, n^0 <= 0, cost: 1 New rule: l1 -> l3 : dobreak^0'=dobreak^post8, R^0'=0, n^0 <= 0, cost: 2 Applied deletion Removed the following rules: 14 17 18 Eliminated locations on tree-shaped paths Start location: l9 29: l1 -> l1 : -1+n^0 >= 0, cost: 2 30: l1 -> l3 : dobreak^0'=dobreak^post8, R^0'=0, n^0 <= 0, cost: 2 27: l3 -> l1 : A^0'=0, n^0'=n^post0, (dobreak^0 <= 0 /\ -1+n^post0 >= 0), cost: 2 28: l3 -> [10] : -1+dobreak^0 >= 0, cost: NONTERM 21: l9 -> l3 : A^0'=0, dobreak^0'=dobreak^post9, R^0'=0, 0 == 0, cost: 2 Applied nonterm Original rule: l1 -> l1 : -1+n^0 >= 0, cost: 2 New rule: l1 -> [11] : -1+n^0 >= 0, cost: NONTERM Applied acceleration Original rule: l1 -> l1 : -1+n^0 >= 0, cost: 2 New rule: l1 -> l1 : -1+n^0 >= 0, cost: 2*n3 Applied deletion Removed the following rules: 29 Accelerated simple loops Start location: l9 30: l1 -> l3 : dobreak^0'=dobreak^post8, R^0'=0, n^0 <= 0, cost: 2 31: l1 -> [11] : -1+n^0 >= 0, cost: NONTERM 32: l1 -> l1 : -1+n^0 >= 0, cost: 2*n3 27: l3 -> l1 : A^0'=0, n^0'=n^post0, (dobreak^0 <= 0 /\ -1+n^post0 >= 0), cost: 2 28: l3 -> [10] : -1+dobreak^0 >= 0, cost: NONTERM 21: l9 -> l3 : A^0'=0, dobreak^0'=dobreak^post9, R^0'=0, 0 == 0, cost: 2 Applied chaining First rule: l3 -> l1 : A^0'=0, n^0'=n^post0, (dobreak^0 <= 0 /\ -1+n^post0 >= 0), cost: 2 Second rule: l1 -> [11] : -1+n^0 >= 0, cost: NONTERM New rule: l3 -> [11] : dobreak^0 <= 0, cost: NONTERM Applied chaining First rule: l3 -> l1 : A^0'=0, n^0'=n^post0, (dobreak^0 <= 0 /\ -1+n^post0 >= 0), cost: 2 Second rule: l1 -> l1 : -1+n^0 >= 0, cost: 2*n3 New rule: l3 -> l1 : A^0'=0, n^0'=n^post0, (dobreak^0 <= 0 /\ -1+n^post0 >= 0), cost: 2+2*n3 Applied deletion Removed the following rules: 31 32 Chained accelerated rules with incoming rules Start location: l9 30: l1 -> l3 : dobreak^0'=dobreak^post8, R^0'=0, n^0 <= 0, cost: 2 27: l3 -> l1 : A^0'=0, n^0'=n^post0, (dobreak^0 <= 0 /\ -1+n^post0 >= 0), cost: 2 28: l3 -> [10] : -1+dobreak^0 >= 0, cost: NONTERM 33: l3 -> [11] : dobreak^0 <= 0, cost: NONTERM 34: l3 -> l1 : A^0'=0, n^0'=n^post0, (dobreak^0 <= 0 /\ -1+n^post0 >= 0), cost: 2+2*n3 21: l9 -> l3 : A^0'=0, dobreak^0'=dobreak^post9, R^0'=0, 0 == 0, cost: 2 Eliminating location l1 by chaining: Applied partial deletion Original rule: l3 -> l1 : A^0'=0, n^0'=n^post0, (dobreak^0 <= 0 /\ -1+n^post0 >= 0), cost: 2+2*n3 New rule: l3 -> [12] : (dobreak^0 <= 0 /\ -1+n^post0 >= 0), cost: 2+2*n3 Applied deletion Removed the following rules: 27 30 34 Eliminated locations on tree-shaped paths Start location: l9 28: l3 -> [10] : -1+dobreak^0 >= 0, cost: NONTERM 33: l3 -> [11] : dobreak^0 <= 0, cost: NONTERM 35: l3 -> [12] : (dobreak^0 <= 0 /\ -1+n^post0 >= 0), cost: 2+2*n3 21: l9 -> l3 : A^0'=0, dobreak^0'=dobreak^post9, R^0'=0, 0 == 0, cost: 2 Applied pruning (of leafs and parallel rules): Start location: l9 28: l3 -> [10] : -1+dobreak^0 >= 0, cost: NONTERM 33: l3 -> [11] : dobreak^0 <= 0, cost: NONTERM 21: l9 -> l3 : A^0'=0, dobreak^0'=dobreak^post9, R^0'=0, 0 == 0, cost: 2 Eliminating location l3 by chaining: Applied chaining First rule: l9 -> l3 : A^0'=0, dobreak^0'=dobreak^post9, R^0'=0, 0 == 0, cost: 2 Second rule: l3 -> [10] : -1+dobreak^0 >= 0, cost: NONTERM New rule: l9 -> [10] : (0 == 0 /\ -1+dobreak^post9 >= 0), cost: NONTERM Applied simplification Original rule: l9 -> [10] : (0 == 0 /\ -1+dobreak^post9 >= 0), cost: NONTERM New rule: l9 -> [10] : -1+dobreak^post9 >= 0, cost: NONTERM Applied chaining First rule: l9 -> l3 : A^0'=0, dobreak^0'=dobreak^post9, R^0'=0, 0 == 0, cost: 2 Second rule: l3 -> [11] : dobreak^0 <= 0, cost: NONTERM New rule: l9 -> [11] : (0 == 0 /\ dobreak^post9 <= 0), cost: NONTERM Applied simplification Original rule: l9 -> [11] : (0 == 0 /\ dobreak^post9 <= 0), cost: NONTERM New rule: l9 -> [11] : dobreak^post9 <= 0, cost: NONTERM Applied deletion Removed the following rules: 21 28 33 Eliminated locations on tree-shaped paths Start location: l9 36: l9 -> [10] : -1+dobreak^post9 >= 0, cost: NONTERM 37: l9 -> [11] : dobreak^post9 <= 0, cost: NONTERM Computing asymptotic complexity Proved nontermination of rule 36 via SMT. Proved the following lower bound Complexity: Nonterm Cpx degree: Nonterm Solved cost: NONTERM Rule cost: NONTERM Rule guard: -1+dobreak^post9 >= 0