| boolvar ↔ boolvar2, dirs = dirs1, files = files1, orphans(fs0, ri1).inodes?, fo0.inodes?, afs-cons(abs-dirs(fs0, ri1), abs-files(fs0, ri1)), file-node-cons(fs0, ri1), log-cons(log0, fs0), orphans-cons(fs0, ri1, orphans(fs0, ri1)), replay-cons-strong(fs0, ri1, orphans(fs0, ri1), fi0, fo0, log0), replay-safe(log0, fs0, fi0 ⊖ fo0), ri-inj(ri1), ri-inj(fi0), ubifs-cons(fs0, ri1, orphans(fs0, ri1), fi0, fo0, log0), ⌊err0⌋ ⊦ ⟨dirs := ?, files := ?, asynced := ?; fail#(; ; err)⟩ (dirs0 = dirs ∧ files0 = files ∧ (boolvar ↔ asynced) ∧ err0 = err), ⟨asynced := true, err := ESUCCESS⟩ (dirs0 = dirs ∧ files0 = files ∧ (boolvar ↔ asynced) ∧ err0 = err) |
boolvar ↔ boolvar2, dirs2 = dirs1, files2 = files1, fo0.inodes?, orphans(fs0, ri1).inodes?, afs-cons(abs-dirs(fs0, ri1), abs-files(fs0, ri1)), file-node-cons(fs0, ri1), log-cons(log0, fs0), orphans-cons(fs0, ri1, orphans(fs0, ri1)), replay-cons-strong(fs0, ri1, orphans(fs0, ri1), fi0, fo0, log0), replay-safe(log0, fs0, fi0 ⊖ fo0), ri-inj(fi0), ri-inj(ri1), ubifs-cons(fs0, ri1, orphans(fs0, ri1), fi0, fo0, log0), ⌊err0⌋ ⊦ ∃ dirs, files, asynced. ⟨fail#(; ; err)⟩ (dirs0 = dirs ∧ files0 = files ∧ (boolvar ↔ asynced) ∧ err0 = err), ⟨asynced0 := true, err := ESUCCESS⟩ (dirs0 = dirs2 ∧ files0 = files2 ∧ (boolvar ↔ asynced0) ∧ err0 = err)