unknown Initial ITS Start location: [1] Program variables: i j k n 0: [1] -> [2] : k'=nondet, T, cost: 1 1: [2] -> [3] : i'=nondet1, T, cost: 1 2: [3] -> [4] : j'=nondet2, T, cost: 1 3: [4] -> [5] : n'=nondet3, T, cost: 1 4: [5] -> [7] : -1+k >= 0, cost: 1 16: [5] -> [6] : -1+k < 0, cost: 1 5: [7] -> [8] : i'=0, T, cost: 1 6: [8] -> [9] : -n+i < 0, cost: 1 14: [8] -> [15] : -n+i >= 0, cost: 1 7: [9] -> [10] : j'=0, T, cost: 1 8: [10] -> [11] : j-i <= 0, cost: 1 11: [10] -> [13] : j-i > 0, cost: 1 9: [11] -> [12] : j'=j+k, T, cost: 1 10: [12] -> [10] : T, cost: 1 12: [13] -> [14] : i'=1+i, T, cost: 1 13: [14] -> [8] : T, cost: 1 15: [15] -> [6] : T, cost: 1 Chained Linear Paths Start location: [1] Program variables: i j k n 19: [1] -> [5] : i'=nondet1, j'=nondet2, k'=nondet, n'=nondet3, T, cost: 1 16: [5] -> [6] : -1+k < 0, cost: 1 20: [5] -> [8] : i'=0, -1+k >= 0, cost: 1 21: [8] -> [10] : j'=0, -n+i < 0, cost: 1 22: [8] -> [6] : -n+i >= 0, cost: 1 25: [10] -> [10] : j'=j+k, j-i <= 0, cost: 1 26: [10] -> [8] : i'=1+i, j-i > 0, cost: 1 Eliminating location [2] by chaining: Applied chaining First rule: [1] -> [2] : k'=nondet, T, cost: 1 Second rule: [2] -> [3] : i'=nondet1, T, cost: 1 New rule: [1] -> [3] : i'=nondet1, k'=nondet, T, cost: 1 Applied deletion Removed the following rules: 0 1 Eliminating location [3] by chaining: Applied chaining First rule: [1] -> [3] : i'=nondet1, k'=nondet, T, cost: 1 Second rule: [3] -> [4] : j'=nondet2, T, cost: 1 New rule: [1] -> [4] : i'=nondet1, j'=nondet2, k'=nondet, T, cost: 1 Applied deletion Removed the following rules: 2 17 Eliminating location [4] by chaining: Applied chaining First rule: [1] -> [4] : i'=nondet1, j'=nondet2, k'=nondet, T, cost: 1 Second rule: [4] -> [5] : n'=nondet3, T, cost: 1 New rule: [1] -> [5] : i'=nondet1, j'=nondet2, k'=nondet, n'=nondet3, T, cost: 1 Applied deletion Removed the following rules: 3 18 Eliminating location [7] by chaining: Applied chaining First rule: [5] -> [7] : -1+k >= 0, cost: 1 Second rule: [7] -> [8] : i'=0, T, cost: 1 New rule: [5] -> [8] : i'=0, -1+k >= 0, cost: 1 Applied deletion Removed the following rules: 4 5 Eliminating location [9] by chaining: Applied chaining First rule: [8] -> [9] : -n+i < 0, cost: 1 Second rule: [9] -> [10] : j'=0, T, cost: 1 New rule: [8] -> [10] : j'=0, -n+i < 0, cost: 1 Applied deletion Removed the following rules: 6 7 Eliminating location [15] by chaining: Applied chaining First rule: [8] -> [15] : -n+i >= 0, cost: 1 Second rule: [15] -> [6] : T, cost: 1 New rule: [8] -> [6] : -n+i >= 0, cost: 1 Applied deletion Removed the following rules: 14 15 Eliminating location [11] by chaining: Applied chaining First rule: [10] -> [11] : j-i <= 0, cost: 1 Second rule: [11] -> [12] : j'=j+k, T, cost: 1 New rule: [10] -> [12] : j'=j+k, j-i <= 0, cost: 1 Applied deletion Removed the following rules: 8 9 Eliminating location [13] by chaining: Applied chaining First rule: [10] -> [13] : j-i > 0, cost: 1 Second rule: [13] -> [14] : i'=1+i, T, cost: 1 New rule: [10] -> [14] : i'=1+i, j-i > 0, cost: 1 Applied deletion Removed the following rules: 11 12 Eliminating location [12] by chaining: Applied chaining First rule: [10] -> [12] : j'=j+k, j-i <= 0, cost: 1 Second rule: [12] -> [10] : T, cost: 1 New rule: [10] -> [10] : j'=j+k, j-i <= 0, cost: 1 Applied deletion Removed the following rules: 10 23 Eliminating location [14] by chaining: Applied chaining First rule: [10] -> [14] : i'=1+i, j-i > 0, cost: 1 Second rule: [14] -> [8] : T, cost: 1 New rule: [10] -> [8] : i'=1+i, j-i > 0, cost: 1 Applied deletion Removed the following rules: 13 24 Step with 19 Trace 19[T] Blocked [{}, {}] Step with 16 Trace 19[T], 16[(-1+k < 0)] Blocked [{}, {}, {}] Backtrack Trace 19[T] Blocked [{}, {16[T]}] Step with 20 Trace 19[T], 20[(-1+k >= 0)] Blocked [{}, {16[T]}, {}] Step with 22 Trace 19[T], 20[(-1+k >= 0)], 22[(-n+i >= 0)] Blocked [{}, {16[T]}, {}, {}] Backtrack Trace 19[T], 20[(-1+k >= 0)] Blocked [{}, {16[T]}, {22[T]}] Step with 21 Trace 19[T], 20[(-1+k >= 0)], 21[(-n+i < 0)] Blocked [{}, {16[T]}, {22[T]}, {}] Step with 25 Trace 19[T], 20[(-1+k >= 0)], 21[(-n+i < 0)], 25[(j-i <= 0)] Blocked [{}, {16[T]}, {22[T]}, {}, {}] Accelerate Start location: [1] Program variables: i j k n 19: [1] -> [5] : i'=nondet1, j'=nondet2, k'=nondet, n'=nondet3, T, cost: 1 16: [5] -> [6] : -1+k < 0, cost: 1 20: [5] -> [8] : i'=0, -1+k >= 0, cost: 1 21: [8] -> [10] : j'=0, -n+i < 0, cost: 1 22: [8] -> [6] : -n+i >= 0, cost: 1 25: [10] -> [10] : j'=j+k, j-i <= 0, cost: 1 26: [10] -> [8] : i'=1+i, j-i > 0, cost: 1 27: [10] -> LoAT_sink : (-j+i >= 0 /\ k <= 0), cost: NONTERM 28: [10] -> [10] : j'=n7*k+j, (-(-1+n7)*k-j+i >= 0 /\ -1+n7 >= 0 /\ -j+i >= 0), cost: 1 Certificate of Non-Termination Original rule: [10] -> [10] : j'=j+k, (j-i <= 0), cost: 1 New rule: [10] -> LoAT_sink : (-j+i >= 0 /\ k <= 0), cost: NONTERM -j+i >= 0 [0]: eventual decrease yields (-(-1+n7)*k-j+i >= 0 /\ -j+i >= 0) -j+i >= 0 [1]: eventual increase yields (-j+i >= 0 /\ k <= 0) Replacement map: {-j+i >= 0 -> (-j+i >= 0 /\ k <= 0)} Loop Acceleration Original rule: [10] -> [10] : j'=j+k, (j-i <= 0), cost: 1 New rule: [10] -> [10] : j'=n7*k+j, (-(-1+n7)*k-j+i >= 0 /\ -1+n7 >= 0 /\ -j+i >= 0), cost: 1 -j+i >= 0 [0]: eventual decrease yields (-(-1+n7)*k-j+i >= 0 /\ -j+i >= 0) -j+i >= 0 [1]: eventual increase yields (-j+i >= 0 /\ k <= 0) Replacement map: {-j+i >= 0 -> (-(-1+n7)*k-j+i >= 0 /\ -j+i >= 0)} Trace 19[T], 20[(-1+k >= 0)], 21[(-n+i < 0)], 28[(-(-1+n7)*k-j+i >= 0 /\ -1+n7 >= 0 /\ -j+i >= 0)] Blocked [{}, {16[T]}, {22[T]}, {}, {25[T], 28[T]}] Step with 26 Trace 19[T], 20[(-1+k >= 0)], 21[(-n+i < 0)], 28[(-(-1+n7)*k-j+i >= 0 /\ -1+n7 >= 0 /\ -j+i >= 0)], 26[(j-i > 0)] Blocked [{}, {16[T]}, {22[T]}, {}, {25[T], 27[T], 28[T]}, {}] Accelerate Start location: [1] Program variables: i j k n 19: [1] -> [5] : i'=nondet1, j'=nondet2, k'=nondet, n'=nondet3, T, cost: 1 16: [5] -> [6] : -1+k < 0, cost: 1 20: [5] -> [8] : i'=0, -1+k >= 0, cost: 1 21: [8] -> [10] : j'=0, -n+i < 0, cost: 1 22: [8] -> [6] : -n+i >= 0, cost: 1 29: [8] -> [8] : i'=n10+i, j'=n71*k, (1+n71*k-n10-i > 0 /\ 1+n-n10-i > 0 /\ -1+n10 >= 0 /\ -(-1+n71)*k+i >= 0 /\ -1+n71 >= 0 /\ i >= 0), cost: 1 25: [10] -> [10] : j'=j+k, j-i <= 0, cost: 1 26: [10] -> [8] : i'=1+i, j-i > 0, cost: 1 27: [10] -> LoAT_sink : (-j+i >= 0 /\ k <= 0), cost: NONTERM 28: [10] -> [10] : j'=n7*k+j, (-(-1+n7)*k-j+i >= 0 /\ -1+n7 >= 0 /\ -j+i >= 0), cost: 1 Loop Acceleration Original rule: [8] -> [8] : i'=1+i, j'=n71*k, (n71*k-i > 0 /\ -n+i < 0 /\ -(-1+n71)*k+i >= 0 /\ -1+n71 >= 0 /\ i >= 0), cost: 1 New rule: [8] -> [8] : i'=n10+i, j'=n71*k, (1+n71*k-n10-i > 0 /\ 1+n-n10-i > 0 /\ -1+n10 >= 0 /\ -(-1+n71)*k+i >= 0 /\ -1+n71 >= 0 /\ i >= 0), cost: 1 n-i > 0 [0]: montonic decrease yields 1+n-n10-i > 0 n-i > 0 [1]: eventual increase yields (1 <= 0 /\ n-i > 0) n71*k-i > 0 [0]: montonic decrease yields 1+n71*k-n10-i > 0 n71*k-i > 0 [1]: eventual increase yields (1 <= 0 /\ n71*k-i > 0) -(-1+n71)*k+i >= 0 [0]: monotonic increase yields -(-1+n71)*k+i >= 0 -1+n71 >= 0 [0]: monotonic increase yields -1+n71 >= 0 i >= 0 [0]: monotonic increase yields i >= 0 Replacement map: {n-i > 0 -> 1+n-n10-i > 0, n71*k-i > 0 -> 1+n71*k-n10-i > 0, -(-1+n71)*k+i >= 0 -> -(-1+n71)*k+i >= 0, -1+n71 >= 0 -> -1+n71 >= 0, i >= 0 -> i >= 0} Trace 19[T], 20[(-1+k >= 0)], 29[(1+n71*k-n10-i > 0 /\ 1+n-n10-i > 0 /\ -1+n10 >= 0 /\ -(-1+n71)*k+i >= 0 /\ -1+n71 >= 0 /\ i >= 0)] Blocked [{}, {16[T]}, {22[T]}, {29[T]}] Step with 22 Trace 19[T], 20[(-1+k >= 0)], 29[(1+n71*k-n10-i > 0 /\ 1+n-n10-i > 0 /\ -1+n10 >= 0 /\ -(-1+n71)*k+i >= 0 /\ -1+n71 >= 0 /\ i >= 0)], 22[(-n+i >= 0)] Blocked [{}, {16[T]}, {22[T]}, {29[T]}, {}] Backtrack Trace 19[T], 20[(-1+k >= 0)], 29[(1+n71*k-n10-i > 0 /\ 1+n-n10-i > 0 /\ -1+n10 >= 0 /\ -(-1+n71)*k+i >= 0 /\ -1+n71 >= 0 /\ i >= 0)] Blocked [{}, {16[T]}, {22[T]}, {22[T], 29[T]}] Step with 21 Trace 19[T], 20[(-1+k >= 0)], 29[(1+n71*k-n10-i > 0 /\ 1+n-n10-i > 0 /\ -1+n10 >= 0 /\ -(-1+n71)*k+i >= 0 /\ -1+n71 >= 0 /\ i >= 0)], 21[(-n+i < 0)] Blocked [{}, {16[T]}, {22[T]}, {22[T], 29[T]}, {}] Step with 28 Trace 19[T], 20[(-1+k >= 0)], 29[(1+n71*k-n10-i > 0 /\ 1+n-n10-i > 0 /\ -1+n10 >= 0 /\ -(-1+n71)*k+i >= 0 /\ -1+n71 >= 0 /\ i >= 0)], 21[(-n+i < 0)], 28[(-(-1+n7)*k-j+i >= 0 /\ -1+n7 >= 0 /\ -j+i >= 0)] Blocked [{}, {16[T]}, {22[T]}, {22[T], 29[T]}, {26[T], 27[T]}, {28[T]}] Step with 25 Trace 19[T], 20[(-1+k >= 0)], 29[(1+n71*k-n10-i > 0 /\ 1+n-n10-i > 0 /\ -1+n10 >= 0 /\ -(-1+n71)*k+i >= 0 /\ -1+n71 >= 0 /\ i >= 0)], 21[(-n+i < 0)], 28[(-(-1+n7)*k-j+i >= 0 /\ -1+n7 >= 0 /\ -j+i >= 0)], 25[(j-i <= 0)] Blocked [{}, {16[T]}, {22[T]}, {22[T], 29[T]}, {26[T], 27[T]}, {27[T], 28[T]}, {}] Covered Trace 19[T], 20[(-1+k >= 0)], 29[(1+n71*k-n10-i > 0 /\ 1+n-n10-i > 0 /\ -1+n10 >= 0 /\ -(-1+n71)*k+i >= 0 /\ -1+n71 >= 0 /\ i >= 0)], 21[(-n+i < 0)], 28[(-(-1+n7)*k-j+i >= 0 /\ -1+n7 >= 0 /\ -j+i >= 0)] Blocked [{}, {16[T]}, {22[T]}, {22[T], 29[T]}, {26[T], 27[T]}, {25[T], 27[T], 28[T]}] Step with 26 Trace 19[T], 20[(-1+k >= 0)], 29[(1+n71*k-n10-i > 0 /\ 1+n-n10-i > 0 /\ -1+n10 >= 0 /\ -(-1+n71)*k+i >= 0 /\ -1+n71 >= 0 /\ i >= 0)], 21[(-n+i < 0)], 28[(-(-1+n7)*k-j+i >= 0 /\ -1+n7 >= 0 /\ -j+i >= 0)], 26[(j-i > 0)] Blocked [{}, {16[T]}, {22[T]}, {22[T], 29[T]}, {26[T], 27[T]}, {25[T], 27[T], 28[T]}, {}] Covered Trace 19[T], 20[(-1+k >= 0)], 29[(1+n71*k-n10-i > 0 /\ 1+n-n10-i > 0 /\ -1+n10 >= 0 /\ -(-1+n71)*k+i >= 0 /\ -1+n71 >= 0 /\ i >= 0)], 21[(-n+i < 0)], 28[(-(-1+n7)*k-j+i >= 0 /\ -1+n7 >= 0 /\ -j+i >= 0)] Blocked [{}, {16[T]}, {22[T]}, {22[T], 29[T]}, {26[T], 27[T]}, {25[T], 26[T], 27[T], 28[T]}] Backtrack Trace 19[T], 20[(-1+k >= 0)], 29[(1+n71*k-n10-i > 0 /\ 1+n-n10-i > 0 /\ -1+n10 >= 0 /\ -(-1+n71)*k+i >= 0 /\ -1+n71 >= 0 /\ i >= 0)], 21[(-n+i < 0)] Blocked [{}, {16[T]}, {22[T]}, {22[T], 29[T]}, {26[T], 27[T], 28[T]}] Step with 25 Trace 19[T], 20[(-1+k >= 0)], 29[(1+n71*k-n10-i > 0 /\ 1+n-n10-i > 0 /\ -1+n10 >= 0 /\ -(-1+n71)*k+i >= 0 /\ -1+n71 >= 0 /\ i >= 0)], 21[(-n+i < 0)], 25[(j-i <= 0)] Blocked [{}, {16[T]}, {22[T]}, {22[T], 29[T]}, {26[T], 27[T], 28[T]}, {}] Covered Trace 19[T], 20[(-1+k >= 0)], 29[(1+n71*k-n10-i > 0 /\ 1+n-n10-i > 0 /\ -1+n10 >= 0 /\ -(-1+n71)*k+i >= 0 /\ -1+n71 >= 0 /\ i >= 0)], 21[(-n+i < 0)] Blocked [{}, {16[T]}, {22[T]}, {22[T], 29[T]}, {25[T], 26[T], 27[T], 28[T]}] Backtrack Trace 19[T], 20[(-1+k >= 0)], 29[(1+n71*k-n10-i > 0 /\ 1+n-n10-i > 0 /\ -1+n10 >= 0 /\ -(-1+n71)*k+i >= 0 /\ -1+n71 >= 0 /\ i >= 0)] Blocked [{}, {16[T]}, {22[T]}, {21[T], 22[T], 29[T]}] Backtrack Trace 19[T], 20[(-1+k >= 0)] Blocked [{}, {16[T]}, {22[T], 29[T]}] Step with 21 Trace 19[T], 20[(-1+k >= 0)], 21[(-n+i < 0)] Blocked [{}, {16[T]}, {22[T], 29[T]}, {}] Step with 25 Trace 19[T], 20[(-1+k >= 0)], 21[(-n+i < 0)], 25[(j-i <= 0)] Blocked [{}, {16[T]}, {22[T], 29[T]}, {27[T]}, {}] Covered Trace 19[T], 20[(-1+k >= 0)], 21[(-n+i < 0)] Blocked [{}, {16[T]}, {22[T], 29[T]}, {25[T], 27[T]}] Step with 28 Trace 19[T], 20[(-1+k >= 0)], 21[(-n+i < 0)], 28[(-(-1+n7)*k-j+i >= 0 /\ -1+n7 >= 0 /\ -j+i >= 0)] Blocked [{}, {16[T]}, {22[T], 29[T]}, {25[T], 26[T], 27[T]}, {28[T]}] Step with 26 Trace 19[T], 20[(-1+k >= 0)], 21[(-n+i < 0)], 28[(-(-1+n7)*k-j+i >= 0 /\ -1+n7 >= 0 /\ -j+i >= 0)], 26[(j-i > 0)] Blocked [{}, {16[T]}, {22[T], 29[T]}, {25[T], 26[T], 27[T]}, {25[T], 27[T], 28[T]}, {}] Covered Trace 19[T], 20[(-1+k >= 0)], 21[(-n+i < 0)], 28[(-(-1+n7)*k-j+i >= 0 /\ -1+n7 >= 0 /\ -j+i >= 0)] Blocked [{}, {16[T]}, {22[T], 29[T]}, {25[T], 26[T], 27[T]}, {25[T], 26[T], 27[T], 28[T]}] Backtrack Trace 19[T], 20[(-1+k >= 0)], 21[(-n+i < 0)] Blocked [{}, {16[T]}, {22[T], 29[T]}, {25[T], 26[T], 27[T], 28[T]}] Backtrack Trace 19[T], 20[(-1+k >= 0)] Blocked [{}, {16[T]}, {21[T], 22[T], 29[T]}] Backtrack Trace 19[T] Blocked [{}, {16[T], 20[T]}] Backtrack Trace Blocked [{19[T]}] Accept unknown Build SHA: a05f16bf13df659c382799650051f91bf6828c7b