| fo.inodes?, ro.inodes?, log-cons(log, fs), node-cons(nd2.key, nd2), node-cons(nd0.key, nd0), node-cons(nd3.key, nd3), node-cons(fs[adr].key, fs[adr]), ri-cons(ri, fs), ri-inj(fi), ri-inj(ri), adr ∈ log, adr ∈ fs ⊦ ri[key] = adr3, adr1 = adr3, adr1 = ri[key], node-cons(fs[adr1, nd3][ri[key], nd0][adr3, nd2][adr].key, fs[adr1, nd3][ri[key], nd0][adr3, nd2][adr]), adr1 ∈ fs, ri[key] ∈ fs, adr3 ∈ fs |
⊦ adr ≠ adr0 → fs[adr0, nd][adr] = fs[adr]
ro.inodes?, fo.inodes?, log-cons(log, fs), node-cons(fs[adr].key, fs[adr]), node-cons(nd3.key, nd3), node-cons(nd0.key, nd0), node-cons(nd2.key, nd2), ri-cons(ri, fs), ri-inj(ri), ri-inj(fi), adr ∈ fs, adr ∈ log ⊦ ri[key] = adr3, adr = adr3, adr1 = ri[key], adr1 = adr3, node-cons(fs[adr1, nd3][ri[key], nd0][adr].key, fs[adr1, nd3][ri[key], nd0][adr]), adr3 ∈ fs, ri[key] ∈ fs, adr1 ∈ fs
Used terms: adr, nd2, adr3, fs[adr1, nd3][ri[key], nd0]