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