| as ∩ union(asar, 0, m) = ∅, n < m, m ≤ # asar ⊦ as ∩ asar[n] = ∅ |
as ∩ union(asar, 0, m) = ∅, n < m, n < # asar, m ≤ # asar ⊦ #(as ∩ asar[n]) = 0, as ∩ asar[n] = ∅
Used simplifier rules: size-zero: ⊦ # as ≠ 0 → as ≠ ∅; (forward) from specification set-basic[address-list-set]% ⊦ m < n → n ≠ 0; (s)%size-zero-01: ⊦ as ≠ ∅ → # as ≠ 0; (forward) from specification set-basic[address-list-set]%fle: ⊦ m < n ∧ n ≤ n0 → m < n0; (forward) from specification nat%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic