| ⊦ ⟪vfs_format#(n, isdir0, LEB_SIZE, md; dirs, files, asynced; of, ino0, err)⟫ ( ( err = ESUCCESS → ⟨posix_format#(n, isdir0, LEB_SIZE, md; ; root, fs0, ofh0, psynced, err0)⟩ (ofh0 = abs-of(of) ∧ fs0 = abs-files(files) ∧ abs(root, ROOT_INO)(dirs) ∧ (psynced → asynced) ∧ ESUCCESS = err0)) ∧ ( err ≠ ESUCCESS → (∀ tree, fs, ofh, isdir. ⟨posix_format#(n, isdir0, LEB_SIZE, md; ; root, fs0, ofh0, psynced, err0)⟩ (tree = root ∧ fs = fs0 ∧ ofh = ofh0 ∧ (isdir ↔ psynced) ∧ err = err0)))) |
isdir ↔ isdir0, ino0 = LEB_SIZE ⊦ ⟪if ino0 = LEB_SIZE then {of := ∅; ino := 0; afs_format#(n, isdir, ino0, md; dirs; files, asynced, err)} else abort⟫ ( ( err = ESUCCESS → ⟨posix_format#(n, isdir0, LEB_SIZE, md; ; root, fs0, ofh0, psynced, err0)⟩ (ofh0 = abs-of(of) ∧ fs0 = abs-files(files) ∧ abs(root, ROOT_INO)(dirs) ∧ (psynced → asynced) ∧ ESUCCESS = err0)) ∧ ( err ≠ ESUCCESS → (∀ tree, fs, ofh, isdir. ⟨posix_format#(n, isdir0, LEB_SIZE, md; ; root, fs0, ofh0, psynced, err0)⟩ (tree = root ∧ fs = fs0 ∧ ofh = ofh0 ∧ (isdir ↔ psynced) ∧ err = err0))))
Used simplifier rules: vfs_format# (N, DOSYNC, SIZE, MD; DIRS, FILES, ASYNCED; OF, MAXINO, ERR) {if SIZE = LEB_SIZE then {OF := ∅; MAXINO := 0; afs_format#(N, DOSYNC, SIZE, MD; DIRS; FILES, ASYNCED, ERR)} else abort };