| # kx = # ax, fs = fs0[ax, fs0[ri0[kx]]], log = log0 + ax, ri = ri0[kx, ax], ax.toSet ∩ log0.toSet = ∅, fo.inodes?, ro.inodes?, log-cons(log0, fs0), new(ax, fs0), ri-cons(ri0, fs0), ri-inj(fi), ri-inj(ri0), kx.toSet ⊆ dom ri0 ⊦ dups(ax), dups(kx), ∃ as. as ∩ range ri = ∅ ∧ log.toSet ∩ as = ∅ |
# kx = # ax, ax.toSet ∩ log0.toSet = ∅, ro.inodes?, fo.inodes?, log-cons(log0, fs0), new(ax, fs0), ri-cons(ri0, fs0), ri-inj(ri0), ri-inj(fi), kx.toSet ⊆ dom ri0 ⊦ dups(kx), dups(ax), ∃ as. as ∩ range ri0[kx, ax] = ∅ ∧ (log0.toSet ∪ ax.toSet) ∩ as = ∅
Used simplifier rules: a: ⊦ (ax + ax0) + ax1 = ax + ax0 + ax1; from specification list[address-list-set]% ⊦ (ax + ax0).toSet = ax.toSet ∪ ax0.toSet; (s)