| n1 < m, n0 < m, disj(asar, 0, m), m ≤ # asar ⊦ (asar[n0] ∪ as) \ asar[n1] = asar[n0] ∪ (as \ asar[n1]), n0 = n1 |
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
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