| asynced0 ↔ asynced2, size = LEB_SIZE ⊦ ⟪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 → ⟨afs_format#(n, asynced2, LEB_SIZE, md; afs_dirs; afs_files, afs_asynced, err0)⟩ ( afs_dirs = (∅ ++ ROOT_INO)[ROOT_INO, mkdir(0, md, 0, 0, ∅)] ∧ afs_files = (∅ ⊕ pcache) ⊕ icache ∧ (afs_asynced ↔ true) ∧ ESUCCESS = err0)) ∧ ( err ≠ ESUCCESS → (∀ dirs, files, asynced. ⟨afs_format#(n, asynced2, LEB_SIZE, md; afs_dirs; afs_files, afs_asynced, err0)⟩ (dirs = afs_dirs ∧ files = afs_files ∧ (asynced ↔ afs_asynced) ∧ err = err0)))) |
asynced0 ↔ asynced2, err = ESUCCESS, size = LEB_SIZE ⊦ ⟪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 → ⟨afs_format#(n, asynced2, LEB_SIZE, md; afs_dirs; afs_files, afs_asynced, err0)⟩ ( afs_dirs = (∅ ++ ROOT_INO)[ROOT_INO, mkdir(0, md, 0, 0, ∅)] ∧ afs_files = (∅ ⊕ pcache) ⊕ icache ∧ (afs_asynced ↔ true) ∧ ESUCCESS = err0)) ∧ ( err ≠ ESUCCESS → (∀ dirs, files, asynced. ⟨afs_format#(n, asynced2, LEB_SIZE, md; afs_dirs; afs_files, afs_asynced, err0)⟩ (dirs = afs_dirs ∧ files = afs_files ∧ (asynced ↔ afs_asynced) ∧ err = err0))))