| tree[p] = fnode(⌜m⌝ ), ((abs|(tree, ino, p, m) * D))(dirs), ispath(p, ino, m, dirs, files), p ∈ tree, ∀ ino. ⌜ino⌝ ∈ tree.fids → ino ∈ files, ∀ ino. ¬ ino ∈ files ∨ ¬ ino ∈ dirs ⊦ abs-files(files)[⌜m⌝ ].meta = meta(ε, m, dirs, files), m ∈ dirs |
tree[p] = fnode(⌜m⌝ ), abs-files(files)[⌜m⌝ ] = mkfile(md, buf), ((abs|(tree, ino, p, m) * D))(dirs), ispath(p, ino, m, dirs, files), p ∈ tree, ∀ ino. ¬ ino ∈ files ∨ ¬ ino ∈ dirs, ∀ ino. ⌜ino⌝ ∈ tree.fids → ino ∈ files ⊦ md = meta(ε, m, dirs, files), m ∈ dirs
Used simplifier rules: ⊦ md = f.meta ∧ buf = f.content ↔ f = mkfile(md, buf); (elim) Used terms: abs-files(files)[⌜m⌝ ], md, buf