| ri-cons(ri, fs), inodekey(ino) ∈ ri[key, adr], key ∈ ri, ∀ ino. inodekey(ino) ∈ ri → (fs[ri[inodekey(ino)]].nlink = 0 ∧ ino ≠ ROOT_INO ↔ inodekey(ino) ∈ ro) ⊦ fs[adr, fs[ri[key]]][ri[key, adr][inodekey(ino)]].nlink = 0 ∧ ino ≠ ROOT_INO ↔ inodekey(ino) ∈ ro, ri[key, adr][inodekey(ino)] = adr, adr ∈ fs |
ri-cons(ri, fs), key ∈ ri, inodekey(ino) ∈ ri[key, adr], ∀ ino. inodekey(ino) ∈ ri → (fs[ri[inodekey(ino)]].nlink = 0 ∧ ino ≠ ROOT_INO ↔ inodekey(ino) ∈ ro) ⊦ fs[ri[key, adr][inodekey(ino)]].nlink = 0 ∧ ino ≠ ROOT_INO ↔ inodekey(ino) ∈ ro, ri[key, adr][inodekey(ino)] = adr, adr ∈ fs
Used simplifier rules: ⊦ adr ≠ adr0 → fs[adr0, nd][adr] = fs[adr]; (s)