| # x1 = # lax1, # x0 = # lax0, st[n] = mkblock(x0 + a ' + x1, lax0 + @(m0, m1) ' + lax1, m2), inv-flashsize(x0 + a ' + x1, lax0 + @(m0, m1) ' + lax1), n ∈ st ⊦ (x0 + a ' + x1)[# lax0] = a, dups(lax0 + lax1), dups(lax0), dups(lax1), n ∈ ns, @(m0, m1) ∈ lax0, @(m0, m1) ∈ lax1 |
⊦ ¬ n < # x → (x + y)[n] = y[n - # x]
Used simplifier rules: ⊦ m < n ↔ ¬ n ≤ m; (ss)% ⊦ m - m = 0; (s)% ⊦ (a ' + x)[0] = a; (s)%a: ⊦ (x + y) + z = x + y + z; from specification list% ⊦ n < # x → (x + y)[n] = x[n]; (s)%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic%lf-02: ⊦ m < n ∧ m = n0 → n0 < n; (forward) from specification nat-basic%lf-01: ⊦ m < n ∧ n = n0 → m < n0; (forward) from specification nat-basic% ⊦ # lax = 0 ↔ lax = []; (s)% ⊦ m < n → ¬ n < m; (s) Used terms: # lax0, a ' + x1, x0