| # x = # lax, (@(m, a.flashsize) ' + lax)[n] = @(m0, m1), n ≤ # lax, ∀ n. n < # lax → lax[n].size = x[n].flashsize ⊦ m1 = (a ' + x)[n].flashsize |
⊦ ¬ n < # x → (x + y)[n] = y[n - # x]
# x = # lax, (@(m, a.flashsize) ' + lax)[n] = @(m0, m1), n ≤ # lax, ∀ n. n < # lax → lax[n].size = x[n].flashsize ⊦ m1 = x[n - # a '].flashsize, n < # a '
Used simplifier rules: ⊦ n < # x → (x + y)[n] = x[n]; (s)%a: ⊦ (x + y) + z = x + y + z; from specification list% ⊦ # a ' = 0 +1; (s)% ⊦ m < 1 ↔ m = 0; (s)% ⊦ (ladr ' + lax)[0] = ladr; (s)%a: ⊦ (lax + lax0) + lax1 = lax + lax0 + lax1; from specification list[laddress-list]% ⊦ @(m, m0) = @(m1, m2) ↔ m = m1 ∧ m0 = m2; (ws)% ⊦ a '[0] = a; (s) Used terms: n, x, a '