| # mkblock(x, lax, m0).list = # mkblock(x, lax, m0).ladrlist, st[n] = mkblock(x, lax, m0), inv-flashsize(mkblock(x, lax, m0).list, mkblock(x, lax, m0).ladrlist), n ∈ st ⊦ dups(mkblock(x, lax, m0).ladrlist), @(m, m2) ∈ lax, (adr ∈ st ∨ adr = @(n, m, m2) → adr ∈ nodes(st)[@(n, m, m2), a]) ∧ (adr ∈ st ∨ adr = @(n, m, m2) → nodes(st[n, mkblock(x + a ', lax + @(m, m2) ', m1)])[adr] = nodes(st)[@(n, m, m2), a][adr]) |
# x = # lax, st[n] = mkblock(x, lax, m0), inv-flashsize(x, lax), n ∈ st ⊦ dups(lax), @(m, m2) ∈ lax, (adr ∈ st ∨ adr = @(n, m, m2) → adr ∈ nodes(st)[@(n, m, m2), a]) ∧ (adr ∈ st ∨ adr = @(n, m, m2) → nodes(st[n, mkblock(x + a ', lax + @(m, m2) ', m1)])[adr] = nodes(st)[@(n, m, m2), a][adr])
Used simplifier rules: ⊦ mkblock(x, lax, m).ladrlist = lax; (s)% ⊦ mkblock(x, lax, m).list = x; (s)