| ri = ri0 \ datakeys(key, ri0), ri0 ⊖ ks0 = ri1 ⊖ ro1, # ro1 ≠ 0, # ks0 ≠ 0, ks0 ≠ ∅, ro1 ≠ ∅, ro1.inodes?, ks0.inodes?, key ∈ ks0, key ∈ ro1, ks0 ⊆ ro1 ⊦ ⟪aubifs_core_index_remove#(key, fi, ks0, fo, fs, log, boolvar; ri); ro0 := ks0; ks1 := ks0; aubifs_core_orphans_remove#(key, ri, fi, fo, fs, log, boolvar; ks0); ks2 := ro0 -- key⟫ (ks2 = ks0 ∧ ks0 ⊆ ro1 ∧ ri ⊖ ks0 = ri1 ⊖ ro1 ∧ ks0.inodes? ∧ # ks0 < # ks1) |
ri = ri0 \ datakeys(key, ri0), ro = ks0, ri0 ⊖ ks0 = ri1 ⊖ ro1, ks0.inodes?, ro1.inodes?, key ∈ ro1, key ∈ ks0, ks0 ⊆ ro1 ⊦ ⟪ri := ri -- key; ro0 := ks0; ks1 := ks0; aubifs_core_orphans_remove#(key, ri, fi, fo, fs, log, boolvar; ks0); ks2 := ro0 -- key⟫ (ks2 = ks0 ∧ ks0 ⊆ ro1 ∧ ri ⊖ ks0 = ri1 ⊖ ro1 ∧ ks0.inodes? ∧ # ks0 < # ks1), # ro1 = 0, # ks0 = 0, ks0 = ∅, ro1 = ∅
Used simplifier rules: aubifs_core_index_remove#(KEY, FI, RO, FO, FS, LOG, CSYNCED; RI) {RI := RI -- KEY};