| files1[m] = mkfile(m0, md0, files[m].nlink, content), m ∈ files, m ∈ files1 ⊦ [fail_or_success#(; ; err); choose bv with true in asynced := bv] (err = ESUCCESS ∨ ⌊err⌋ ) |
files1[m] = mkfile(m0, md0, m2, content), files[m] = mkfile(m1, md, m2, content0), m ∈ files1, m ∈ files ⊦ [fail_or_success#(; ; err); choose bv with true in asynced := bv] (err = ESUCCESS ∨ ⌊err⌋ )
Used simplifier rules: ⊦ ((m = af.size ∧ md = af.meta) ∧ m0 = af.nlink) ∧ content = af.content ↔ af = mkfile(m, md, m0, content); (elim) Used terms: files[m], m1, md, m2, content0