| range=(avol, 5 + n, avol0, 5 + n, m0) ⊦ # subarray(avol, 5 + n, m0) = # subarray(avol0, 5 + n, m0) ∧ (∀ n0. n0 < # subarray(avol, 5 + n, m0) → subarray(avol, 5 + n, m0)[n0] = subarray(avol0, 5 + n, m0)[n0]) |
n0 < m0, range=(avol, 5 + n, avol0, 5 + n, m0) ⊦ avol[(5 + n) + n0] = avol0[(5 + n) + n0]
Used simplifier rules: ⊦ m < n → n ≠ 0; (s)%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic% ⊦ n0 < n → subarray(avol, m, n)[n0] = avol[m + n0]; (s)% ⊦ # subarray(avol, m, n) = n; (s)