| inodekey(ino) ∈ ri ⊦ ( inodekey(ino) ∈ ri ∧ ¬ fs[ri[inodekey(ino)]].directory ∧ (fs[ri[inodekey(ino)]].nlink ≠ 0 ∨ ino = ROOT_INO) ↔ inodekey(ino) ∈ ri ⊖ orphans(fs, ri) ∧ ¬ fs[(ri ⊖ orphans(fs, ri))[inodekey(ino)]].directory) ∧ ( inodekey(ino) ∈ ri ∧ ¬ fs[ri[inodekey(ino)]].directory ∧ (fs[ri[inodekey(ino)]].nlink ≠ 0 ∨ ino = ROOT_INO) → (abs-files(fs, ri) \ abs-keys(orphans(fs, ri)))[ino] = mkfile (fs[(ri ⊖ orphans(fs, ri))[inodekey(ino)]].size, fs[(ri ⊖ orphans(fs, ri))[inodekey(ino)]].meta, fs[(ri ⊖ orphans(fs, ri))[inodekey(ino)]].nlink, abs-content(ino, fs, ri ⊖ orphans(fs, ri)))) |
inodekey(ino) ∈ ri ⊦ (fs[ri[inodekey(ino)]].nlink ≠ 0 ∨ ino = ROOT_INO → (¬ fs[ri[inodekey(ino)]].directory ↔ ¬ fs[(ri ⊖ orphans(fs, ri))[inodekey(ino)]].directory)) ∧ ( ¬ fs[ri[inodekey(ino)]].directory ∧ (fs[ri[inodekey(ino)]].nlink ≠ 0 ∨ ino = ROOT_INO) → (abs-files(fs, ri) \ abs-keys(orphans(fs, ri)))[ino] = mkfile (fs[(ri ⊖ orphans(fs, ri))[inodekey(ino)]].size, fs[(ri ⊖ orphans(fs, ri))[inodekey(ino)]].meta, fs[(ri ⊖ orphans(fs, ri))[inodekey(ino)]].nlink, abs-content(ino, fs, ri ⊖ orphans(fs, ri))))
Used simplifier rules: ⊦ inodekey(m).ino = m; (s)% ⊦ inodekey(m).inode?; (s)%⊦ key ∈ orphans(fs, ri) ↔ key.inode? ∧ key ∈ ri ∧ fs[ri[key]].nlink = 0 ∧ key.ino ≠ ROOT_INO; (s)%⊦ inodekey(ino) ∈ ri → (inodekey(ino) ∈ ri ⊖ ro ↔ ¬ inodekey(ino) ∈ ro); (s)