| ri0 = ri, fs[adr].trunc?, node-cons(fs[adr].key, fs[adr]), adr ∈ fs, ¬ fs[adr].data?, ¬ fs[adr].dentry?, ¬ fs[adr].inode?, ¬ adr ∈ ri ⊦ ⟪aubifs_core_index_truncate#(fs[adr].key, fs[adr].size, fi, ro, fo, fs, log, boolvar0; ri)⟫ (ri = replay-one(adr, fs[adr], ri0)) |
fs[adr] = truncnode(key, m), ri0 = ri, fs[adr].trunc?, node-cons(key, fs[adr]), adr ∈ fs ⊦ ⟪aubifs_core_index_truncate#(key, m, fi, ro, fo, fs, log, boolvar0; ri)⟫ (ri = replay-one(adr, fs[adr], ri0)), fs[adr].data?, fs[adr].dentry?, fs[adr].inode?, adr ∈ ri
Used simplifier rules: ⊦ nd.trunc? → (key = nd.key ∧ m = nd.size ↔ nd = truncnode(key, m)); (elim) Used terms: fs[adr], key, m