| # ax = # ndx ⊦ adr ∈ fs[ax, ndx] ↔ adr ∈ fs ∨ adr ∈ ax |
#(adr0 + ax0) = # ndx, ∀ ndx, adr, fs. # ax0 = # ndx → (adr ∈ fs[ax0, ndx] ↔ adr ∈ fs ∨ adr ∈ ax0) ⊦ adr ∈ fs[adr0 + ax0, ndx] ↔ adr ∈ fs ∨ adr ∈ adr0 + ax0
Used simplifier rules: write-base: ⊦ fs[[], []] = fs;%address-list freely generated by [], +;;% ⊦ # [] = 0; (s)% ⊦ # ndx = 0 ↔ ndx = []; (s)% ⊦ ¬ adr ∈ []; (s)