| Symbol | Specification | Kind | Type |
|---|
| # . | string | f | string → nat |
| # . | open-files | f | open-files → nat |
| # . | dir-entries | f | dir-entries → nat |
| # . | alink-set | f | alink-set → nat |
| # . | dir-entries | f | stringset → nat |
| # . | path | f | path → nat |
| # . | open-files | f | nat-set → nat |
| # . | file-heap | f | file-heap → nat |
| # . | dir-heap | f | dir-heap → nat |
| # . | file-content | f | file-content → nat |
| # . | buffer | f | buffer → nat |
| . % . | nat-div | pf | nat × nat → nat with λ n, m. m ≠ 0 |
| . ' | string | f | char → string |
| . ' | path | f | string → path |
| . * . | nat-mult | f | nat × nat → nat |
| . * . | dir-heap | f | (dir-heap → bool) × (dir-heap → bool) → dir-heap → bool |
| . * . | file-heap | f | (file-heap → bool) × (file-heap → bool) → file-heap → bool |
| . + . | nat-basic | f | nat × nat → nat |
| . + . | string | f | char × string → string |
| . + . | path | f | path × string → path |
| . + . | string | f | string × string → string |
| . + . | path | f | path × path → path |
| . + . | string | f | string × char → string |
| . + . | path | f | string × path → path |
| . + . | buffer | f | buffer × buffer → buffer |
| . ++ . | alink-set | f | alink-set × alink → alink-set |
| . ++ . | string | f | string × char → string |
| . ++ . | path | f | path × string → path |
| . ++ . | dir-entries | f | stringset × string → stringset |
| . ++ . | file-heap | f | file-heap × nat → file-heap |
| . ++ . | open-files | f | nat-set × nat → nat-set |
| . ++ . | dir-heap | f | dir-heap × nat → dir-heap |
| . +1 | nat-basic | f | nat → nat |
| . +2 . | string | f | char × char → string |
| . +2 . | path | f | string × string → path |
| . - . | nat | pf | nat × nat → nat with λ n, m. n ≥ m |
| . -* . | file-heap | f | (file-heap → bool) × (file-heap → bool) → file-heap → bool |
| . -* . | dir-heap | f | (dir-heap → bool) × (dir-heap → bool) → dir-heap → bool |
| . -- . | dir-entries | f | dir-entries × string → dir-entries |
| . -- . | open-files | f | open-files × nat → open-files |
| . -- . | dir-entries | f | stringset × string → stringset |
| . -- . | alink-set | f | alink-set × alink → alink-set |
| . -- . | open-files | f | nat-set × nat → nat-set |
| . -- . | dir-heap | f | dir-heap × nat → dir-heap |
| . -- . | file-heap | f | file-heap × nat → file-heap |
| . -- . | file-content | f | file-content × nat → file-content |
| . -> . | file-heap | f | (file-heap → bool) × (file-heap → bool) → file-heap → bool |
| . -> . | dir-heap | f | (dir-heap → bool) × (dir-heap → bool) → dir-heap → bool |
| . -⊗ . | dir-heap | f | (dir-heap → bool) × (dir-heap → bool) → dir-heap → bool |
| . -⊗ . | file-heap | f | (file-heap → bool) × (file-heap → bool) → file-heap → bool |
| . -1 | nat-basic | pf | nat → nat with λ n. n ≠ 0 |
| . -1l . | string | f | string × char → string |
| . -1l . | path | f | path × string → path |
| . -l . | string | f | string × char → string |
| . -l . | path | f | path × string → path |
| . -p . | path | f | path × nat → path |
| . -p . | string | f | string × nat → string |
| . .buf | buffer-option | pf | buffer-opt → buffer with λ buf-opt. buf-opt.some? |
| . .butlast | string | pf | string → string with λ str. str ≠ "" |
| . .butmax | nat-set | pf | nat-set → nat-set with λ ns. ns ≠ ∅ |
| . .butmin | nat-set | pf | nat-set → nat-set with λ ns. ns ≠ ∅ |
| . .char1 | string | pf | string → char with λ str. str ≠ "" |
| . .content | abstract-file | f | abstract-file → file-content |
| . .content:= . | abstract-file | f | abstract-file × file-content → abstract-file |
| . .dentry? | dentry | p | dentry |
| . .directory | inode | p | inode |
| . .directory:= . | inode | f | inode × bool → inode |
| . .entries | abstract-dir | f | abstract-dir → dir-entries |
| . .entries:= . | abstract-dir | f | abstract-dir × dir-entries → abstract-dir |
| . .head | path | pf | path → string with λ p. p ≠ ε |
| . .ino | dentry | pf | dentry → nat with λ dent. dent.dentry? |
| . .ino | inode | f | inode → nat |
| . .ino | file | f | file → nat |
| . .ino:= . | dentry | pf | dentry × nat → dentry with λ dent, m. dent.dentry? |
| . .ino:= . | inode | f | inode × nat → inode |
| . .ino:= . | file | f | file × nat → file |
| . .last | path | pf | path → string with λ p. p ≠ ε |
| . .last | string | pf | string → char with λ str. str ≠ "" |
| . .max | nat-set | pf | nat-set → nat with λ ns. ns ≠ ∅ |
| . .meta | abstract-dir | f | abstract-dir → metadata |
| . .meta | abstract-file | f | abstract-file → metadata |
| . .meta | inode | f | inode → metadata |
| . .meta:= . | inode | f | inode × metadata → inode |
| . .meta:= . | abstract-dir | f | abstract-dir × metadata → abstract-dir |
| . .meta:= . | abstract-file | f | abstract-file × metadata → abstract-file |
| . .min | nat-set | pf | nat-set → nat with λ ns. ns ≠ ∅ |
| . .mode | file | f | file → file-mode |
| . .mode:= . | file | f | file × file-mode → file |
| . .name | alink | f | alink → string |
| . .name | dentry | f | dentry → string |
| . .name:= . | dentry | f | dentry × string → dentry |
| . .negdentry? | dentry | p | dentry |
| . .nlink | abstract-dir | f | abstract-dir → nat |
| . .nlink | inode | f | inode → nat |
| . .nlink | abstract-file | f | abstract-file → nat |
| . .nlink:= . | abstract-dir | f | abstract-dir × nat → abstract-dir |
| . .nlink:= . | inode | f | inode × nat → inode |
| . .nlink:= . | abstract-file | f | abstract-file × nat → abstract-file |
| . .none? | buffer-option | p | buffer-opt |
| . .nsubdirs | abstract-dir | f | abstract-dir → nat |
| . .nsubdirs | inode | f | inode → nat |
| . .nsubdirs:= . | abstract-dir | f | abstract-dir × nat → abstract-dir |
| . .nsubdirs:= . | inode | f | inode × nat → inode |
| . .pino | alink | f | alink → nat |
| . .pos | file | f | file → nat |
| . .pos:= . | file | f | file × nat → file |
| . .rstring | string | pf | string → string with λ str. str ≠ "" |
| . .size | abstract-dir | f | abstract-dir → nat |
| . .size | inode | f | inode → nat |
| . .size | abstract-file | f | abstract-file → nat |
| . .size:= . | abstract-dir | f | abstract-dir × nat → abstract-dir |
| . .size:= . | abstract-file | f | abstract-file × nat → abstract-file |
| . .size:= . | inode | f | inode × nat → inode |
| . .some? | buffer-option | p | buffer-opt |
| . .tail | path | pf | path → path with λ p. p ≠ ε |
| . / . | nat-div | pf | nat × nat → nat with λ n, m. m ≠ 0 |
| . < . | nat-set | p | nat-set × nat |
| . < . | nat-basic | p | nat × nat |
| . < . | nat-set | p | nat × nat-set |
| . < . | path | p | path × path |
| . => . | dir-heap | f | nat × abstract-dir → dir-heap → bool |
| . => . | file-heap | f | nat × abstract-file → file-heap → bool |
| . =>ad | dir-heap | f | nat → dir-heap → bool |
| . =>ad? | dir-heap | f | nat → dir-heap → bool |
| . =>af | file-heap | f | nat → file-heap → bool |
| . =>af? | file-heap | f | nat → file-heap → bool |
| . > . | nat | p | nat × nat |
| . [ . ] | open-files | pf | open-files × nat → file with λ of, fd. fd ∈ of |
| . [ . ] | dir-entries | f | dir-entries × string × nat → dir-entries |
| . [ . ] | path | pf | path × nat × string → path with λ p, n, str. n < # p |
| . [ . ] | path | pf | path × nat → string with λ p, n. n < # p |
| . [ . ] | file-content | pf | file-content × nat → buffer with λ content, n. n ∈ content |
| . [ . ] | buffer | pf | buffer × nat × data → buffer with λ buf, n, d. n < # buf |
| . [ . ] | buffer | pf | buffer × nat → data with λ buf, n. n < # buf |
| . [ . ] | dir-heap | f | dir-heap × nat → abstract-dir |
| . [ . ] | dir-entries | pf | dir-entries × string → nat with λ entries, str. str ∈ entries |
| . [ . ] | dir-heap | f | dir-heap × nat × abstract-dir → dir-heap |
| . [ . ] | string | pf | string × nat × char → string with λ str, n, char. n < # str |
| . [ . ] | file-content | f | file-content × nat × buffer → file-content |
| . [ . ] | string | pf | string × nat → char with λ str, n. n < # str |
| . [ . ] | file-heap | f | file-heap × nat → abstract-file |
| . [ . ] | open-files | f | open-files × nat × file → open-files |
| . [ . ] | file-heap | f | file-heap × nat × abstract-file → file-heap |
| . \ . | dir-entries | f | stringset × stringset → stringset |
| . \ . | dir-entries | f | dir-entries × stringset → dir-entries |
| . \ . | open-files | f | nat-set × nat-set → nat-set |
| . \ . | open-files | f | open-files × nat-set → open-files |
| . \ . | dir-heap | f | dir-heap × nat-set → dir-heap |
| . \ . | alink-set | f | alink-set × alink-set → alink-set |
| . \ . | dir-heap | f | dir-heap × dir-heap → dir-heap |
| . \ . | file-heap | f | file-heap × file-heap → file-heap |
| . \ . | file-heap | f | file-heap × nat-set → file-heap |
| . | . | open-files | f | open-files × nat-set → open-files |
| . | . | dir-entries | f | dir-entries × stringset → dir-entries |
| . ∈ . | open-files | p | file × open-files |
| . ∈ . | string | p | char × string |
| . ∈ . | open-files | p | nat × open-files |
| . ∈ . | dir-entries | p | string × dir-entries |
| . ∈ . | alink-set | p | alink × alink-set |
| . ∈ . | dir-entries | p | string × stringset |
| . ∈ . | path | p | string × path |
| . ∈ . | dir-entries | p | nat × dir-entries |
| . ∈ . | file-heap | p | nat × file-heap |
| . ∈ . | open-files | p | nat × nat-set |
| . ∈ . | file-content | p | nat × file-content |
| . ∈ . | dir-heap | p | nat × dir-heap |
| . ∈ . | buffer | p | data × buffer |
| . ∩ . | dir-entries | f | stringset × stringset → stringset |
| . ∩ . | alink-set | f | alink-set × alink-set → alink-set |
| . ∩ . | open-files | f | nat-set × nat-set → nat-set |
| . ∪ . | dir-entries | f | stringset × stringset → stringset |
| . ∪ . | open-files | f | nat-set × nat-set → nat-set |
| . ∪ . | dir-heap | f | dir-heap × dir-heap → dir-heap |
| . ∪ . | alink-set | f | alink-set × alink-set → alink-set |
| . ∪ . | file-heap | f | file-heap × file-heap → file-heap |
| . ≡ . | file-heap | p | file-heap × file-heap |
| . ≡ . | dir-heap | p | dir-heap × dir-heap |
| . ≤ . | nat | p | nat × nat |
| . ≥ . | nat | p | nat × nat |
| . ⊆ . | open-files | p | open-files × open-files |
| . ⊆ . | alink-set | p | alink-set × alink-set |
| . ⊆ . | file-heap | p | (file-heap → bool) × (file-heap → bool) |
| . ⊆ . | dir-entries | p | dir-entries × dir-entries |
| . ⊆ . | file-heap | p | file-heap × file-heap |
| . ⊆ . | dir-entries | p | stringset × stringset |
| . ⊆ . | file-content | p | file-content × file-content |
| . ⊆ . | open-files | p | nat-set × nat-set |
| . ⊆ . | dir-heap | p | (dir-heap → bool) × (dir-heap → bool) |
| . ⊆ . | dir-heap | p | dir-heap × dir-heap |
| . ⊑ . | string | p | string × string |
| . ⊑ . | path | p | path × path |
| . ⊒ . | path | p | path × path |
| . ⊒ . | string | p | string × string |
| . ⊕ . | dir-entries | f | dir-entries × dir-entries → dir-entries |
| . ⊕ . | open-files | f | open-files × open-files → open-files |
| . ⊗ . | dir-heap | f | (dir-heap → bool) × (dir-heap → bool) → dir-heap → bool |
| . ⊗ . | file-heap | f | (file-heap → bool) × (file-heap → bool) → file-heap → bool |
| . ⊥ . | file-heap | p | file-heap × file-heap |
| . ⊥ . | dir-heap | p | dir-heap × dir-heap |
| . and . | dir-heap | f | (dir-heap → bool) × (dir-heap → bool) → dir-heap → bool |
| . and . | file-heap | f | (file-heap → bool) × (file-heap → bool) → file-heap → bool |
| . or . | dir-heap | f | (dir-heap → bool) × (dir-heap → bool) → dir-heap → bool |
| . or . | file-heap | f | (file-heap → bool) × (file-heap → bool) → file-heap → bool |
| . upto . | afs-base | f | file-content × nat → file-content |
| _∃ . | dir-heap | f | (nat → dir-heap → bool) → dir-heap → bool |
| _∃ . | file-heap | f | (abstract-file → file-heap → bool) → file-heap → bool |
| _∃ . | dir-heap | f | (nat × nat → dir-heap → bool) → dir-heap → bool |
| _∃ . | file-heap | f | (nat × nat → file-heap → bool) → file-heap → bool |
| _∃ . | dir-heap | f | (abstract-dir → dir-heap → bool) → dir-heap → bool |
| _∃ . | file-heap | f | (nat → file-heap → bool) → file-heap → bool |
| { . } | dir-entries | f | string → stringset |
| { . } | alink-set | f | alink → alink-set |
| { . } | open-files | f | nat → nat-set |
| { . } | file-heap | f | file-heap → file-heap → bool |
| { . } | dir-heap | f | dir-heap → dir-heap → bool |
| ε | path | c | path |
| ∅ | dir-entries | c | dir-entries |
| ∅ | dir-entries | c | stringset |
| ∅ | open-files | c | nat-set |
| ∅ | dir-heap | c | dir-heap |
| ∅ | file-content | c | file-content |
| ∅ | file-heap | c | file-heap |
| ∅ | alink-set | c | alink-set |
| ∅ | open-files | c | open-files |
| ⊏ | string | p | string × string |
| ⌊ . ⌋ | error-class | p | error |
| ⌜ . ⌝ | dir-heap | f | bool → dir-heap → bool |
| ⌜ . ⌝ | file-heap | f | bool → file-heap → bool |
| ASYNCED | afs-asm | v | bool,flexible |
| C_INO | afs-asm | v | nat,flexible |
| C_INODE | afs-asm | v | inode,flexible |
| CONTENT | afs-asm | v | file-content,flexible |
| D | dir-heap | v | dir-heap → bool |
| D0 | dir-heap | v | dir-heap → bool |
| D1 | dir-heap | v | dir-heap → bool |
| D2 | dir-heap | v | dir-heap → bool |
| DENT | afs-asm | v | dentry,flexible |
| DENT_INO | afs-asm | v | nat,flexible |
| DENT0 | afs-asm | v | dentry,flexible |
| DENTRY_INO | afs-asm | v | nat,flexible |
| DENTRY_INODE | afs-asm | v | inode,flexible |
| DIRS | afs-asm | v | dir-heap,flexible |
| DOSYNC | afs-asm | v | bool,flexible |
| EACCESS | error | c | error |
| EB_PAGE_SIZE | eraseblock | c | nat |
| EBADFD | error | c | error |
| ECOMMIT | error | c | error |
| EEXISTS | error | c | error |
| EFAIL | error | c | error |
| EINVAL | error | c | error |
| EIO | error | c | error |
| EISDIR | error | c | error |
| END | afs-asm | v | nat,flexible |
| ENOENT | error | c | error |
| ENOMEM | error | c | error |
| ENOSPC | error | c | error |
| ENOTDIR | error | c | error |
| ENOTEMPTY | error | c | error |
| EROFS | error | c | error |
| ERR | error-class | v | error,flexible |
| ERR0 | error-class | v | error,flexible |
| ESUCCESS | error | c | error |
| EUCLEAN | error | c | error |
| F | file-heap | v | file-heap → bool |
| F0 | file-heap | v | file-heap → bool |
| F1 | file-heap | v | file-heap → bool |
| F2 | file-heap | v | file-heap → bool |
| FILES | afs-asm | v | file-heap,flexible |
| IDENTITY | afs-asm | v | bool,flexible |
| INO | afs-asm | v | nat,flexible |
| INODE | afs-asm | v | inode,flexible |
| ISDATASYNC | afs-asm | v | bool,flexible |
| LEB_SIZE | eraseblock | c | nat |
| MD | afs-asm | v | metadata,flexible |
| MODE_R | file-mode | c | file-mode |
| MODE_RW | file-mode | c | file-mode |
| MODE_W | file-mode | c | file-mode |
| MODIFIED | afs-asm | v | bool,flexible |
| N | afs-asm | v | nat,flexible |
| NAMES | afs-asm | v | stringset,flexible |
| NAMES0 | afs-asm | v | stringset,flexible |
| NEW_CHILD_INODE | afs-asm | v | inode,flexible |
| NEW_DENT | afs-asm | v | dentry,flexible |
| NEW_DENT_INODE | afs-asm | v | inode,flexible |
| NEW_INO | afs-asm | v | nat,flexible |
| NEW_INODE | afs-asm | v | inode,flexible |
| NEW_PARENT_INODE | afs-asm | v | inode,flexible |
| NS | afs-asm | v | nat-set,flexible |
| OFFSET | afs-asm | v | nat,flexible |
| OLD_CHILD_INODE | afs-asm | v | inode,flexible |
| OLD_DENT | afs-asm | v | dentry,flexible |
| OLD_DENT_INODE | afs-asm | v | inode,flexible |
| OLD_INO | afs-asm | v | nat,flexible |
| OLD_INODE | afs-asm | v | inode,flexible |
| OLD_PARENT_INODE | afs-asm | v | inode,flexible |
| OVERWRITE | afs-asm | v | bool,flexible |
| P_INO | afs-asm | v | nat,flexible |
| P_INODE | afs-asm | v | inode,flexible |
| PAGENO | afs-asm | v | nat,flexible |
| PAGES_PER_LEB | eraseblock | c | nat |
| PAGES_PER_PEB | eraseblock | c | nat |
| PBUF | afs-asm | v | buffer,flexible |
| PBUF-OPT | afs-asm | v | buffer-opt,flexible |
| PEB_SIZE | eraseblock | c | nat |
| ROOT_INO | root-ino | c | nat |
| SIZE | afs-asm | v | nat,flexible |
| True | separation | p | bool |
| VFS_PAGE_SIZE | page | c | nat |
| abstract-dir | abstract-dir | s | |
| abstract-file | abstract-file | s | |
| ad | abstract-dir | v | abstract-dir |
| ad0 | dir-heap | v | abstract-dir |
| ad1 | dir-heap | v | abstract-dir |
| adD | dir-heap | v | abstract-dir → dir-heap → bool |
| adF | file-heap | v | abstract-file → file-heap → bool |
| af | abstract-file | v | abstract-file |
| af0 | file-heap | v | abstract-file |
| af1 | file-heap | v | abstract-file |
| afs-cons | afs-base | p | dir-heap × file-heap |
| afs_check_commit# | afs-asm | pr | dir-heap × file-heap : error : bool (nondeterministic) |
| afs_create# | afs-asm | pr | metadata
: inode × inode × dentry × error × dir-heap × file-heap
: bool (nondeterministic) |
| afs_create_ino# | afs-asm | pr | nat × metadata × nat : dentry × error × dir-heap × file-heap (nonfunctional) |
| afs_drop_nlink# | afs-asm | pr | nat : dir-heap × file-heap (nonfunctional) |
| afs_evict# | afs-asm | pr | inode × bool : error × dir-heap × file-heap (nonfunctional) |
| afs_format# | afs-asm | pr | nat × bool × nat × metadata : dir-heap : file-heap × bool × error (nondeterministic) |
| afs_fsync# | afs-asm | pr | inode × bool × dir-heap × file-heap : : bool × error (nondeterministic) |
| afs_fsyncdir# | afs-asm | pr | inode × bool × dir-heap × file-heap × bool : : error (nondeterministic) |
| afs_iget# | afs-asm | pr | nat × dir-heap × file-heap × bool : inode × error (nondeterministic nonfunctional) |
| afs_inc_nlink# | afs-asm | pr | nat : dir-heap × file-heap (nonfunctional) |
| afs_inode_sync# | afs-asm | pr | inode : dir-heap × file-heap (nonfunctional) |
| afs_link# | afs-asm | pr | dentry : inode × inode × dentry × error × dir-heap × file-heap : bool (nondeterministic) |
| afs_lookup# | afs-asm | pr | nat × dir-heap × file-heap × bool : dentry × error (nondeterministic nonfunctional) |
| afs_mkdir# | afs-asm | pr | metadata
: inode × inode × dentry × error × dir-heap × file-heap
: bool (nondeterministic) |
| afs_mkdir_ino# | afs-asm | pr | nat × metadata × nat : dentry × error × dir-heap (nonfunctional) |
| afs_readdir# | afs-asm | pr | inode × dir-heap × file-heap × bool : stringset × error (nondeterministic nonfunctional) |
| afs_readpage# | afs-asm | pr | inode × nat × dir-heap × file-heap × bool : buffer × error (nondeterministic nonfunctional) |
| afs_recovery# | afs-asm | pr | bool : dir-heap × file-heap : bool × error (nondeterministic) |
| afs_rename# | afs-asm | pr | : inode × inode × inode × inode × dentry × dentry × error × dir-heap ×
file-heap
: bool (nondeterministic) |
| afs_rmdir# | afs-asm | pr | : inode × inode × dentry × error × dir-heap × file-heap : bool (nondeterministic) |
| afs_sync# | afs-asm | pr | dir-heap × file-heap : : bool × error (nondeterministic) |
| afs_truncate# | afs-asm | pr | nat × nat
: buffer-opt × inode × bool × error × dir-heap × file-heap × bool (nondeterministic nonfunctional) |
| afs_truncate_internal# | afs-asm | pr | nat × nat
: inode × buffer-opt × nat × nat × bool × error × dir-heap × file-heap
: bool (nondeterministic) |
| afs_unlink# | afs-asm | pr | : inode × inode × dentry × error × dir-heap × file-heap : bool (nondeterministic) |
| afs_write_inode# | afs-asm | pr | inode : error × dir-heap × file-heap : bool (nondeterministic) |
| afs_writepage# | afs-asm | pr | inode × nat × buffer × dir-heap : error × file-heap : bool (nondeterministic) |
| align↑ | align | f | nat × nat → nat |
| align↓ | align | f | nat × nat → nat |
| alink | alink | s | |
| alink | alink | v | alink |
| alink-set | alink-set | s | |
| alink0 | alink-set | v | alink |
| alink1 | alink-set | v | alink |
| asynced | afs-asm | v | bool |
| boolvar | inode | v | bool |
| boolvar0 | inode | v | bool |
| buf | buffer | v | buffer |
| buf-opt | buffer-option | v | buffer-opt |
| buf0 | buffer | v | buffer |
| buf1 | buffer | v | buffer |
| buf2 | buffer | v | buffer |
| buffer | buffer | s | |
| buffer-opt | buffer-option | s | |
| butlastn | path | pf | nat × path → path with λ n, p. n ≤ # p |
| butlastn | string | pf | nat × string → string with λ n, str. n ≤ # str |
| bv | heap-sep | v | bool |
| c_inode | afs-pre | v | inode |
| char | char | s | |
| char | char | v | char |
| char0 | char | v | char |
| char1 | char | v | char |
| char2 | char | v | char |
| cmp | buffer | pp | buffer × data × nat × nat with λ buf, d, m, n. m + n ≤ # buf |
| cmp | buffer | pp | buffer × nat × buffer × nat × nat with λ buf, m, buf0, m0, n. m + n ≤ # buf ∧ m0 + n ≤ # buf0 |
| content | file-content | v | file-content |
| content0 | file-content | v | file-content |
| content1 | file-content | v | file-content |
| content2 | file-content | v | file-content |
| copy | buffer | pf | buffer × nat × buffer × nat × nat → buffer with λ buf, m, buf0, m0, n. m + n ≤ # buf ∧ m0 + n ≤ # buf0 |
| d | data | v | data |
| d0 | data | v | data |
| d1 | data | v | data |
| d2 | data | v | data |
| data | data | s | |
| dent | dentry | v | dentry |
| dentry | dentry | s | |
| dir-empty | afs-base | p | nat × dir-heap × file-heap |
| dir-entries | dir-entries | s | |
| dir-heap | dir-heap | s | |
| dirs | dir-heap | v | dir-heap |
| dirs0 | dir-heap | v | dir-heap |
| dirs1 | dir-heap | v | dir-heap |
| dirs2 | dir-heap | v | dir-heap |
| disj | path | p | path × path |
| disj | string | p | string × string |
| dom . | dir-entries | f | dir-entries → stringset |
| dom . | open-files | f | open-files → nat-set |
| dups | path | p | path |
| dups | string | p | string |
| emp | file-heap | p | file-heap |
| emp | dir-heap | p | dir-heap |
| empty | buffer | c | data |
| emptyleb | eraseblock | c | buffer |
| emptypage | eraseblock | c | buffer |
| emptypeb | eraseblock | c | buffer |
| entries | dir-entries | v | dir-entries |
| entries0 | dir-entries | v | dir-entries |
| entries1 | dir-entries | v | dir-entries |
| entries2 | dir-entries | v | dir-entries |
| err | error | v | error |
| err0 | error | v | error |
| err1 | error | v | error |
| error | error | s | |
| fail# | error-class | pr | : : error (nondeterministic) |
| fail_or_success# | error-class | pr | : : error (nondeterministic) |
| false | dir-heap | p | dir-heap |
| false | file-heap | p | file-heap |
| fd | open-files | v | nat |
| fd1 | open-files | v | nat |
| fd2 | open-files | v | nat |
| file | file | s | |
| file | file | v | file |
| file-content | file-content | s | |
| file-heap | file-heap | s | |
| file-mode | file-mode | s | |
| file0 | open-files | v | file |
| file1 | open-files | v | file |
| file2 | open-files | v | file |
| files | file-heap | v | file-heap |
| files0 | file-heap | v | file-heap |
| files1 | file-heap | v | file-heap |
| files2 | file-heap | v | file-heap |
| fill | buffer | pf | buffer × data × nat × nat → buffer with λ buf, d, n, m. n + m ≤ # buf |
| fill | buffer | f | buffer × data → buffer |
| fillfirst | string | f | nat × char × string → string |
| fillfirst | path | f | nat × string × path → path |
| firstn | path | pf | nat × path → path with λ n, p. n ≤ # p |
| firstn | string | pf | nat × string → string with λ n, str. n ≤ # str |
| frome | string | f | string × char → string |
| frome | path | f | path × string → path |
| getinode | afs-base | f | nat × dir-heap × file-heap → inode |
| id○ | buffer | p | buffer × buffer × nat |
| idrange | buffer | pp | buffer × nat × nat with λ buf, m, n. m + n ≤ # buf |
| ino | file-heap | v | nat |
| ino0 | file-heap | v | nat |
| ino1 | file-heap | v | nat |
| ino2 | dir-entries | v | nat |
| inode | inode | s | |
| inode | inode | v | inode |
| is-aligned | align | p | nat × nat |
| is-open | vfs-base | p | nat × open-files |
| isempty | eraseblock | p | buffer × nat × nat |
| isempty | eraseblock | p | buffer |
| ispath | afs-base | p | path × nat × dir-heap × file-heap |
| ispath | afs-base | p | path × nat × nat × dir-heap × file-heap |
| ite | dir-heap | f | bool × (dir-heap → bool) × (dir-heap → bool) → dir-heap → bool |
| ite | file-heap | f | bool × (file-heap → bool) × (file-heap → bool) → file-heap → bool |
| lastn | path | pf | nat × path → path with λ n, p. n ≤ # p |
| lastn | string | pf | nat × string → string with λ n, str. n ≤ # str |
| links | afs-base | f | nat × dir-heap → alink-set |
| lookup | afs-base | f | path × nat × dir-heap × file-heap → nat |
| ls | alink-set | v | alink-set |
| ls0 | alink-set | v | alink-set |
| ls1 | alink-set | v | alink-set |
| ls2 | alink-set | v | alink-set |
| m | nat-basic | v | nat |
| m0 | inode | v | nat |
| m1 | inode | v | nat |
| m2 | inode | v | nat |
| m3 | inode | v | nat |
| m4 | inode | v | nat |
| m5 | inode | v | nat |
| m6 | inode | v | nat |
| max | min-max | f | nat × nat → nat |
| md | metadata | v | metadata |
| md0 | inode | v | metadata |
| meta | afs-base | f | path × nat × dir-heap × file-heap → metadata |
| metadata | metadata | s | |
| min | vfs-base | f | nat × nat × nat → nat |
| min | min-max | f | nat × nat → nat |
| mkbuf | buffer | f | nat → buffer |
| mkdentry | dentry | f | string × nat → dentry |
| mkdir | abstract-dir | f | nat × metadata × nat × nat × dir-entries → abstract-dir |
| mkempbuf | buffer | f | nat → buffer |
| mkfile | file | f | nat × file-mode × nat → file |
| mkfile | abstract-file | f | nat × metadata × nat × file-content → abstract-file |
| mkinode | inode | f | nat × metadata × bool × nat × nat × nat → inode |
| mklink | alink | f | nat × string → alink |
| mklist | string | f | char × nat → string |
| mkpath | path | f | string × nat → path |
| mkzbuf | buffer | f | nat → buffer |
| mode | file-mode | v | file-mode |
| mode0 | file | v | file-mode |
| n | nat-basic | v | nat |
| n0 | nat-basic | v | nat |
| n1 | nat-basic | v | nat |
| n2 | nat-set | v | nat |
| n3 | nat-set | v | nat |
| n4 | nat-set | v | nat |
| nD | dir-heap | v | nat → dir-heap → bool |
| nF | file-heap | v | nat → file-heap → bool |
| name | afs-base | v | string |
| nat | nat-basic | s | |
| nat-set | open-files | s | |
| negdentry | dentry | f | string → dentry |
| new_child_inode | afs-pre | v | inode |
| new_dent | afs-pre | v | dentry |
| new_dent_inode | afs-pre | v | inode |
| new_ino | afs-pre | v | nat |
| new_inode | afs-pre | v | inode |
| new_parent_inode | afs-pre | v | inode |
| nnD | dir-heap | v | nat × nat → dir-heap → bool |
| nnF | file-heap | v | nat × nat → file-heap → bool |
| none | buffer-option | c | buffer-opt |
| not . | dir-heap | f | (dir-heap → bool) → dir-heap → bool |
| not . | file-heap | f | (file-heap → bool) → file-heap → bool |
| ns | open-files | v | nat-set |
| ns0 | open-files | v | nat-set |
| ns1 | open-files | v | nat-set |
| ns2 | open-files | v | nat-set |
| of | open-files | v | open-files |
| of-cons | vfs-base | p | open-files × dir-heap × file-heap |
| of0 | open-files | v | open-files |
| of1 | open-files | v | open-files |
| of2 | open-files | v | open-files |
| old_child_inode | afs-pre | v | inode |
| old_dent | afs-pre | v | dentry |
| old_dent_inode | afs-pre | v | inode |
| old_ino | afs-pre | v | nat |
| old_inode | afs-pre | v | inode |
| old_parent_inode | afs-pre | v | inode |
| open-files | open-files | s | |
| orphans | afs-base | f | dir-heap × file-heap → nat-set |
| p | path | v | path |
| p' | path | v | path |
| p_ino | afs-base | v | nat |
| p_inode | afs-pre | v | inode |
| p0 | path | v | path |
| p1 | path | v | path |
| pageno | afs-pre | v | nat |
| parent | path | pf | path → path with λ p. p ≠ ε |
| path | path | s | |
| pos | string | f | char × string → nat |
| pos | path | f | string × path → nat |
| pre-create | afs-pre | p | inode × dentry × metadata × dir-heap × file-heap |
| pre-evict | afs-pre | p | inode × dir-heap × file-heap |
| pre-iget | afs-pre | p | nat × dir-heap × file-heap |
| pre-link | afs-pre | p | inode × inode × dentry × dentry × dir-heap × file-heap |
| pre-lookup | afs-pre | p | nat × dentry × dir-heap × file-heap |
| pre-mkdir | afs-pre | p | inode × dentry × metadata × dir-heap × file-heap |
| pre-readdir | afs-pre | p | nat × dir-heap × file-heap |
| pre-readpage | afs-pre | p | inode × nat × buffer × dir-heap × file-heap |
| pre-rename | afs-pre | p | inode × dentry × inode × inode × dentry × inode × dir-heap × file-heap |
| pre-rmdir | afs-pre | p | inode × inode × dentry × dir-heap × file-heap |
| pre-truncate | afs-pre | p | inode × nat × nat × buffer-opt × dir-heap × file-heap |
| pre-unlink | afs-pre | p | inode × inode × dentry × dir-heap × file-heap |
| pre-write-inode | afs-pre | p | inode × dir-heap × file-heap |
| pre-writepage | afs-pre | p | inode × nat × buffer × dir-heap × file-heap |
| precise | dir-heap | p | (dir-heap → bool) |
| precise | file-heap | p | (file-heap → bool) |
| q | path | v | path |
| range= | buffer | p | buffer × nat × buffer × nat × nat |
| resize | buffer | f | buffer × nat → buffer |
| restn | path | pf | nat × path → path with λ n, p. n ≤ # p |
| restn | string | pf | nat × string → string with λ n, str. n ≤ # str |
| rev | buffer | pf | buffer × nat → buffer with λ buf, n. n ≤ # buf |
| rev | string | f | string → string |
| rev | path | f | path → path |
| rev | buffer | f | buffer → buffer |
| rmdup | string | f | string → string |
| rmdup | path | f | path → path |
| some | buffer-option | f | buffer → buffer-opt |
| splice | buffer | f | buffer × nat × buffer × nat × nat → buffer |
| str | string | v | string |
| str0 | string | v | string |
| str1 | string | v | string |
| str2 | string | v | string |
| str3 | string | v | string |
| string | string | s | |
| strings | dir-entries | v | stringset |
| strings0 | dir-entries | v | stringset |
| strings1 | dir-entries | v | stringset |
| strings2 | dir-entries | v | stringset |
| stringset | dir-entries | s | |
| subarray | buffer | pf | buffer × nat × nat → buffer with λ buf, m, n. m + n ≤ # buf |
| subdirs | afs-base | f | nat × dir-heap → stringset |
| sublist | path | pf | nat × nat × path → path with λ n, m, p. n + m ≤ # p |
| sublist | string | pf | nat × nat × string → string with λ n, m, str. n + m ≤ # str |
| true | dir-heap | p | dir-heap |
| true | file-heap | p | file-heap |
| valid-content | vfs-base | p | file-heap |
| valid-content | afs-base | p | nat × file-heap |
| valid-dentry | afs-base | p | nat × dentry × dir-heap × file-heap |
| valid-dentry | afs-base | p | dentry × dir-heap × file-heap |
| valid-dir-ino | afs-base | p | nat × dir-heap × file-heap |
| valid-dir-inode | afs-pre | p | inode × dir-heap × file-heap |
| valid-file-ino | afs-base | p | nat × dir-heap × file-heap |
| valid-file-inode | afs-pre | p | inode × dir-heap × file-heap |
| valid-ino | afs-base | p | nat × dir-heap × file-heap |
| valid-inode | afs-base | p | inode × dir-heap × file-heap |
| valid-negdentry | afs-base | p | nat × dentry × dir-heap × file-heap |
| valid-pagesize | afs-base | p | nat × nat × file-heap |
| valid-parent-ino | afs-base | p | nat × dir-heap × file-heap |
| valid-wb-inode | afs-pre | p | inode × dir-heap × file-heap |
| zero | buffer | c | data |
| zero-cons | vfs-base | p | nat × file-heap |
| zero-cons | vfs-base | p | file-heap |
| zeropage | page | c | buffer |