| n < m, disj(asar, 0, m), m ≤ # asar ⊦ union(asar[n, as], 0, m) = (union(asar, 0, m) \ asar[n]) ∪ as |
n < m, n < # asar, disj(asar, 0, m), m ≤ # asar ⊦ union(asar[n, as], 0, m) = (union(asar, 0, m) \ asar[n]) ∪ as
Used simplifier rules: ⊦ m < n → n ≠ 0; (s)%fle: ⊦ m < n ∧ n ≤ n0 → m < n0; (forward) from specification nat%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic