| # ax = # ndx ⊦ fs[ax, ndx][adr] = fs[adr], adr ∈ ax |
#(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
Used simplifier rules: write-base: ⊦ fs[[], []] = fs;%address-list freely generated by [], +;;% ⊦ # [] = 0; (s)% ⊦ # ndx = 0 ↔ ndx = []; (s)% ⊦ ¬ adr ∈ []; (s)