| err = ESUCCESS, ks = ro, ri = ri0, ro0 = ro, ro.inodes? ⊦ ⟪aubifs_replayorphans#(fi, fo, fs, log, boolvar; ks, err, ri, ro)⟫ ((err = ESUCCESS ∨ ⌊err⌋ ) ∧ (err = ESUCCESS → ks = ∅ ∧ ro = ∅ ∧ ri = ri0 ⊖ ro0)) |
err = ESUCCESS, ks = ro, ri = ri0, ro0 = ro, ro.inodes? ⊦ ⟪while ks ≠ ∅ do {/* (replayorphans-prepost: invariant ks = ro ∧ ro ⊆ ro` ∧ ri ⊖ ro = ri` ⊖ ro` ∧ ks.inodes? wfbound # ks) */; choose key with key ∈ ks in {aubifs_core_index_truncate#(key, 0, fi, ro, fo, fs, log, boolvar; ri); aubifs_core_index_remove#(key, fi, ro, fo, fs, log, boolvar; ri); aubifs_core_orphans_remove#(key, ri, fi, fo, fs, log, boolvar; ro); ks := ks -- key}}⟫ ((err = ESUCCESS ∨ ⌊err⌋ ) ∧ (err = ESUCCESS → ks = ∅ ∧ ro = ∅ ∧ ri = ri0 ⊖ ro0))
Used simplifier rules: replayorphans: ⊦ ;