| err0 = ESUCCESS, ks = fo, ri = fi, ro = fo, fo.inodes?, replay-safe(log, fs, fi ⊖ fo) ⊦ ⟪aubifs_replayorphans#(fi, fo, fs, log, true; ks, err0, ri, ro); boolvar := true; if err0 = ESUCCESS then aubifs_replaylog#(log, fi, ro, fo, fs, log, boolvar; err0, ri); if err0 = ESUCCESS then aubifs_core_journal_sync#(ri, fi, ro, fo, fs, log; ; boolvar, err0)⟫ ((err0 = ESUCCESS ∨ ⌊err0⌋ ) ∧ (err0 = ESUCCESS → ri = replay-log(log, fs, fi ⊖ fo) ∧ ro = ∅ ∧ boolvar)) |
ri = ri0, ro0 = ro, ks = ro, err = ESUCCESS, ks.inodes? ⊦ ⟪aubifs_replayorphans#(fi, fo, fs, log, boolvar; ks, err, ri, ro)⟫ ((err = ESUCCESS ∨ ⌊err⌋ ) ∧ (err = ESUCCESS → ks = ro ∧ ro = ∅ ∧ ri = ri0 ⊖ ro0))
boolvar0 ↔ true, err0 = ESUCCESS, fi0 = fi, fo0 = fo, fs0 = fs, ks = fo, ks = ro, log0 = log, ri = fi, ri = ri, ri1 = ri, ro = fo, ro = ro, ro1 = ro, fo.inodes?, ks.inodes?, replay-safe(log, fs, fi ⊖ fo) ⊦ [aubifs_replayorphans#(fi, fo, fs, log, true; ks, err0, ri, ro)] ( (err0 = ESUCCESS ∨ ⌊err0⌋ ) ∧ (err0 = ESUCCESS → ks = ro ∧ ro = ∅ ∧ ri = ri1 ⊖ ro1) → ⟪boolvar := true; if err0 = ESUCCESS then aubifs_replaylog#(log, fi, ro, fo, fs, log, boolvar; err0, ri); if err0 = ESUCCESS then aubifs_core_journal_sync#(ri, fi, ro, fo, fs, log; ; boolvar, err0)⟫ ((err0 = ESUCCESS ∨ ⌊err0⌋ ) ∧ (err0 = ESUCCESS → ri = replay-log(log, fs, fi ⊖ fo) ∧ ro = ∅ ∧ boolvar)))