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