| referenced-adrs(ax, ri) = adr ' ⊦ fs[referenced-adrs(ax, ri)] = fs[adr] ' |
referenced-adrs(ax1, ri) = [], referenced-adrs(ax0, ri) = [], adr ∈ ri ⊦ ∃ adr0. (∃ ax2, ax3. ax0 + adr ' + ax1 = ax2 + adr0 ' + ax3 ∧ referenced-adrs(ax2, ri) = [] ∧ referenced-adrs(ax3, ri) = [] ∧ adr0 ∈ ri) ∧ fs[adr0] = fs[adr]
Used simplifier rules: referenced-adrs-split-one: ⊦ referenced-adrs(ax, ri) = adr ' ↔ (∃ ax0, ax1. ax = ax0 + adr ' + ax1 ∧ referenced-adrs(ax0, ri) = [] ∧ referenced-adrs(ax1, ri) = [] ∧ adr ∈ ri);% ⊦ fs[ax] = nd ' ↔ (∃ adr. ax = adr ' ∧ fs[adr] = nd); (s)