| n0 < m, n1 < m, n0 < # asar, n1 < # asar, disj(asar, 0, m), m ≤ # asar ⊦ (asar[n0] ∪ as) \ asar[n1] = asar[n0] ∪ (as \ asar[n1]), n0 = n1 |
⊦ as = as0 ↔ (∀ adr. adr ∈ as ↔ adr ∈ as0)
n1 < # asar, n0 < # asar, n1 < m, n0 < m, disj(asar, 0, m), m ≤ # asar ⊦ n0 = n1, ∀ adr. adr ∈ (asar[n0] ∪ as) \ asar[n1] ↔ adr ∈ asar[n0] ∪ (as \ asar[n1])
Used terms: asar[n0] ∪ (as \ asar[n1]), (asar[n0] ∪ as) \ asar[n1]