| #(adr0 + ax0) = # ndx, ∀ ndx, fs, adr. # ax0 = # ndx → fs[ax0, ndx][adr] = fs[adr] ∨ adr ∈ ax0 ⊦ fs[adr0 + ax0, ndx][adr] = fs[adr], adr ∈ adr0 + ax0 |
# ax0 + 1 = # ndx, ∀ ndx, fs, adr. # ax0 = # ndx → fs[ax0, ndx][adr] = fs[adr] ∨ adr ∈ ax0 ⊦ fs[adr0 ' + ax0, ndx][adr] = fs[adr], adr = adr0, adr ∈ ax0
Used simplifier rules: ⊦ adr ∈ adr0 ' + ax ↔ ¬(adr ≠ adr0 ∧ ¬ adr ∈ ax); (ss)%a: ⊦ (ax + ax0) + ax1 = ax + ax0 + ax1; from specification list[address-list-set]% ⊦ m +1 = m + 1; (s)% ⊦ #(adr ' + ax) = (# ax)+1; (s)% ⊦ adr + ax = adr ' + ax; (s)