| avol0[n0] = aleb0, n0 < # avol, id○(avol, avol0[n, aleb], m) ⊦ avol[n0] = aleb0, m = n0, n0 = n |
# avol = # avol0, n0 < # avol0, id○(avol, avol0[n, aleb], m) ⊦ avol[n0] = avol0[n0], m = n0, n0 = n
Used simplifier rules: lf-01: ⊦ m < n ∧ n = n0 → m < n0; (forward) from specification nat-basic% ⊦ m < n → n ≠ 0; (s)% ⊦ # avol[n, aleb] = # avol; (s)%idexcept-size: ⊦ id○(avol, avol0, n) → # avol = # avol0; (forward) from specification array-copy[avolume]%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic