| n < # asar, disj(asar, 0, n + 1), ∀ n0, asar, as. n0 < n ∧ n0 < # asar ∧ disj(asar, 0, n) ∧ n ≤ # asar → union(asar[n0, as], 0, n) = (union(asar, 0, n) \ asar[n0]) ∪ as ⊦ #(union(asar, 0, n) ∩ asar[n]) = 0, union(asar, 0, n) ∩ asar[n] = ∅, as ∪ union(asar, 0, n) = (union(asar, 0, n) \ asar[n]) ∪ as |
⊦ as = as0 ↔ (∀ adr. adr ∈ as ↔ adr ∈ as0)
n < # asar, disj(asar, 0, n + 1), ∀ n0, asar, as. n0 < n ∧ n0 < # asar ∧ disj(asar, 0, n) ∧ n ≤ # asar → union(asar[n0, as], 0, n) = (union(asar, 0, n) \ asar[n0]) ∪ as ⊦ #(union(asar, 0, n) ∩ asar[n]) = 0, as ∪ union(asar, 0, n) = (union(asar, 0, n) \ asar[n]) ∪ as, ∀ adr. adr ∈ union(asar, 0, n) ∩ asar[n] ↔ adr ∈ ∅
Used terms: ∅, union(asar, 0, n) ∩ asar[n]