| boolvar1 ↔ boolvar0, fs[adr] = datanode(datakey(ino, n), buf), err = err0, key = inodekey(ino), adr ∈ fs, ⌊err0⌋ ∨ err0 = ESUCCESS ⊦ ⟪ri0 := ri; nd := fs[adr]; if err = ESUCCESS ∧ boolvar then aubifs_core_index_store#(nd.key, adr, fi, ro, fo, fs, log, boolvar0; ri); if nd.trunc? then aubifs_core_index_truncate#(nd.key, nd.size, fi, ro, fo, fs, log, boolvar0; ri)⟫ ((err = ESUCCESS ∨ ⌊err⌋ ) ∧ (err = ESUCCESS → ri = replay-one(adr, fs[adr], ri0))), err = ESUCCESS, adr ∈ ri |
boolvar1 ↔ boolvar0, fs[adr] = datanode(datakey(ino, n), buf), err = err0, key = inodekey(ino), ri0 = ri, adr ∈ fs, ⌊err0⌋ ∨ err0 = ESUCCESS ⊦ ⟪nd := fs[adr]; if err = ESUCCESS ∧ boolvar then aubifs_core_index_store#(nd.key, adr, fi, ro, fo, fs, log, boolvar0; ri); if nd.trunc? then aubifs_core_index_truncate#(nd.key, nd.size, fi, ro, fo, fs, log, boolvar0; ri)⟫ ((err = ESUCCESS ∨ ⌊err⌋ ) ∧ (err = ESUCCESS → ri = replay-one(adr, fs[adr], ri0))), err = ESUCCESS, adr ∈ ri