| fi0 = fi, fo0 = fo, fs0 = fs, log0 = log, fo.inodes?, replay-safe(log, fs, fi ⊖ fo) ⊦ ⟪aubifs_core_recover#(boolvar0; ax, ks, fi, ro, fo, log, fs; ri, boolvar, err); if err = ESUCCESS then aubifs_replayorphans#(fi, fo, fs, log, boolvar; ks, err, ri, ro); if err = ESUCCESS then aubifs_replaylog#(ax, fi, ro, fo, fs, log, boolvar; err, ri); if err = ESUCCESS then aubifs_core_journal_sync#(ri, fi, ro, fo, fs, log; ; boolvar, err)⟫ ( (err = ESUCCESS ∨ ⌊err⌋ ) ∧ (err = ESUCCESS → ri = replay-log(log0, fs0, fi0 ⊖ fo0) ∧ ro = ∅ ∧ fs = fs0 ∧ fi = fi0 ∧ fo = fo0 ∧ log = log0 ∧ boolvar)) |
fi0 = fi, fo0 = fo, fs0 = fs, log0 = log, fo.inodes?, replay-safe(log, fs, fi ⊖ fo) ⊦ ⟪aubifs_core_recover#(boolvar0; ax, ks, fi, ro, fo, log, fs; ri, boolvar, err); if err = ESUCCESS then aubifs_replayorphans#(fi, fo, fs, log, boolvar; ks, err, ri, ro); if err = ESUCCESS then aubifs_replaylog#(ax, fi, ro, fo, fs, log, boolvar; err, ri); if err = ESUCCESS then aubifs_core_journal_sync#(ri, fi, ro, fo, fs, log; ; boolvar, err)⟫ ( (err = ESUCCESS ∨ ⌊err⌋ ) ∧ (err = ESUCCESS → ri = replay-log(log0, fs0, fi0 ⊖ fo0) ∧ ro = ∅ ∧ fs = fs0 ∧ fi = fi0 ∧ fo = fo0 ∧ log = log0 ∧ boolvar))