| asynced0 ↔ asynced1, size = LEB_SIZE ⊦ ⟪dirs := ∅, files := ∅; dirs := dirs ++ ROOT_INO; dirs[ROOT_INO] := mkdir(0, md, 0, 0, ∅); asynced := true; err := ESUCCESS; if err = ESUCCESS then icache_format#(; ; icache, err); if err = ESUCCESS then dcache_format#(; ; dcache, err); if err = ESUCCESS then pcache_format#(; ; pcache, err)⟫ ( err = ESUCCESS → asynced ∧ icache-cons(icache, dirs, files) ∧ dcache-cons(dcache, dirs, files) ∧ pcache-cons(pcache, dirs, files) ∧ synced(dirs, icache, pcache) ∧ (asynced1 → synced(files, icache, pcache)) ∧ afs-cons(dirs, files)) |
asynced0 ↔ asynced1, size = LEB_SIZE ⊦ ⟪dirs := ∅ ++ ROOT_INO; dirs[ROOT_INO] := mkdir(0, md, 0, 0, ∅); asynced := true; err := ESUCCESS; if err = ESUCCESS then icache_format#(; ; icache, err); if err = ESUCCESS then dcache_format#(; ; dcache, err); if err = ESUCCESS then pcache_format#(; ; pcache, err)⟫ ( err = ESUCCESS → asynced ∧ icache-cons(icache, dirs, ∅) ∧ dcache-cons(dcache, dirs, ∅) ∧ pcache-cons(pcache, dirs, ∅) ∧ synced(dirs, icache, pcache) ∧ (asynced1 → synced(∅, icache, pcache)) ∧ afs-cons(dirs, ∅))