NO Initial ITS Start location: [1] Program variables: a b i j k l m 0: [1] -> [2] : i'=0, T, cost: 1 1: [2] -> [3] : -100+i < 0, cost: 1 26: [2] -> [23] : -100+i >= 0, cost: 1 2: [3] -> [4] : a'=2+i, T, cost: 1 3: [4] -> [5] : j'=0, T, cost: 1 4: [5] -> [6] : -a+j < 0, cost: 1 23: [5] -> [21] : -a+j >= 0, cost: 1 5: [6] -> [7] : k'=3+j+i, T, cost: 1 6: [7] -> [8] : k >= 0, cost: 1 20: [7] -> [19] : k < 0, cost: 1 7: [8] -> [9] : b'=4+j+i+k, T, cost: 1 8: [9] -> [10] : l'=0, T, cost: 1 9: [10] -> [11] : -b+l < 0, cost: 1 17: [10] -> [17] : -b+l >= 0, cost: 1 10: [11] -> [12] : m'=1000+l+j+i+k, T, cost: 1 11: [12] -> [13] : m >= 0, cost: 1 14: [12] -> [15] : m < 0, cost: 1 12: [13] -> [14] : m'=m, T, cost: 1 13: [14] -> [12] : T, cost: 1 15: [15] -> [16] : l'=1+l, T, cost: 1 16: [16] -> [10] : T, cost: 1 18: [17] -> [18] : k'=-1+k, T, cost: 1 19: [18] -> [7] : T, cost: 1 21: [19] -> [20] : j'=1+j, T, cost: 1 22: [20] -> [5] : T, cost: 1 24: [21] -> [22] : i'=1+i, T, cost: 1 25: [22] -> [2] : T, cost: 1 Chained Linear Paths Start location: [1] Program variables: a b i j k l m 0: [1] -> [2] : i'=0, T, cost: 1 26: [2] -> [23] : -100+i >= 0, cost: 1 28: [2] -> [5] : a'=2+i, j'=0, -100+i < 0, cost: 1 29: [5] -> [7] : k'=3+j+i, -a+j < 0, cost: 1 31: [5] -> [2] : i'=1+i, -a+j >= 0, cost: 1 34: [7] -> [10] : b'=4+j+i+k, l'=0, k >= 0, cost: 1 35: [7] -> [5] : j'=1+j, k < 0, cost: 1 36: [10] -> [12] : m'=1000+l+j+i+k, -b+l < 0, cost: 1 38: [10] -> [7] : k'=-1+k, -b+l >= 0, cost: 1 41: [12] -> [12] : m'=m, m >= 0, cost: 1 42: [12] -> [10] : l'=1+l, m < 0, cost: 1 Eliminating location [3] by chaining: Applied chaining First rule: [2] -> [3] : -100+i < 0, cost: 1 Second rule: [3] -> [4] : a'=2+i, T, cost: 1 New rule: [2] -> [4] : a'=2+i, -100+i < 0, cost: 1 Applied deletion Removed the following rules: 1 2 Eliminating location [4] by chaining: Applied chaining First rule: [2] -> [4] : a'=2+i, -100+i < 0, cost: 1 Second rule: [4] -> [5] : j'=0, T, cost: 1 New rule: [2] -> [5] : a'=2+i, j'=0, -100+i < 0, cost: 1 Applied deletion Removed the following rules: 3 27 Eliminating location [6] by chaining: Applied chaining First rule: [5] -> [6] : -a+j < 0, cost: 1 Second rule: [6] -> [7] : k'=3+j+i, T, cost: 1 New rule: [5] -> [7] : k'=3+j+i, -a+j < 0, cost: 1 Applied deletion Removed the following rules: 4 5 Eliminating location [21] by chaining: Applied chaining First rule: [5] -> [21] : -a+j >= 0, cost: 1 Second rule: [21] -> [22] : i'=1+i, T, cost: 1 New rule: [5] -> [22] : i'=1+i, -a+j >= 0, cost: 1 Applied deletion Removed the following rules: 23 24 Eliminating location [22] by chaining: Applied chaining First rule: [5] -> [22] : i'=1+i, -a+j >= 0, cost: 1 Second rule: [22] -> [2] : T, cost: 1 New rule: [5] -> [2] : i'=1+i, -a+j >= 0, cost: 1 Applied deletion Removed the following rules: 25 30 Eliminating location [8] by chaining: Applied chaining First rule: [7] -> [8] : k >= 0, cost: 1 Second rule: [8] -> [9] : b'=4+j+i+k, T, cost: 1 New rule: [7] -> [9] : b'=4+j+i+k, k >= 0, cost: 1 Applied deletion Removed the following rules: 6 7 Eliminating location [19] by chaining: Applied chaining First rule: [7] -> [19] : k < 0, cost: 1 Second rule: [19] -> [20] : j'=1+j, T, cost: 1 New rule: [7] -> [20] : j'=1+j, k < 0, cost: 1 Applied deletion Removed the following rules: 20 21 Eliminating location [9] by chaining: Applied chaining First rule: [7] -> [9] : b'=4+j+i+k, k >= 0, cost: 1 Second rule: [9] -> [10] : l'=0, T, cost: 1 New rule: [7] -> [10] : b'=4+j+i+k, l'=0, k >= 0, cost: 1 Applied deletion Removed the following rules: 8 32 Eliminating location [20] by chaining: Applied chaining First rule: [7] -> [20] : j'=1+j, k < 0, cost: 1 Second rule: [20] -> [5] : T, cost: 1 New rule: [7] -> [5] : j'=1+j, k < 0, cost: 1 Applied deletion Removed the following rules: 22 33 Eliminating location [11] by chaining: Applied chaining First rule: [10] -> [11] : -b+l < 0, cost: 1 Second rule: [11] -> [12] : m'=1000+l+j+i+k, T, cost: 1 New rule: [10] -> [12] : m'=1000+l+j+i+k, -b+l < 0, cost: 1 Applied deletion Removed the following rules: 9 10 Eliminating location [17] by chaining: Applied chaining First rule: [10] -> [17] : -b+l >= 0, cost: 1 Second rule: [17] -> [18] : k'=-1+k, T, cost: 1 New rule: [10] -> [18] : k'=-1+k, -b+l >= 0, cost: 1 Applied deletion Removed the following rules: 17 18 Eliminating location [18] by chaining: Applied chaining First rule: [10] -> [18] : k'=-1+k, -b+l >= 0, cost: 1 Second rule: [18] -> [7] : T, cost: 1 New rule: [10] -> [7] : k'=-1+k, -b+l >= 0, cost: 1 Applied deletion Removed the following rules: 19 37 Eliminating location [13] by chaining: Applied chaining First rule: [12] -> [13] : m >= 0, cost: 1 Second rule: [13] -> [14] : m'=m, T, cost: 1 New rule: [12] -> [14] : m'=m, m >= 0, cost: 1 Applied deletion Removed the following rules: 11 12 Eliminating location [15] by chaining: Applied chaining First rule: [12] -> [15] : m < 0, cost: 1 Second rule: [15] -> [16] : l'=1+l, T, cost: 1 New rule: [12] -> [16] : l'=1+l, m < 0, cost: 1 Applied deletion Removed the following rules: 14 15 Eliminating location [14] by chaining: Applied chaining First rule: [12] -> [14] : m'=m, m >= 0, cost: 1 Second rule: [14] -> [12] : T, cost: 1 New rule: [12] -> [12] : m'=m, m >= 0, cost: 1 Applied deletion Removed the following rules: 13 39 Eliminating location [16] by chaining: Applied chaining First rule: [12] -> [16] : l'=1+l, m < 0, cost: 1 Second rule: [16] -> [10] : T, cost: 1 New rule: [12] -> [10] : l'=1+l, m < 0, cost: 1 Applied deletion Removed the following rules: 16 40 Simplified Transitions Start location: [1] Program variables: a b i j k l m 0: [1] -> [2] : i'=0, T, cost: 1 26: [2] -> [23] : -100+i >= 0, cost: 1 28: [2] -> [5] : a'=2+i, j'=0, -100+i < 0, cost: 1 29: [5] -> [7] : k'=3+j+i, -a+j < 0, cost: 1 31: [5] -> [2] : i'=1+i, -a+j >= 0, cost: 1 34: [7] -> [10] : b'=4+j+i+k, l'=0, k >= 0, cost: 1 35: [7] -> [5] : j'=1+j, k < 0, cost: 1 36: [10] -> [12] : m'=1000+l+j+i+k, -b+l < 0, cost: 1 38: [10] -> [7] : k'=-1+k, -b+l >= 0, cost: 1 42: [12] -> [10] : l'=1+l, m < 0, cost: 1 43: [12] -> [12] : m >= 0, cost: 1 Removed Trivial Updates Original rule: [12] -> [12] : m'=m, m >= 0, cost: 1 New rule: [12] -> [12] : m >= 0, cost: 1 Step with 0 Trace 0[T] Blocked [{}, {}] Step with 28 Trace 0[T], 28[(-100+i < 0)] Blocked [{}, {26[T]}, {}] Step with 29 Trace 0[T], 28[(-100+i < 0)], 29[(-a+j < 0)] Blocked [{}, {26[T]}, {}, {}] Step with 34 Trace 0[T], 28[(-100+i < 0)], 29[(-a+j < 0)], 34[(k >= 0)] Blocked [{}, {26[T]}, {}, {}, {}] Step with 36 Trace 0[T], 28[(-100+i < 0)], 29[(-a+j < 0)], 34[(k >= 0)], 36[(-b+l < 0)] Blocked [{}, {26[T]}, {}, {}, {}, {}] Step with 43 Trace 0[T], 28[(-100+i < 0)], 29[(-a+j < 0)], 34[(k >= 0)], 36[(-b+l < 0)], 43[(m >= 0)] Blocked [{}, {26[T]}, {}, {}, {}, {42[T]}, {}] Nonterm Start location: [1] Program variables: a b i j k l m 0: [1] -> [2] : i'=0, T, cost: 1 26: [2] -> [23] : -100+i >= 0, cost: 1 28: [2] -> [5] : a'=2+i, j'=0, -100+i < 0, cost: 1 29: [5] -> [7] : k'=3+j+i, -a+j < 0, cost: 1 31: [5] -> [2] : i'=1+i, -a+j >= 0, cost: 1 34: [7] -> [10] : b'=4+j+i+k, l'=0, k >= 0, cost: 1 35: [7] -> [5] : j'=1+j, k < 0, cost: 1 36: [10] -> [12] : m'=1000+l+j+i+k, -b+l < 0, cost: 1 38: [10] -> [7] : k'=-1+k, -b+l >= 0, cost: 1 42: [12] -> [10] : l'=1+l, m < 0, cost: 1 43: [12] -> [12] : m >= 0, cost: 1 44: [12] -> LoAT_sink : (-1+n >= 0 /\ m >= 0), cost: NONTERM Certificate of Non-Termination Original rule: [12] -> [12] : (m >= 0), cost: 1 New rule: [12] -> LoAT_sink : (-1+n >= 0 /\ m >= 0), cost: NONTERM m >= 0 [0]: monotonic increase yields m >= 0 Replacement map: {m >= 0 -> m >= 0} Step with 44 Trace 0[T], 28[(-100+i < 0)], 29[(-a+j < 0)], 34[(k >= 0)], 36[(-b+l < 0)], 44[(-1+n >= 0 /\ m >= 0)] Blocked [{}, {26[T]}, {}, {}, {}, {42[T]}, {44[T]}] Refute Counterexample [ a=0 b=0 i=0 j=0 k=0 l=0 m=0 ] 0 [ a=2 b=0 i=0 j=0 k=0 l=0 m=0 ] 28 [ a=2 b=0 i=0 j=0 k=3 l=0 m=0 ] 29 [ a=2 b=7 i=0 j=0 k=3 l=0 m=0 ] 34 [ a=2 b=7 i=0 j=0 k=3 l=0 m=1003 ] 36 [ a=0 b=0 i=i j=0 k=0 l=0 m=0 ] 44 NO Build SHA: a05f16bf13df659c382799650051f91bf6828c7b