| write-inv(n0, n0 + n1, mkinode(ino, md, false, m, m1, m0), buf, n2, dirs, files0, files1) ⊦ n2 ≤ n1 |
⊦ write-inv(n0, n1, mkinode(ino, md, false, m, m1, m0), buf, n, dirs, files0, files1) → ino ∈ files0
⊦ write-inv(n0, n1, mkinode(ino, md, false, m, m1, m0), buf, n, dirs, files0, files1) → ino ∈ files1
⊦ write-inv(n0, n1, mkinode(ino, md, false, m, m1, m0), buf, n, dirs, files0, files1) → ino ∈ files0
n1 < n2, write-inv(n0, n0 + n1, mkinode(ino, md, false, m, m1, m0), buf, n2, dirs, files0, files1), ino ∈ files1 ⊦
Used simplifier rules: write-inv-in1: ⊦ write-inv (n0, n1, mkinode(ino, md, false, m, m1, m0), buf, n, dirs, files0, files1) → ino ∈ files0;%write-inv-in0: ⊦ write-inv (n0, n1, mkinode(ino, md, false, m, m1, m0), buf, n, dirs, files0, files1) → ino ∈ files1;%write-inv-in1: ⊦ write-inv (n0, n1, mkinode(ino, md, false, m, m1, m0), buf, n, dirs, files0, files1) → ino ∈ files0;% ⊦ m < n → n ≠ 0; (s)%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic% ⊦ m ≤ n ↔ ¬ n < m; (ss)