| ∀ key. key ∈ pcache → key.data? ⊦ ⟪if ∀ key. key ∈ pcache → key.data? then pcache := truncate(ino, min(n, size), pcache) else abort⟫ ∀ key. key ∈ pcache → key.data? ∧ (key.ino = ino → key.part * VFS_PAGE_SIZE < min(n, size)) |
∀ key. key ∈ pcache → key.data? ⊦ ⟪pcache := truncate(ino, min(n, size), pcache)⟫ ∀ key. key ∈ pcache → key.data? ∧ (key.ino = ino → key.part * VFS_PAGE_SIZE < min(n, size))