| afs-cons(dirs, files), m ∈ files, n1 ≤ # buf + n0, n0 + n ≤ n1, n0 + n ≤ m2, n ≤ # buf ⊦ ⟪vfs_read_loop#(n0, n1, mkinode(m, md, boolvar, m0, m1, m2), bv, dirs, files, asynced; buf, n, err)⟫ true |
⊦
isdir ↔ bv, ino = n, ino0 = n1, ino1 = n0, inode = mkinode(m, md, boolvar, m0, m1, m2), afs-cons(dirs, files), m ∈ files, n ≤ # buf, n0 + n ≤ m2, n0 + n ≤ n1, n1 ≤ # buf + n0 ⊦ ⟪while err = ESUCCESS ∧ ¬ isdir do vfs_read_block#(ino1, ino0, inode, dirs, files, asynced; buf, ino, isdir, err)⟫ true
Used simplifier rules: read-loop: ⊦ ;