| n1 + m0 = n + 1, n < # ar, n0 + m < # ar, ar[n] < 0, sum(ar, n0, m) < sum(ar, n1, m0), n0 + m ≤ n + 1, n0 + m ≤ n, ∀ n2, m1. n2 + m1 ≤ n → sum(ar, n2, m1) ≤ sum(ar, n0, m) ⊦ m0 = 0 |
n1 + m1 +1 = n + 1, sum(ar, n0, m) < sum(ar, n1, m1 +1), ar[n] < 0, n0 + m < # ar, n < # ar, n0 + m ≤ n, n0 + m ≤ n + 1, ∀ n2, m1. n2 + m1 ≤ n → sum(ar, n2, m1) ≤ sum(ar, n0, m), ∀ n1, n, ar, n0, m. n1 + m1 = n + 1 ∧ n < # ar ∧ n0 + m < # ar ∧ ar[n] < 0 ∧ sum(ar, n0, m) < sum(ar, n1, m1) ∧ n0 + m ≤ n + 1 ∧ n0 + m ≤ n ∧ (∀ n2, m1. n2 + m1 ≤ n → sum(ar, n2, m1) ≤ sum(ar, n0, m)) → m1 = 0 ⊦ m1 +1 = 0
Used simplifier rules: nat freely generated by 0, +1;;