| orphans-cons(fs, ri, ro), ri-cons(ri, fs), key ∈ ri ⊦ orphans-cons(fs[adr, fs[ri[key]]], ri[key, adr], ro), adr ∈ fs |
⊦ orphans-cons(fs, ri, ro) ↔ (∀ ino. inodekey(ino) ∈ ri → (fs[ri[inodekey(ino)]].nlink = 0 ∧ ino ≠ ROOT_INO ↔ inodekey(ino) ∈ ro))
orphans-cons(fs, ri, ro), ri-cons(ri, fs), key ∈ ri ⊦ adr ∈ fs, ∀ ino. inodekey(ino) ∈ ri[key, adr] → (fs[adr, fs[ri[key]]][ri[key, adr][inodekey(ino)]].nlink = 0 ∧ ino ≠ ROOT_INO ↔ inodekey(ino) ∈ ro)
Used terms: ro, ri[key, adr], fs[adr, fs[ri[key]]]