| fid = ⌜ino0⌝ , ino ∈ files ⊦ (fid ∈ abs-files(files)[⌜ino⌝ , mkfile(md, (content.stream to m).buf)] ↔ fid ∈ abs-files(files[ino, mkfile(m, md, m0, content)])) ∧ ( fid ∈ abs-files(files)[⌜ino⌝ , mkfile(md, (content.stream to m).buf)] → abs-files(files)[⌜ino⌝ , mkfile(md, (content.stream to m).buf)][fid] = abs-files(files[ino, mkfile(m, md, m0, content)])[fid]) |
⊦ ⌜ino⌝ ∈ abs-files(files) ↔ ino ∈ files
ino ∈ files ⊦ (⌜ino0⌝ ∈ abs-files(files)[⌜ino⌝ , mkfile(md, (content.stream to m).buf)] ↔ ino0 ∈ files) ∧ ( ⌜ino0⌝ ∈ abs-files(files)[⌜ino⌝ , mkfile(md, (content.stream to m).buf)] → abs-files(files)[⌜ino⌝ , mkfile(md, (content.stream to m).buf)][⌜ino0⌝ ] = abs-files(files[ino, mkfile(m, md, m0, content)])[⌜ino0⌝ ])
Used simplifier rules: abs-files-in: ⊦ ⌜ino⌝ ∈ abs-files(files) ↔ ino ∈ files;% ⊦ ino ∈ files[ino0, af] ↔ ino ∈ files; (s)