| # ar0 = n0 + n, i0 < sum(ar0, n, n0), (n ≤ # ar → sum(ar, n, # ar - n) ≤ i) → n ≤ # ar0 → sum(ar0, n, # ar0 - n) ≤ i0, ∀ n. (n ≤ # ar → sum(ar, n, # ar - n) ≤ i) → n ≤ # ar0 → sum(ar0, n, # ar0 - n) ≤ i0, ∀ n. n ≤ # ar → sum(ar, n, # ar - n) ≤ i ⊦ |
# ar0 = n0 + n, i0 < sum(ar0, n, n0), i < sum(ar, n, # ar - n), n ≤ # ar, ∀ n. (n ≤ # ar → sum(ar, n, # ar - n) ≤ i) → n ≤ # ar0 → sum(ar0, n, # ar0 - n) ≤ i0, ∀ n. n ≤ # ar → sum(ar, n, # ar - n) ≤ i ⊦
Used simplifier rules: ⊦ i ≤ j ↔ ¬ j < i; (ss)% ⊦ i < j → (j ≤ i ↔ false); (as)% ⊦ m + n - m = n; (s)%c: ⊦ m + n = n + m; from specification nat-basic%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic% ⊦ m ≤ m + n; (s)