NO Initial ITS Start location: l4 0: l0 -> l1 : x_1^0'=x_1^post0, y_1^0'=y_1^post0, (y_1^0-y_1^post0 == 0 /\ -2+x_1^post0 == 0), cost: 1 3: l1 -> l2 : x_1^0'=x_1^post3, y_1^0'=y_1^post3, (0 == 0 /\ x_1^0-x_1^post3 == 0), cost: 1 4: l1 -> l3 : x_1^0'=x_1^post4, y_1^0'=y_1^post4, (x_1^0-x_1^post4 == 0 /\ 2 <= 0 /\ -y_1^post4+y_1^0 == 0), cost: 1 1: l2 -> l1 : x_1^0'=x_1^post1, y_1^0'=y_1^post1, (-y_1^post1+y_1^0 == 0 /\ 1-x_1^0+x_1^post1 == 0 /\ y_1^0 <= 0), cost: 1 2: l2 -> l1 : x_1^0'=x_1^post2, y_1^0'=y_1^post2, (-1-x_1^0+x_1^post2 == 0 /\ 1-y_1^0 <= 0 /\ -y_1^post2+y_1^0 == 0), cost: 1 5: l4 -> l0 : x_1^0'=x_1^post5, y_1^0'=y_1^post5, (y_1^0-y_1^post5 == 0 /\ x_1^0-x_1^post5 == 0), cost: 1 Removed unreachable rules and leafs Start location: l4 0: l0 -> l1 : x_1^0'=x_1^post0, y_1^0'=y_1^post0, (y_1^0-y_1^post0 == 0 /\ -2+x_1^post0 == 0), cost: 1 3: l1 -> l2 : x_1^0'=x_1^post3, y_1^0'=y_1^post3, (0 == 0 /\ x_1^0-x_1^post3 == 0), cost: 1 1: l2 -> l1 : x_1^0'=x_1^post1, y_1^0'=y_1^post1, (-y_1^post1+y_1^0 == 0 /\ 1-x_1^0+x_1^post1 == 0 /\ y_1^0 <= 0), cost: 1 2: l2 -> l1 : x_1^0'=x_1^post2, y_1^0'=y_1^post2, (-1-x_1^0+x_1^post2 == 0 /\ 1-y_1^0 <= 0 /\ -y_1^post2+y_1^0 == 0), cost: 1 5: l4 -> l0 : x_1^0'=x_1^post5, y_1^0'=y_1^post5, (y_1^0-y_1^post5 == 0 /\ x_1^0-x_1^post5 == 0), cost: 1 Applied preprocessing Original rule: l0 -> l1 : x_1^0'=x_1^post0, y_1^0'=y_1^post0, (y_1^0-y_1^post0 == 0 /\ -2+x_1^post0 == 0), cost: 1 New rule: l0 -> l1 : x_1^0'=2, TRUE, cost: 1 Applied preprocessing Original rule: l2 -> l1 : x_1^0'=x_1^post1, y_1^0'=y_1^post1, (-y_1^post1+y_1^0 == 0 /\ 1-x_1^0+x_1^post1 == 0 /\ y_1^0 <= 0), cost: 1 New rule: l2 -> l1 : x_1^0'=-1+x_1^0, y_1^0 <= 0, cost: 1 Applied preprocessing Original rule: l2 -> l1 : x_1^0'=x_1^post2, y_1^0'=y_1^post2, (-1-x_1^0+x_1^post2 == 0 /\ 1-y_1^0 <= 0 /\ -y_1^post2+y_1^0 == 0), cost: 1 New rule: l2 -> l1 : x_1^0'=1+x_1^0, -1+y_1^0 >= 0, cost: 1 Applied preprocessing Original rule: l1 -> l2 : x_1^0'=x_1^post3, y_1^0'=y_1^post3, (0 == 0 /\ x_1^0-x_1^post3 == 0), cost: 1 New rule: l1 -> l2 : y_1^0'=y_1^post3, 0 == 0, cost: 1 Applied preprocessing Original rule: l4 -> l0 : x_1^0'=x_1^post5, y_1^0'=y_1^post5, (y_1^0-y_1^post5 == 0 /\ x_1^0-x_1^post5 == 0), cost: 1 New rule: l4 -> l0 : TRUE, cost: 1 Simplified rules Start location: l4 6: l0 -> l1 : x_1^0'=2, TRUE, cost: 1 9: l1 -> l2 : y_1^0'=y_1^post3, 0 == 0, cost: 1 7: l2 -> l1 : x_1^0'=-1+x_1^0, y_1^0 <= 0, cost: 1 8: l2 -> l1 : x_1^0'=1+x_1^0, -1+y_1^0 >= 0, cost: 1 10: l4 -> l0 : TRUE, cost: 1 Eliminating location l0 by chaining: Applied chaining First rule: l4 -> l0 : TRUE, cost: 1 Second rule: l0 -> l1 : x_1^0'=2, TRUE, cost: 1 New rule: l4 -> l1 : x_1^0'=2, TRUE, cost: 2 Applied deletion Removed the following rules: 6 10 Eliminated locations on linear paths Start location: l4 9: l1 -> l2 : y_1^0'=y_1^post3, 0 == 0, cost: 1 7: l2 -> l1 : x_1^0'=-1+x_1^0, y_1^0 <= 0, cost: 1 8: l2 -> l1 : x_1^0'=1+x_1^0, -1+y_1^0 >= 0, cost: 1 11: l4 -> l1 : x_1^0'=2, TRUE, cost: 2 Eliminating location l2 by chaining: Applied chaining First rule: l1 -> l2 : y_1^0'=y_1^post3, 0 == 0, cost: 1 Second rule: l2 -> l1 : x_1^0'=-1+x_1^0, y_1^0 <= 0, cost: 1 New rule: l1 -> l1 : x_1^0'=-1+x_1^0, y_1^0'=y_1^post3, (0 == 0 /\ y_1^post3 <= 0), cost: 2 Applied simplification Original rule: l1 -> l1 : x_1^0'=-1+x_1^0, y_1^0'=y_1^post3, (0 == 0 /\ y_1^post3 <= 0), cost: 2 New rule: l1 -> l1 : x_1^0'=-1+x_1^0, y_1^0'=y_1^post3, y_1^post3 <= 0, cost: 2 Applied chaining First rule: l1 -> l2 : y_1^0'=y_1^post3, 0 == 0, cost: 1 Second rule: l2 -> l1 : x_1^0'=1+x_1^0, -1+y_1^0 >= 0, cost: 1 New rule: l1 -> l1 : x_1^0'=1+x_1^0, y_1^0'=y_1^post3, (0 == 0 /\ -1+y_1^post3 >= 0), cost: 2 Applied simplification Original rule: l1 -> l1 : x_1^0'=1+x_1^0, y_1^0'=y_1^post3, (0 == 0 /\ -1+y_1^post3 >= 0), cost: 2 New rule: l1 -> l1 : x_1^0'=1+x_1^0, y_1^0'=y_1^post3, -1+y_1^post3 >= 0, cost: 2 Applied deletion Removed the following rules: 7 8 9 Eliminated locations on tree-shaped paths Start location: l4 12: l1 -> l1 : x_1^0'=-1+x_1^0, y_1^0'=y_1^post3, y_1^post3 <= 0, cost: 2 13: l1 -> l1 : x_1^0'=1+x_1^0, y_1^0'=y_1^post3, -1+y_1^post3 >= 0, cost: 2 11: l4 -> l1 : x_1^0'=2, TRUE, cost: 2 Applied nonterm Original rule: l1 -> l1 : x_1^0'=-1+x_1^0, y_1^0'=y_1^post3, y_1^post3 <= 0, cost: 2 New rule: l1 -> [5] : -y_1^post3 >= 0, cost: NONTERM Applied acceleration Original rule: l1 -> l1 : x_1^0'=-1+x_1^0, y_1^0'=y_1^post3, y_1^post3 <= 0, cost: 2 New rule: l1 -> l1 : x_1^0'=x_1^0-n1, y_1^0'=y_1^post3, -y_1^post3 >= 0, cost: 2*n1 Applied nonterm Original rule: l1 -> l1 : x_1^0'=1+x_1^0, y_1^0'=y_1^post3, -1+y_1^post3 >= 0, cost: 2 New rule: l1 -> [5] : -1+y_1^post3 >= 0, cost: NONTERM Applied acceleration Original rule: l1 -> l1 : x_1^0'=1+x_1^0, y_1^0'=y_1^post3, -1+y_1^post3 >= 0, cost: 2 New rule: l1 -> l1 : x_1^0'=x_1^0+n3, y_1^0'=y_1^post3, -1+y_1^post3 >= 0, cost: 2*n3 Applied simplification Original rule: l1 -> [5] : -y_1^post3 >= 0, cost: NONTERM New rule: l1 -> [5] : y_1^post3 <= 0, cost: NONTERM Applied simplification Original rule: l1 -> l1 : x_1^0'=x_1^0-n1, y_1^0'=y_1^post3, -y_1^post3 >= 0, cost: 2*n1 New rule: l1 -> l1 : x_1^0'=x_1^0-n1, y_1^0'=y_1^post3, y_1^post3 <= 0, cost: 2*n1 Applied deletion Removed the following rules: 12 13 Accelerated simple loops Start location: l4 16: l1 -> [5] : -1+y_1^post3 >= 0, cost: NONTERM 17: l1 -> l1 : x_1^0'=x_1^0+n3, y_1^0'=y_1^post3, -1+y_1^post3 >= 0, cost: 2*n3 18: l1 -> [5] : y_1^post3 <= 0, cost: NONTERM 19: l1 -> l1 : x_1^0'=x_1^0-n1, y_1^0'=y_1^post3, y_1^post3 <= 0, cost: 2*n1 11: l4 -> l1 : x_1^0'=2, TRUE, cost: 2 Applied chaining First rule: l4 -> l1 : x_1^0'=2, TRUE, cost: 2 Second rule: l1 -> [5] : -1+y_1^post3 >= 0, cost: NONTERM New rule: l4 -> [5] : TRUE, cost: NONTERM Applied chaining First rule: l4 -> l1 : x_1^0'=2, TRUE, cost: 2 Second rule: l1 -> l1 : x_1^0'=x_1^0+n3, y_1^0'=y_1^post3, -1+y_1^post3 >= 0, cost: 2*n3 New rule: l4 -> l1 : x_1^0'=2+n3, y_1^0'=y_1^post3, -1+y_1^post3 >= 0, cost: 2+2*n3 Applied chaining First rule: l4 -> l1 : x_1^0'=2, TRUE, cost: 2 Second rule: l1 -> [5] : y_1^post3 <= 0, cost: NONTERM New rule: l4 -> [5] : TRUE, cost: NONTERM Applied chaining First rule: l4 -> l1 : x_1^0'=2, TRUE, cost: 2 Second rule: l1 -> l1 : x_1^0'=x_1^0-n1, y_1^0'=y_1^post3, y_1^post3 <= 0, cost: 2*n1 New rule: l4 -> l1 : x_1^0'=2-n1, y_1^0'=y_1^post3, y_1^post3 <= 0, cost: 2+2*n1 Applied deletion Removed the following rules: 16 17 18 19 Chained accelerated rules with incoming rules Start location: l4 11: l4 -> l1 : x_1^0'=2, TRUE, cost: 2 20: l4 -> [5] : TRUE, cost: NONTERM 21: l4 -> l1 : x_1^0'=2+n3, y_1^0'=y_1^post3, -1+y_1^post3 >= 0, cost: 2+2*n3 22: l4 -> [5] : TRUE, cost: NONTERM 23: l4 -> l1 : x_1^0'=2-n1, y_1^0'=y_1^post3, y_1^post3 <= 0, cost: 2+2*n1 Removed unreachable locations and irrelevant leafs Start location: l4 20: l4 -> [5] : TRUE, cost: NONTERM 22: l4 -> [5] : TRUE, cost: NONTERM Removed duplicate rules (ignoring updates) Start location: l4 22: l4 -> [5] : TRUE, cost: NONTERM Computing asymptotic complexity Proved nontermination of rule 22 via SMT. Proved the following lower bound Complexity: Nonterm Cpx degree: Nonterm Solved cost: NONTERM Rule cost: NONTERM Rule guard: TRUE