| of1[fd] = mkfile(m, mode, m0), err = err0, files = files1, n = n1, of = of1, afs-cons(dirs, files1), of-cons(of1, dirs, files1), fd ∈ of1, n1 ≤ # buf, ⌊err0⌋ ⊦ [skip] (err = ESUCCESS ⊃ (files[m].content.stream to files[m].size).buf = splice(buf, 0, (files1[m].content.stream to files1[m].size).buf, m0, n) ∧ of = of1[fd, of1[fd].pos:= (m0 + n)] ∧ n ≤ n1 ∧ m ∈ files1 ∧ m ∈ files ∧ files[m].meta = files1[m].meta ∧ files -- m = files1 -- m ∧ (mode = MODE_W ∨ mode = MODE_RW) ;files ~ files1 ∧ of1 = of ∧ (err = EBADFD ∧ (fd ∈ of → of[fd].mode ≠ MODE_W ∧ of[fd].mode ≠ MODE_RW) ∨ ⌊err⌋ ) ), n1 = 0, mode ≠ MODE_W ∧ mode ≠ MODE_RW |
Used simplifier rules: ⊦ ⌊err⌋ → err ≠ ESUCCESS; (s)% ⊦ files ~ files; (s)