| asynced ↔ true, afs-cons(dirs, files), ino ∈ dirs ∨ ino ∈ files ⊦ ⟨if pre-iget(ino, dirs, files) then {{inode := getinode(ino, dirs, files); err := ESUCCESS} or fail#(; ; err)} else abort⟩ true |
asynced ↔ true, afs-cons(dirs, files), ino ∈ dirs ∨ ino ∈ files ⊦ ⟨{inode := getinode(ino, dirs, files); err := ESUCCESS} or fail#(; ; err)⟩ true
Used simplifier rules: ⊦ pre-iget(ino, dirs, files) ↔ valid-ino(ino, dirs, files); (s)% ⊦ valid-ino(ino, dirs, files) ↔ ino ∈ dirs ∨ ino ∈ files; (s)