| dom remove-refsize0(st) ∩ ns = ∅, n ∈ st, ∀ n. n ∈ st \ ns → # (st \ ns)[n].list = # (st \ ns)[n].ladrlist ∧ inv-flashsize((st \ ns)[n].list, (st \ ns)[n].ladrlist) ∧ ¬ dups((st \ ns)[n].ladrlist) ⊦ st[n].ref-size = 0, inv-flashsize(st[n].list, st[n].ladrlist) ∧ ¬ dups(st[n].ladrlist) |
st[n] = mkblock(x, lax, m), dom remove-refsize0(st) ∩ ns = ∅, n ∈ st, ∀ n. n ∈ st \ ns → # (st \ ns)[n].list = # (st \ ns)[n].ladrlist ∧ inv-flashsize((st \ ns)[n].list, (st \ ns)[n].ladrlist) ∧ ¬ dups((st \ ns)[n].ladrlist) ⊦ m = 0, inv-flashsize(x, lax) ∧ ¬ dups(lax)
Used simplifier rules: ⊦ (x = ablock.list ∧ lax = ablock.ladrlist) ∧ m = ablock.ref-size ↔ ablock = mkblock(x, lax, m); (elim) Used terms: st[n], x, m, m0, m1, boolvar