| ∀ n0. n0 ∈ st \ ns → # (st \ ns)[n0].list = # (st \ ns)[n0].ladrlist ∧ inv-flashsize((st \ ns)[n0].list, (st \ ns)[n0].ladrlist) ∧ ¬ dups((st \ ns)[n0].ladrlist), n ∈ ns ∨ inv-flashsize(x, lax) ∧ ¬ dups(lax) ⊦ ∀ n0. n0 ∈ st[n, mkblock(x, lax, m)] \ ns → inv-flashsize((st[n, mkblock(x, lax, m)] \ ns)[n0].list, (st[n, mkblock(x, lax, m)] \ ns)[n0].ladrlist) ∧ ¬ dups((st[n, mkblock(x, lax, m)] \ ns)[n0].ladrlist) |
n0 ∈ st[n, mkblock(x, lax, m)], ∀ n0. n0 ∈ st \ ns → # (st \ ns)[n0].list = # (st \ ns)[n0].ladrlist ∧ inv-flashsize((st \ ns)[n0].list, (st \ ns)[n0].ladrlist) ∧ ¬ dups((st \ ns)[n0].ladrlist), n ∈ ns ∨ inv-flashsize(x, lax) ∧ ¬ dups(lax) ⊦ n0 ∈ ns, inv-flashsize(st[n, mkblock(x, lax, m)][n0].list, st[n, mkblock(x, lax, m)][n0].ladrlist) ∧ ¬ dups(st[n, mkblock(x, lax, m)][n0].ladrlist)
Used simplifier rules: ⊦ ¬ n ∈ ns → (st \ ns)[n] = st[n]; (s)% ⊦ n ∈ st \ ns ↔ n ∈ st ∧ ¬ n ∈ ns; (ws)