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