| ⊦ dirs = abs-dirs(fs, ri) ↔ (∀ ino. (ino ∈ dirs ↔ inodekey(ino) ∈ ri ∧ fs[ri[inodekey(ino)]].directory) ∧ (ino ∈ dirs → dirs[ino] = abs-dir(ino, fs, ri))) |
∀ ino. (ino ∈ dirs ↔ inodekey(ino) ∈ ri ∧ fs[ri[inodekey(ino)]].directory) ∧ ( ino ∈ dirs → dirs[ino] = mkdir (fs[ri[inodekey(ino)]].size, fs[ri[inodekey(ino)]].meta, fs[ri[inodekey(ino)]].nlink, fs[ri[inodekey(ino)]].nsubdirs, abs-children(ino, fs, ri))) ⊦ dirs = abs-dirs(fs, ri)
Used simplifier rules: in-dirs: ⊦ ino ∈ abs-dirs(fs, ri) ↔ inodekey(ino) ∈ ri ∧ fs[ri[inodekey(ino)]].directory;%at-dirs: ⊦ inodekey(ino) ∈ ri ∧ fs[ri[inodekey(ino)]].directory → abs-dirs(fs, ri)[ino] = abs-dir(ino, fs, ri);%dir: ⊦ abs-dir(ino, fs, ri) = mkdir (fs[ri[inodekey(ino)]].size, fs[ri[inodekey(ino)]].meta, fs[ri[inodekey(ino)]].nlink, fs[ri[inodekey(ino)]].nsubdirs, abs-children(ino, fs, ri));