| ri-cons(ri, fs), ∀ ri, fs. ri-cons(ri, fs) → key-cons(fs[referenced-adrs(ax0, ri)]) ⊦ key-cons(fs[referenced-adrs(adr + ax0, ri)]) |
ri-cons(ri, fs), ∀ ri, fs. ri-cons(ri, fs) → key-cons(fs[referenced-adrs(ax0, ri)]) ⊦ key-cons(fs[(adr ∈ ri ⊃ adr ';[])]) ∧ key-cons(fs[referenced-adrs(ax0, ri)])
Used simplifier rules: referenced-adrs-rec: ⊦ referenced-adrs(adr ' + ax, ri) = (adr ∈ ri ⊃ adr ';[]) + referenced-adrs(ax, ri);%key-cons-app: ⊦ key-cons(ndx0 + ndx1) ↔ key-cons(ndx0) ∧ key-cons(ndx1);%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)