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