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