| # buf0 = # buf1, files[ino] = mkfile(m, md, # links(ino, dirs), content), buf1[n2] = (⌜buf0⌝ from n)[n2 - n], ⌜# buf1⌝ = ⌜n⌝ + #(⌜buf0⌝ from n), n2 < # buf1, n < # buf1, afs-cons(dirs, files), ino ∈ files, n0 + n ≤ n1, n0 + n ≤ m, n1 ≤ # buf1 + n0, n ≤ n2 ⊦ buf0[n2] = buf1[n2] |
# buf0 = # buf1, buf1[n2] = (⌜buf0⌝ from n)[n3], files[ino] = mkfile(m, md, # links(ino, dirs), content), n2 = n3 + n, ⌜# buf1⌝ = ⌜n⌝ + #(⌜buf0⌝ from n), n < # buf1, n2 < # buf1, afs-cons(dirs, files), ino ∈ files, n ≤ n2, n1 ≤ # buf1 + n0, n0 + n ≤ m, n0 + n ≤ n1 ⊦ buf0[n2] = buf1[n2]
Used simplifier rules: n ≤ m ⊦ n0 = m - n ↔ m = n0 + n; (elim) Used terms: n2, n, n3