NO Initial ITS Start location: [1] Program variables: i 0: [1] -> [2] : i'=nondet, T, cost: 1 1: [2] -> [3] : (i < 0 \/ i > 0), cost: 1 14: [2] -> [12] : (i <= 0 /\ i >= 0), cost: 1 2: [3] -> [5] : (-5+i < 0 /\ 5+i > 0), cost: 1 12: [3] -> [4] : (-5+i >= 0 \/ 5+i <= 0), cost: 1 13: [4] -> [2] : T, cost: 1 3: [5] -> [7] : i < 0, cost: 1 6: [5] -> [6] : i >= 0, cost: 1 7: [6] -> [10] : i > 0, cost: 1 10: [6] -> [9] : i <= 0, cost: 1 4: [7] -> [8] : i'=1+i, T, cost: 1 5: [8] -> [6] : T, cost: 1 11: [9] -> [4] : T, cost: 1 8: [10] -> [11] : i'=-1+i, T, cost: 1 9: [11] -> [9] : T, cost: 1 Chained Linear Paths Start location: [1] Program variables: i 0: [1] -> [2] : i'=nondet, T, cost: 1 1: [2] -> [3] : (i < 0 \/ i > 0), cost: 1 14: [2] -> [12] : (i <= 0 /\ i >= 0), cost: 1 2: [3] -> [5] : (-5+i < 0 /\ 5+i > 0), cost: 1 12: [3] -> [4] : (-5+i >= 0 \/ 5+i <= 0), cost: 1 13: [4] -> [2] : T, cost: 1 6: [5] -> [6] : i >= 0, cost: 1 16: [5] -> [6] : i'=1+i, i < 0, cost: 1 10: [6] -> [9] : i <= 0, cost: 1 18: [6] -> [9] : i'=-1+i, i > 0, cost: 1 11: [9] -> [4] : T, cost: 1 Eliminating location [7] by chaining: Applied chaining First rule: [5] -> [7] : i < 0, cost: 1 Second rule: [7] -> [8] : i'=1+i, T, cost: 1 New rule: [5] -> [8] : i'=1+i, i < 0, cost: 1 Applied deletion Removed the following rules: 3 4 Eliminating location [8] by chaining: Applied chaining First rule: [5] -> [8] : i'=1+i, i < 0, cost: 1 Second rule: [8] -> [6] : T, cost: 1 New rule: [5] -> [6] : i'=1+i, i < 0, cost: 1 Applied deletion Removed the following rules: 5 15 Eliminating location [10] by chaining: Applied chaining First rule: [6] -> [10] : i > 0, cost: 1 Second rule: [10] -> [11] : i'=-1+i, T, cost: 1 New rule: [6] -> [11] : i'=-1+i, i > 0, cost: 1 Applied deletion Removed the following rules: 7 8 Eliminating location [11] by chaining: Applied chaining First rule: [6] -> [11] : i'=-1+i, i > 0, cost: 1 Second rule: [11] -> [9] : T, cost: 1 New rule: [6] -> [9] : i'=-1+i, i > 0, cost: 1 Applied deletion Removed the following rules: 9 17 Step with 0 Trace 0[T] Blocked [{}, {}] Step with 14 Trace 0[T], 14[(i <= 0 /\ i >= 0)] Blocked [{}, {}, {}] Backtrack Trace 0[T] Blocked [{}, {14[T]}] Step with 1 Trace 0[T], 1[(i > 0)] Blocked [{}, {14[T]}, {}] Step with 2 Trace 0[T], 1[(i > 0)], 2[(-5+i < 0 /\ 5+i > 0)] Blocked [{}, {14[T]}, {}, {}] Step with 6 Trace 0[T], 1[(i > 0)], 2[(-5+i < 0 /\ 5+i > 0)], 6[(i >= 0)] Blocked [{}, {14[T]}, {}, {}, {}] Step with 18 Trace 0[T], 1[(i > 0)], 2[(-5+i < 0 /\ 5+i > 0)], 6[(i >= 0)], 18[(i > 0)] Blocked [{}, {14[T]}, {}, {}, {10[T]}, {}] Step with 11 Trace 0[T], 1[(i > 0)], 2[(-5+i < 0 /\ 5+i > 0)], 6[(i >= 0)], 18[(i > 0)], 11[T] Blocked [{}, {14[T]}, {}, {}, {10[T]}, {}, {}] Step with 13 Trace 0[T], 1[(i > 0)], 2[(-5+i < 0 /\ 5+i > 0)], 6[(i >= 0)], 18[(i > 0)], 11[T], 13[T] Blocked [{}, {14[T]}, {}, {}, {10[T]}, {}, {}, {}] Accelerate Start location: [1] Program variables: i 0: [1] -> [2] : i'=nondet, T, cost: 1 1: [2] -> [3] : (i < 0 \/ i > 0), cost: 1 14: [2] -> [12] : (i <= 0 /\ i >= 0), cost: 1 19: [2] -> [2] : i'=-n+i, (-1+n >= 0 /\ 5-i > 0 /\ 5+i > 0 /\ 1-n+i > 0 /\ i >= 0), cost: 1 2: [3] -> [5] : (-5+i < 0 /\ 5+i > 0), cost: 1 12: [3] -> [4] : (-5+i >= 0 \/ 5+i <= 0), cost: 1 13: [4] -> [2] : T, cost: 1 6: [5] -> [6] : i >= 0, cost: 1 16: [5] -> [6] : i'=1+i, i < 0, cost: 1 10: [6] -> [9] : i <= 0, cost: 1 18: [6] -> [9] : i'=-1+i, i > 0, cost: 1 11: [9] -> [4] : T, cost: 1 Loop Acceleration Original rule: [2] -> [2] : i'=-1+i, (-5+i < 0 /\ 5+i > 0 /\ i > 0 /\ i >= 0), cost: 1 New rule: [2] -> [2] : i'=-n+i, (-1+n >= 0 /\ 5-i > 0 /\ 5+i > 0 /\ 1-n+i > 0 /\ i >= 0), cost: 1 5-i > 0 [0]: monotonic increase yields 5-i > 0 5+i > 0 [0]: monotonic increase yields 5+i > 0, dependencies: i > 0 5+i > 0 [1]: montonic decrease yields 6-n+i > 0 5+i > 0 [2]: eventual increase yields (1 <= 0 /\ 5+i > 0) i > 0 [0]: montonic decrease yields 1-n+i > 0 i > 0 [1]: eventual increase yields (1 <= 0 /\ i > 0) i >= 0 [0]: monotonic increase yields i >= 0, dependencies: i > 0 Replacement map: {5-i > 0 -> 5-i > 0, 5+i > 0 -> 5+i > 0, i > 0 -> 1-n+i > 0, i >= 0 -> i >= 0} Trace 0[T], 19[(-1+n >= 0 /\ 5-i > 0 /\ 5+i > 0 /\ 1-n+i > 0 /\ i >= 0)] Blocked [{}, {14[T]}, {19[T]}] Step with 14 Trace 0[T], 19[(-1+n >= 0 /\ 5-i > 0 /\ 5+i > 0 /\ 1-n+i > 0 /\ i >= 0)], 14[(i <= 0 /\ i >= 0)] Blocked [{}, {14[T]}, {19[T]}, {}] Backtrack Trace 0[T], 19[(-1+n >= 0 /\ 5-i > 0 /\ 5+i > 0 /\ 1-n+i > 0 /\ i >= 0)] Blocked [{}, {14[T]}, {14[T], 19[T]}] Step with 1 Trace 0[T], 19[(-1+n >= 0 /\ 5-i > 0 /\ 5+i > 0 /\ 1-n+i > 0 /\ i >= 0)], 1[(i > 0)] Blocked [{}, {14[T]}, {14[T], 19[T]}, {}] Step with 2 Trace 0[T], 19[(-1+n >= 0 /\ 5-i > 0 /\ 5+i > 0 /\ 1-n+i > 0 /\ i >= 0)], 1[(i > 0)], 2[(-5+i < 0 /\ 5+i > 0)] Blocked [{}, {14[T]}, {14[T], 19[T]}, {}, {}] Step with 6 Trace 0[T], 19[(-1+n >= 0 /\ 5-i > 0 /\ 5+i > 0 /\ 1-n+i > 0 /\ i >= 0)], 1[(i > 0)], 2[(-5+i < 0 /\ 5+i > 0)], 6[(i >= 0)] Blocked [{}, {14[T]}, {14[T], 19[T]}, {}, {}, {}] Step with 18 Trace 0[T], 19[(-1+n >= 0 /\ 5-i > 0 /\ 5+i > 0 /\ 1-n+i > 0 /\ i >= 0)], 1[(i > 0)], 2[(-5+i < 0 /\ 5+i > 0)], 6[(i >= 0)], 18[(i > 0)] Blocked [{}, {14[T]}, {14[T], 19[T]}, {}, {}, {}, {}] Step with 11 Trace 0[T], 19[(-1+n >= 0 /\ 5-i > 0 /\ 5+i > 0 /\ 1-n+i > 0 /\ i >= 0)], 1[(i > 0)], 2[(-5+i < 0 /\ 5+i > 0)], 6[(i >= 0)], 18[(i > 0)], 11[T] Blocked [{}, {14[T]}, {14[T], 19[T]}, {}, {}, {}, {}, {}] Step with 13 Trace 0[T], 19[(-1+n >= 0 /\ 5-i > 0 /\ 5+i > 0 /\ 1-n+i > 0 /\ i >= 0)], 1[(i > 0)], 2[(-5+i < 0 /\ 5+i > 0)], 6[(i >= 0)], 18[(i > 0)], 11[T], 13[T] Blocked [{}, {14[T]}, {14[T], 19[T]}, {}, {}, {}, {}, {}, {}] Covered Trace 0[T], 19[(-1+n >= 0 /\ 5-i > 0 /\ 5+i > 0 /\ 1-n+i > 0 /\ i >= 0)], 1[(i > 0)], 2[(-5+i < 0 /\ 5+i > 0)], 6[(i >= 0)], 18[(i > 0)], 11[T] Blocked [{}, {14[T]}, {14[T], 19[T]}, {}, {}, {}, {}, {13[T]}] Backtrack Trace 0[T], 19[(-1+n >= 0 /\ 5-i > 0 /\ 5+i > 0 /\ 1-n+i > 0 /\ i >= 0)], 1[(i > 0)], 2[(-5+i < 0 /\ 5+i > 0)], 6[(i >= 0)], 18[(i > 0)] Blocked [{}, {14[T]}, {14[T], 19[T]}, {}, {}, {}, {11[T]}] Backtrack Trace 0[T], 19[(-1+n >= 0 /\ 5-i > 0 /\ 5+i > 0 /\ 1-n+i > 0 /\ i >= 0)], 1[(i > 0)], 2[(-5+i < 0 /\ 5+i > 0)], 6[(i >= 0)] Blocked [{}, {14[T]}, {14[T], 19[T]}, {}, {}, {18[T]}] Backtrack Trace 0[T], 19[(-1+n >= 0 /\ 5-i > 0 /\ 5+i > 0 /\ 1-n+i > 0 /\ i >= 0)], 1[(i > 0)], 2[(-5+i < 0 /\ 5+i > 0)] Blocked [{}, {14[T]}, {14[T], 19[T]}, {}, {6[T]}] Backtrack Trace 0[T], 19[(-1+n >= 0 /\ 5-i > 0 /\ 5+i > 0 /\ 1-n+i > 0 /\ i >= 0)], 1[(i > 0)] Blocked [{}, {14[T]}, {14[T], 19[T]}, {2[T]}] Backtrack Trace 0[T], 19[(-1+n >= 0 /\ 5-i > 0 /\ 5+i > 0 /\ 1-n+i > 0 /\ i >= 0)] Blocked [{}, {14[T]}, {1[i > 0], 14[T], 19[T]}] Backtrack Trace 0[T] Blocked [{}, {14[T], 19[T]}] Step with 1 Trace 0[T], 1[(i < 0)] Blocked [{}, {14[T], 19[T]}, {}] Step with 2 Trace 0[T], 1[(i < 0)], 2[(-5+i < 0 /\ 5+i > 0)] Blocked [{}, {14[T], 19[T]}, {}, {}] Step with 16 Trace 0[T], 1[(i < 0)], 2[(-5+i < 0 /\ 5+i > 0)], 16[(i < 0)] Blocked [{}, {14[T], 19[T]}, {}, {6[T]}, {}] Step with 10 Trace 0[T], 1[(i < 0)], 2[(-5+i < 0 /\ 5+i > 0)], 16[(i < 0)], 10[(i <= 0)] Blocked [{}, {14[T], 19[T]}, {}, {6[T]}, {18[T]}, {}] Step with 11 Trace 0[T], 1[(i < 0)], 2[(-5+i < 0 /\ 5+i > 0)], 16[(i < 0)], 10[(i <= 0)], 11[T] Blocked [{}, {14[T], 19[T]}, {}, {6[T]}, {18[T]}, {}, {}] Step with 13 Trace 0[T], 1[(i < 0)], 2[(-5+i < 0 /\ 5+i > 0)], 16[(i < 0)], 10[(i <= 0)], 11[T], 13[T] Blocked [{}, {14[T], 19[T]}, {}, {6[T]}, {18[T]}, {}, {}, {}] Accelerate Start location: [1] Program variables: i 0: [1] -> [2] : i'=nondet, T, cost: 1 1: [2] -> [3] : (i < 0 \/ i > 0), cost: 1 14: [2] -> [12] : (i <= 0 /\ i >= 0), cost: 1 19: [2] -> [2] : i'=-n+i, (-1+n >= 0 /\ 5-i > 0 /\ 5+i > 0 /\ 1-n+i > 0 /\ i >= 0), cost: 1 20: [2] -> [2] : i'=i+n2, (5-i > 0 /\ 5+i > 0 /\ 1-i-n2 > 0 /\ -1+n2 >= 0 /\ -i-n2 >= 0), cost: 1 2: [3] -> [5] : (-5+i < 0 /\ 5+i > 0), cost: 1 12: [3] -> [4] : (-5+i >= 0 \/ 5+i <= 0), cost: 1 13: [4] -> [2] : T, cost: 1 6: [5] -> [6] : i >= 0, cost: 1 16: [5] -> [6] : i'=1+i, i < 0, cost: 1 10: [6] -> [9] : i <= 0, cost: 1 18: [6] -> [9] : i'=-1+i, i > 0, cost: 1 11: [9] -> [4] : T, cost: 1 Loop Acceleration Original rule: [2] -> [2] : i'=1+i, (1+i <= 0 /\ -5+i < 0 /\ 5+i > 0 /\ i < 0), cost: 1 New rule: [2] -> [2] : i'=i+n2, (5-i > 0 /\ 5+i > 0 /\ 1-i-n2 > 0 /\ -1+n2 >= 0 /\ -i-n2 >= 0), cost: 1 -1-i >= 0 [0]: montonic decrease yields -i-n2 >= 0 -1-i >= 0 [1]: eventual increase yields (1 <= 0 /\ -1-i >= 0) 5-i > 0 [0]: monotonic increase yields 5-i > 0, dependencies: -1-i >= 0 5+i > 0 [0]: monotonic increase yields 5+i > 0 -i > 0 [0]: montonic decrease yields 1-i-n2 > 0 -i > 0 [1]: eventual increase yields (1 <= 0 /\ -i > 0) Replacement map: {-1-i >= 0 -> -i-n2 >= 0, 5-i > 0 -> 5-i > 0, 5+i > 0 -> 5+i > 0, -i > 0 -> 1-i-n2 > 0} Trace 0[T], 20[(5-i > 0 /\ 5+i > 0 /\ 1-i-n2 > 0 /\ -1+n2 >= 0 /\ -i-n2 >= 0)] Blocked [{}, {14[T], 19[T]}, {20[T]}] Step with 14 Trace 0[T], 20[(5-i > 0 /\ 5+i > 0 /\ 1-i-n2 > 0 /\ -1+n2 >= 0 /\ -i-n2 >= 0)], 14[(i <= 0 /\ i >= 0)] Blocked [{}, {14[T], 19[T]}, {20[T]}, {}] Backtrack Trace 0[T], 20[(5-i > 0 /\ 5+i > 0 /\ 1-i-n2 > 0 /\ -1+n2 >= 0 /\ -i-n2 >= 0)] Blocked [{}, {14[T], 19[T]}, {14[T], 20[T]}] Step with 1 Trace 0[T], 20[(5-i > 0 /\ 5+i > 0 /\ 1-i-n2 > 0 /\ -1+n2 >= 0 /\ -i-n2 >= 0)], 1[(i < 0)] Blocked [{}, {14[T], 19[T]}, {14[T], 20[T]}, {}] Step with 2 Trace 0[T], 20[(5-i > 0 /\ 5+i > 0 /\ 1-i-n2 > 0 /\ -1+n2 >= 0 /\ -i-n2 >= 0)], 1[(i < 0)], 2[(-5+i < 0 /\ 5+i > 0)] Blocked [{}, {14[T], 19[T]}, {14[T], 20[T]}, {}, {}] Step with 16 Trace 0[T], 20[(5-i > 0 /\ 5+i > 0 /\ 1-i-n2 > 0 /\ -1+n2 >= 0 /\ -i-n2 >= 0)], 1[(i < 0)], 2[(-5+i < 0 /\ 5+i > 0)], 16[(i < 0)] Blocked [{}, {14[T], 19[T]}, {14[T], 20[T]}, {}, {}, {}] Step with 10 Trace 0[T], 20[(5-i > 0 /\ 5+i > 0 /\ 1-i-n2 > 0 /\ -1+n2 >= 0 /\ -i-n2 >= 0)], 1[(i < 0)], 2[(-5+i < 0 /\ 5+i > 0)], 16[(i < 0)], 10[(i <= 0)] Blocked [{}, {14[T], 19[T]}, {14[T], 20[T]}, {}, {}, {}, {}] Step with 11 Trace 0[T], 20[(5-i > 0 /\ 5+i > 0 /\ 1-i-n2 > 0 /\ -1+n2 >= 0 /\ -i-n2 >= 0)], 1[(i < 0)], 2[(-5+i < 0 /\ 5+i > 0)], 16[(i < 0)], 10[(i <= 0)], 11[T] Blocked [{}, {14[T], 19[T]}, {14[T], 20[T]}, {}, {}, {}, {}, {}] Step with 13 Trace 0[T], 20[(5-i > 0 /\ 5+i > 0 /\ 1-i-n2 > 0 /\ -1+n2 >= 0 /\ -i-n2 >= 0)], 1[(i < 0)], 2[(-5+i < 0 /\ 5+i > 0)], 16[(i < 0)], 10[(i <= 0)], 11[T], 13[T] Blocked [{}, {14[T], 19[T]}, {14[T], 20[T]}, {}, {}, {}, {}, {}, {}] Covered Trace 0[T], 20[(5-i > 0 /\ 5+i > 0 /\ 1-i-n2 > 0 /\ -1+n2 >= 0 /\ -i-n2 >= 0)], 1[(i < 0)], 2[(-5+i < 0 /\ 5+i > 0)], 16[(i < 0)], 10[(i <= 0)], 11[T] Blocked [{}, {14[T], 19[T]}, {14[T], 20[T]}, {}, {}, {}, {}, {13[T]}] Backtrack Trace 0[T], 20[(5-i > 0 /\ 5+i > 0 /\ 1-i-n2 > 0 /\ -1+n2 >= 0 /\ -i-n2 >= 0)], 1[(i < 0)], 2[(-5+i < 0 /\ 5+i > 0)], 16[(i < 0)], 10[(i <= 0)] Blocked [{}, {14[T], 19[T]}, {14[T], 20[T]}, {}, {}, {}, {11[T]}] Backtrack Trace 0[T], 20[(5-i > 0 /\ 5+i > 0 /\ 1-i-n2 > 0 /\ -1+n2 >= 0 /\ -i-n2 >= 0)], 1[(i < 0)], 2[(-5+i < 0 /\ 5+i > 0)], 16[(i < 0)] Blocked [{}, {14[T], 19[T]}, {14[T], 20[T]}, {}, {}, {10[T]}] Backtrack Trace 0[T], 20[(5-i > 0 /\ 5+i > 0 /\ 1-i-n2 > 0 /\ -1+n2 >= 0 /\ -i-n2 >= 0)], 1[(i < 0)], 2[(-5+i < 0 /\ 5+i > 0)] Blocked [{}, {14[T], 19[T]}, {14[T], 20[T]}, {}, {16[T]}] Backtrack Trace 0[T], 20[(5-i > 0 /\ 5+i > 0 /\ 1-i-n2 > 0 /\ -1+n2 >= 0 /\ -i-n2 >= 0)], 1[(i < 0)] Blocked [{}, {14[T], 19[T]}, {14[T], 20[T]}, {2[T]}] Backtrack Trace 0[T], 20[(5-i > 0 /\ 5+i > 0 /\ 1-i-n2 > 0 /\ -1+n2 >= 0 /\ -i-n2 >= 0)] Blocked [{}, {14[T], 19[T]}, {1[i < 0], 14[T], 20[T]}] Backtrack Trace 0[T] Blocked [{}, {14[T], 19[T], 20[T]}] Step with 1 Trace 0[T], 1[(i > 0)] Blocked [{}, {14[T], 19[T], 20[T]}, {}] Step with 2 Trace 0[T], 1[(i > 0)], 2[(-5+i < 0 /\ 5+i > 0)] Blocked [{}, {14[T], 19[T], 20[T]}, {}, {}] Step with 6 Trace 0[T], 1[(i > 0)], 2[(-5+i < 0 /\ 5+i > 0)], 6[(i >= 0)] Blocked [{}, {14[T], 19[T], 20[T]}, {}, {16[T]}, {}] Step with 18 Trace 0[T], 1[(i > 0)], 2[(-5+i < 0 /\ 5+i > 0)], 6[(i >= 0)], 18[(i > 0)] Blocked [{}, {14[T], 19[T], 20[T]}, {}, {16[T]}, {10[T]}, {}] Step with 11 Trace 0[T], 1[(i > 0)], 2[(-5+i < 0 /\ 5+i > 0)], 6[(i >= 0)], 18[(i > 0)], 11[T] Blocked [{}, {14[T], 19[T], 20[T]}, {}, {16[T]}, {10[T]}, {}, {}] Step with 13 Trace 0[T], 1[(i > 0)], 2[(-5+i < 0 /\ 5+i > 0)], 6[(i >= 0)], 18[(i > 0)], 11[T], 13[T] Blocked [{}, {14[T], 19[T], 20[T]}, {}, {16[T]}, {10[T]}, {}, {}, {}] Covered Trace 0[T], 1[(i > 0)], 2[(-5+i < 0 /\ 5+i > 0)], 6[(i >= 0)], 18[(i > 0)], 11[T] Blocked [{}, {14[T], 19[T], 20[T]}, {}, {16[T]}, {10[T]}, {}, {13[T]}] Backtrack Trace 0[T], 1[(i > 0)], 2[(-5+i < 0 /\ 5+i > 0)], 6[(i >= 0)], 18[(i > 0)] Blocked [{}, {14[T], 19[T], 20[T]}, {}, {16[T]}, {10[T]}, {11[T]}] Backtrack Trace 0[T], 1[(i > 0)], 2[(-5+i < 0 /\ 5+i > 0)], 6[(i >= 0)] Blocked [{}, {14[T], 19[T], 20[T]}, {}, {16[T]}, {10[T], 18[T]}] Backtrack Trace 0[T], 1[(i > 0)], 2[(-5+i < 0 /\ 5+i > 0)] Blocked [{}, {14[T], 19[T], 20[T]}, {}, {6[T], 16[T]}] Backtrack Trace 0[T], 1[(i > 0)] Blocked [{}, {14[T], 19[T], 20[T]}, {2[T]}] Step with 12 Trace 0[T], 1[(i > 0)], 12[(-5+i >= 0)] Blocked [{}, {14[T], 19[T], 20[T]}, {2[T]}, {}] Step with 13 Trace 0[T], 1[(i > 0)], 12[(-5+i >= 0)], 13[T] Blocked [{}, {14[T], 19[T], 20[T]}, {2[T]}, {}, {}] Nonterm Start location: [1] Program variables: i 0: [1] -> [2] : i'=nondet, T, cost: 1 1: [2] -> [3] : (i < 0 \/ i > 0), cost: 1 14: [2] -> [12] : (i <= 0 /\ i >= 0), cost: 1 19: [2] -> [2] : i'=-n+i, (-1+n >= 0 /\ 5-i > 0 /\ 5+i > 0 /\ 1-n+i > 0 /\ i >= 0), cost: 1 20: [2] -> [2] : i'=i+n2, (5-i > 0 /\ 5+i > 0 /\ 1-i-n2 > 0 /\ -1+n2 >= 0 /\ -i-n2 >= 0), cost: 1 21: [2] -> LoAT_sink : (-5+i >= 0 /\ -1+n3 >= 0 /\ i > 0), cost: NONTERM 2: [3] -> [5] : (-5+i < 0 /\ 5+i > 0), cost: 1 12: [3] -> [4] : (-5+i >= 0 \/ 5+i <= 0), cost: 1 13: [4] -> [2] : T, cost: 1 6: [5] -> [6] : i >= 0, cost: 1 16: [5] -> [6] : i'=1+i, i < 0, cost: 1 10: [6] -> [9] : i <= 0, cost: 1 18: [6] -> [9] : i'=-1+i, i > 0, cost: 1 11: [9] -> [4] : T, cost: 1 Certificate of Non-Termination Original rule: [2] -> [2] : (-5+i >= 0 /\ i > 0), cost: 1 New rule: [2] -> LoAT_sink : (-5+i >= 0 /\ -1+n3 >= 0 /\ i > 0), cost: NONTERM -5+i >= 0 [0]: monotonic increase yields -5+i >= 0 i > 0 [0]: monotonic increase yields i > 0, dependencies: -5+i >= 0 Replacement map: {-5+i >= 0 -> -5+i >= 0, i > 0 -> i > 0} Step with 21 Trace 0[T], 21[(-5+i >= 0 /\ -1+n3 >= 0 /\ i > 0)] Blocked [{}, {14[T], 19[T], 20[T]}, {21[T]}] Refute Counterexample [ i=5 ] 0 [ i=i ] 21 NO Build SHA: a05f16bf13df659c382799650051f91bf6828c7b