| ri-cons(ri, fs), ∀ ri, fs. ri-cons(ri, fs) → ri[fs[referenced-adrs(ax0, ri)].keys] = referenced-adrs(ax0, ri) ⊦ ri[fs[referenced-adrs(adr + ax0, ri)].keys] = referenced-adrs(adr + ax0, ri) |
ri-cons(ri, fs), ∀ ri, fs. ri-cons(ri, fs) → ri[fs[referenced-adrs(ax0, ri)].keys] = referenced-adrs(ax0, ri) ⊦ ri[fs[(adr ∈ ri ⊃ adr ';[])].keys] + ri[fs[referenced-adrs(ax0, ri)].keys] = (adr ∈ ri ⊃ adr ';[]) + referenced-adrs(ax0, ri)
Used simplifier rules: referenced-adrs-rec: ⊦ referenced-adrs(adr ' + ax, ri) = (adr ∈ ri ⊃ adr ';[]) + referenced-adrs(ax, ri);%keys-app: ⊦ (ndx0 + ndx1).keys = ndx0.keys + ndx1.keys;%a: ⊦ (kx + kx0) + kx1 = kx + kx0 + kx1; from specification list[key-list-set]% ⊦ ri[kx0 + kx1] = ri[kx0] + ri[kx1]; (s)%a: ⊦ (ndx + ndx0) + ndx1 = ndx + ndx0 + ndx1; from specification list[node-list]% ⊦ fs[ax0 + ax1] = fs[ax0] + fs[ax1]; (s)%a: ⊦ (ax + ax0) + ax1 = ax + ax0 + ax1; from specification list[address-list-set]% ⊦ adr + ax = adr ' + ax; (s)