| fs[adr0].key = fs[adr].key, referenced-adrs(ax, ri) = adr0 ' + ax2, ri-cons(ri, fs), adr ∈ ri, adr0 ∈ ax, adr0 ∈ ri ⊦ dups(ax), dups(ax3), dups(fs[ax2].keys), dups(fs[referenced-adrs(ax3, ri)].keys), dups(fs[referenced-adrs(ax3, ri)].keys + fs[ax2].keys), dups(ax3 + ax), adr ∈ ax, adr ∈ ax3, fs[adr].key ∈ fs[ax2].keys, fs[adr].key ∈ fs[referenced-adrs(ax3, ri)].keys |
⊦ referenced-adrs(ax, ri) = ax0 + ax1 ↔ (∃ ax2, ax3. ax = ax2 + ax3 ∧ referenced-adrs(ax2, ri) = ax0 ∧ referenced-adrs(ax3, ri) = ax1)
fs[adr0].key = fs[adr].key, ri-cons(ri, fs), adr0 ∈ ri, adr0 ∈ ax, adr ∈ ri, ∃ ax4, ax3. ax = ax4 + ax3 ∧ referenced-adrs(ax4, ri) = adr0 ' ∧ referenced-adrs(ax3, ri) = ax2 ⊦ dups(ax3 + ax), dups(fs[referenced-adrs(ax3, ri)].keys + fs[ax2].keys), dups(fs[referenced-adrs(ax3, ri)].keys), dups(fs[ax2].keys), dups(ax3), dups(ax), fs[adr].key ∈ fs[referenced-adrs(ax3, ri)].keys, fs[adr].key ∈ fs[ax2].keys, adr ∈ ax3, adr ∈ ax
Used terms: ax2, adr0 ', ri, ax