| ⊦ ( replay-safe(adr1 ', (∅)[adr1, inodenode(inodekey(ROOT_INO), md, true, 0, 0, 0)], ∅ ⊖ ∅) ∧ replay(adr1 ', (∅)[adr1, inodenode(inodekey(ROOT_INO), md, true, 0, 0, 0)], ∅, ∅) = (∅)[inodekey(ROOT_INO), adr1] ⊖ ∅) ∧ file-node-cons((∅)[adr1, inodenode(inodekey(ROOT_INO), md, true, 0, 0, 0)], (∅)[inodekey(ROOT_INO), adr1]) ∧ orphans-cons((∅)[adr1, inodenode(inodekey(ROOT_INO), md, true, 0, 0, 0)], (∅)[inodekey(ROOT_INO), adr1], ∅) |
⊦ file-node-cons((∅)[adr1, inodenode(inodekey(ROOT_INO), md, true, 0, 0, 0)], (∅)[inodekey(ROOT_INO), adr1]) ∧ orphans-cons((∅)[adr1, inodenode(inodekey(ROOT_INO), md, true, 0, 0, 0)], (∅)[inodekey(ROOT_INO), adr1], ∅)
Used simplifier rules: at-fs: ⊦ fs[adr0, nd][adr1] = (adr0 = adr1 ⊃ nd;fs[adr1]);%⊦ replay-one(adr, inodenode(key, md, boolvar, n, n0, m), ri) = (n ≠ 0 ∨ key.ino = ROOT_INO ⊃ ri[key, adr] ;(boolvar ⊃ ri -- key;ri ⊖ key) ); (s)% ⊦ replay-log(adr ', fs, ri) = replay-one(adr, fs[adr], ri); (s)% ⊦ replay(log, fs, fi, fo) = replay-log(log, fs, fi ⊖ fo); (s)% ⊦ ROOT_INO ≠ 0; (s)% ⊦ inodekey(m).ino = m; (s)% ⊦ inodekey(m).inode?; (s)%⊦ node-cons(key0, inodenode(key1, md, boolvar, n, n0, m)) ↔ key0.inode? ∧ key0.ino ≠ 0; (s)% ⊦ inodenode(key, md, boolvar, m, m0, m1).key = key; (s)% ⊦ ¬ adr ∈ ∅; (s)% ⊦ adr ∈ fs[adr1, nd] ↔ adr = adr1 ∨ adr ∈ fs; (s)%⊦ replay-safe(adr ', fs, ri) ↔ adr ∈ fs ∧ ¬ adr ∈ ri ∧ node-cons(fs[adr].key, fs[adr]); (s)% ⊦ ri ⊖ ∅ = ri; (s)