| # ax0 = # kx1, ro.inodes?, new(ax0, fs[adr, fs[ri[key]]]), new(ax0, fs), orphans-cons(fs, ri, ro), replay-safe(ax0, fs[adr, fs[ri[key]]][ax0, fs[adr, fs[ri[key]]][ri[kx1]]], ri[key, adr] ⊖ ro), ri-closed(ri, fs, ro), ri-cons(ri, fs), adr ∈ ri[kx1], key ∈ ri, kx1.toSet ⊆ dom ri ⊦ dups(kx1), dups(ax0), replay-safe(ax0, fs[ax0, fs[ri[kx1]]], ri[key, adr] ⊖ ro), key ∈ kx1, adr ∈ fs, adr ∈ ax0 |
# ax0 = # kx1, ro.inodes?, new(ax0, fs), new(ax0, fs[adr, fs[ri[key]]]), orphans-cons(fs, ri, ro), replay-safe(ax0, fs[adr, fs[ri[key]]][ax0, fs[adr, fs[ri[key]]][ri[kx1]]], ri[key, adr] ⊖ ro), ri-closed(ri, fs, ro), ri-cons(ri, fs), key ∈ ri, adr ∈ ri[kx1], adr ∈ ri, kx1.toSet ⊆ dom ri ⊦ dups(ax0), dups(kx1), replay-safe(ax0, fs[ax0, fs[ri[kx1]]], ri[key, adr] ⊖ ro), adr ∈ ax0, adr ∈ fs, key ∈ kx1
Used simplifier rules: in-read-in-dom: ⊦ kx.toSet ⊆ dom ri ∧ adr ∈ ri[kx] → adr ∈ ri; (forward) from specification aubifs-base