| dirs = abs-dirs(fs0, ri1) \ abs-keys(orphans(fs0, ri1)), files = abs-files(fs0, ri1) \ abs-keys(orphans(fs0, ri1)), orphans(fs0, ri1).inodes?, fo0.inodes?, afs-cons(abs-dirs(fs0, ri1), abs-files(fs0, ri1)), file-node-cons(fs0, ri1), file-node-cons(fs0, replay-log(log0, fs0, fi0 ⊖ fo0)), log-cons(log0, fs0), orphans-cons(fs0, ri1, orphans(fs0, ri1)), orphans-cons(fs0, replay-log(log0, fs0, fi0 ⊖ fo0), ∅), replay-cons-strong(fs0, ri1, orphans(fs0, ri1), fi0, fo0, log0), replay-cons-strong(fs0, replay-log(log0, fs0, fi0 ⊖ fo0), ∅, fi0, fo0, log0), replay-safe(log0, fs0, fi0 ⊖ fo0), ri-inj(ri1), ri-inj(fi0), ri-inj(replay-log(log0, fs0, fi0 ⊖ fo0)), ubifs-cons(fs0, ri1, orphans(fs0, ri1), fi0, fo0, log0), ubifs-cons(fs0, replay-log(log0, fs0, fi0 ⊖ fo0), ∅, fi0, fo0, log0) ⊦ ⟨afs_recovery#(boolvar2; dirs, files; asynced, err1)⟩ ( dirs = abs-dirs(fs0, replay-log(log0, fs0, fi0 ⊖ fo0)) ∧ files = abs-files(fs0, replay-log(log0, fs0, fi0 ⊖ fo0)) ∧ orphans(abs-dirs(fs0, replay-log(log0, fs0, fi0 ⊖ fo0)), abs-files(fs0, replay-log(log0, fs0, fi0 ⊖ fo0))) = ∅ ∧ ESUCCESS = err1) |
boolvar ↔ boolvar2, dirs = abs-dirs(fs0, ri1) \ abs-keys(orphans(fs0, ri1)), files = abs-files(fs0, ri1) \ abs-keys(orphans(fs0, ri1)), fo0.inodes?, orphans(fs0, ri1).inodes?, afs-cons(abs-dirs(fs0, ri1), abs-files(fs0, ri1)), file-node-cons(fs0, replay-log(log0, fs0, fi0 ⊖ fo0)), file-node-cons(fs0, ri1), log-cons(log0, fs0), orphans-cons(fs0, replay-log(log0, fs0, fi0 ⊖ fo0), ∅), orphans-cons(fs0, ri1, orphans(fs0, ri1)), replay-cons-strong(fs0, replay-log(log0, fs0, fi0 ⊖ fo0), ∅, fi0, fo0, log0), replay-cons-strong(fs0, ri1, orphans(fs0, ri1), fi0, fo0, log0), replay-safe(log0, fs0, fi0 ⊖ fo0), ri-inj(replay-log(log0, fs0, fi0 ⊖ fo0)), ri-inj(fi0), ri-inj(ri1), ubifs-cons(fs0, replay-log(log0, fs0, fi0 ⊖ fo0), ∅, fi0, fo0, log0), ubifs-cons(fs0, ri1, orphans(fs0, ri1), fi0, fo0, log0) ⊦ ⟨asynced := true, err := ESUCCESS or {dirs := ?, files := ?, asynced := ?; fail#(; ; err)}⟩ ( dirs = abs-dirs(fs0, replay-log(log0, fs0, fi0 ⊖ fo0)) ∧ files = abs-files(fs0, replay-log(log0, fs0, fi0 ⊖ fo0)) ∧ orphans(abs-dirs(fs0, replay-log(log0, fs0, fi0 ⊖ fo0)), abs-files(fs0, replay-log(log0, fs0, fi0 ⊖ fo0))) = ∅ ∧ ESUCCESS = err)
Used simplifier rules: afs_recovery#(DOSYNC; DIRS, FILES; ASYNCED, ERR) { ASYNCED := true, ERR := ESUCCESS or {DIRS := ?, FILES := ?, ASYNCED := ?; fail#(; ; ERR)} };