| inodekey(ino) ∈ ri ⊦ fs[ri[inodekey(ino)]].directory, fs[ri[inodekey(ino)]].nlink = 0 ∧ ino ≠ ROOT_INO, (fs[ri[inodekey(ino)]].nlink ≠ 0 ∨ ino = ROOT_INO) ∧ ( inodekey(ino) ∈ ri \ orphans(fs, ri) → mkfile(fs[ri[inodekey(ino)]].size, fs[ri[inodekey(ino)]].meta, fs[ri[inodekey(ino)]].nlink, abs-content(ino, fs, ri \ orphans(fs, ri))) = mkfile(fs[ri[inodekey(ino)]].size, fs[ri[inodekey(ino)]].meta, fs[ri[inodekey(ino)]].nlink, abs-content(ino, fs, ri))) |
inodekey(ino) ∈ ri ⊦ mkfile(fs[ri[inodekey(ino)]].size, fs[ri[inodekey(ino)]].meta, fs[ri[inodekey(ino)]].nlink, abs-content(ino, fs, ri \ orphans(fs, ri))) = mkfile(fs[ri[inodekey(ino)]].size, fs[ri[inodekey(ino)]].meta, fs[ri[inodekey(ino)]].nlink, abs-content(ino, fs, ri)), fs[ri[inodekey(ino)]].directory, (fs[ri[inodekey(ino)]].nlink ≠ 0 ∨ ino = ROOT_INO) ∧ ( inodekey(ino) ∈ ri \ orphans(fs, ri) → mkfile(fs[ri[inodekey(ino)]].size, fs[ri[inodekey(ino)]].meta, fs[ri[inodekey(ino)]].nlink, abs-content(ino, fs, ri \ orphans(fs, ri))) = mkfile(fs[ri[inodekey(ino)]].size, fs[ri[inodekey(ino)]].meta, fs[ri[inodekey(ino)]].nlink, abs-content(ino, fs, ri))), fs[ri[inodekey(ino)]].nlink = 0 ∧ ino ≠ ROOT_INO
Used simplifier rules: ⊦ mkfile(m, md, m0, content) = mkfile(m1, md0, m2, content0) ↔ m = m1 ∧ md = md0 ∧ m0 = m2 ∧ content = content0; (ws) Used formulas: mkfile (fs[ri[inodekey(ino)]].size, fs[ri[inodekey(ino)]].meta, fs[ri[inodekey(ino)]].nlink, abs-content(ino, fs, ri \ orphans(fs, ri))) = mkfile (fs[ri[inodekey(ino)]].size, fs[ri[inodekey(ino)]].meta, fs[ri[inodekey(ino)]].nlink, abs-content(ino, fs, ri))