| n < m0, m0 < # asar, n < # asar, n + 1 < # asar, disj(asar, 0, m0 + 1), ∀ n, asar, as. n < m0 ∧ n < # asar ∧ disj(asar, 0, m0) ∧ m0 ≤ # asar → union(asar[n, as], 0, m0) = (union(asar, 0, m0) \ asar[n]) ∪ as ⊦ m0 = n, asar[m0] ∪ union(asar[n, as], 0, m0) = (asar[m0] ∪ (union(asar, 0, m0) \ asar[n])) ∪ as |
n + 1 < # asar, n < # asar, m0 < # asar, n < m0, disj(asar, 0, m0 + 1), n < m0 ∧ n < # asar ∧ disj(asar, 0, m0) ∧ m0 ≤ # asar → union(asar[n, as], 0, m0) = (union(asar, 0, m0) \ asar[n]) ∪ as ⊦ m0 = n, asar[m0] ∪ union(asar[n, as], 0, m0) = (asar[m0] ∪ (union(asar, 0, m0) \ asar[n])) ∪ as
Used terms: n, asar, as