| Symbol | Specification | Kind | Type |
|---|---|---|---|
| # . | reflist | f | reflist → nat |
| # . | list-data | f | list → nat |
| # . | refset | f | refset → nat |
| # . | heap | f | heap → nat |
| . ' | list | f | elem → list |
| . ' | reflist | f | ref → reflist |
| . * . | heap-sep | f | (heap → bool) × (heap → bool) → heap → bool |
| . + . | nat-basic | f | nat × nat → nat |
| . + . | list | f | list × elem → list |
| . + . | reflist | f | ref × reflist → reflist |
| . + . | list | f | list × list → list |
| . + . | reflist | f | reflist × reflist → reflist |
| . + . | list-data | f | elem × list → list |
| . + . | reflist | f | reflist × ref → reflist |
| . ++ . | list-dup | f | list × elem → list |
| . ++ . | reflist | f | reflist × ref → reflist |
| . ++ . | heap | f | heap × ref → heap |
| . ++ . | refset | f | refset × ref → refset |
| . +1 | nat-basic | f | nat → nat |
| . +2 . | reflist | f | ref × ref → reflist |
| . +2 . | list | f | elem × elem → list |
| . - . | nat | pf | nat × nat → nat with λ n, m. n ≥ m |
| . -* . | heap-sep | f | (heap → bool) × (heap → bool) → heap → bool |
| . -- . | refset | f | refset × ref → refset |
| . -- . | heap | f | heap × ref → heap |
| . -> . | heap-sep | f | (heap → bool) × (heap → bool) → heap → bool |
| . -⊗ . | heap-sep | f | (heap → bool) × (heap → bool) → heap → bool |
| . -1 | nat-basic | pf | nat → nat with λ n. n ≠ 0 |
| . .butlast | list-last | pf | list → list with λ x. x ≠ [] |
| . .butlast | reflist | pf | reflist → reflist with λ rx. rx ≠ [] |
| . .head | reflist | pf | reflist → ref with λ rx. rx ≠ [] |
| . .head | list-data | pf | list → elem with λ x. x ≠ [] |
| . .last | list-last | pf | list → elem with λ x. x ≠ [] |
| . .last | reflist | pf | reflist → ref with λ rx. rx ≠ [] |
| . .nxt | cell | f | cell → ref |
| . .nxt:= . | cell | f | cell × ref → cell |
| . .tail | list-data | pf | list → list with λ x. x ≠ [] |
| . .tail | reflist | pf | reflist → reflist with λ rx. rx ≠ [] |
| . .val | cell | f | cell → elem |
| . .val:= . | cell | f | cell × elem → cell |
| . < . | list-data | p | list × list |
| . < . | reflist | p | reflist × reflist |
| . < . | nat-basic | p | nat × nat |
| . => . | cell-heap | f | ref × cell → heap → bool |
| . =>? | maplet | f | ref → heap → bool |
| . =>_ | maplet | f | ref → heap → bool |
| . > . | nat | p | nat × nat |
| . [ . ] | cell-heap | f | heap × ref → cell |
| . [ . ] | cell-heap | f | heap × ref × cell → heap |
| . \ . | refset | f | refset × refset → refset |
| . \ . | heap | f | heap × heap → heap |
| . \ . | heap | f | heap × refset → heap |
| . × . | cell | f | elem × ref → cell |
| . ∈ . | list | p | elem × list |
| . ∈ . | heap | p | ref × heap |
| . ∈ . | reflist | p | ref × reflist |
| . ∈ . | refset | p | ref × refset |
| . ∩ . | refset | f | refset × refset → refset |
| . ∪ . | refset | f | refset × refset → refset |
| . ∪ . | heap | f | heap × heap → heap |
| . ≡ . | separation | p | heap × heap |
| . ≤ . | nat | p | nat × nat |
| . ≥ . | nat | p | nat × nat |
| . ⊆ . | heap-sep | p | (heap → bool) × (heap → bool) |
| . ⊆ . | refset | p | refset × refset |
| . ⊆ . | heap | p | heap × heap |
| . ⊑ . | list-last | p | list × list |
| . ⊑ . | reflist | p | reflist × reflist |
| . ⊒ . | list-last | p | list × list |
| . ⊒ . | reflist | p | reflist × reflist |
| . ⊗ . | heap-sep | f | (heap → bool) × (heap → bool) → heap → bool |
| . ⊥ . | heap | p | heap × heap |
| . and . | heap-sep | f | (heap → bool) × (heap → bool) → heap → bool |
| . or . | heap-sep | f | (heap → bool) × (heap → bool) → heap → bool |
| [] | reflist | c | reflist |
| [] | list-data | c | list |
| _∃ . | del-lists | f | (list → heap → bool) → heap → bool |
| _∃ . | cell-heap | f | (cell → heap → bool) → heap → bool |
| _∃ . | maplet | f | (ref → heap → bool) → heap → bool |
| _∃ . | maplet | f | (ref × ref → heap → bool) → heap → bool |
| { . } | refset | f | ref → refset |
| { . } | heap-sep | f | heap → heap → bool |
| ∅ | refset | c | refset |
| ∅ | heap | c | heap |
| ⌜ . ⌝ | heap-sep | f | bool → heap → bool |
| H | heap | v | heap |
| H0 | heap | v | heap |
| H1 | heap | v | heap |
| H2 | heap | v | heap |
| P | heap-sep | v | heap → bool |
| P0 | heap-sep | v | heap → bool |
| P1 | heap-sep | v | heap → bool |
| P2 | heap-sep | v | heap → bool |
| True | separation | p | bool |
| a | elem | v | elem |
| a0 | list-data | v | elem |
| alloc | ops | pr | : ref × heap (nondeterministic nonfunctional) |
| b | elem | v | elem |
| butlastn | list-last | pf | nat × list → list with λ n, x. n ≤ # x |
| butlastn | reflist | pf | nat × reflist → reflist with λ n, rx. n ≤ # rx |
| bv | heap-sep | v | bool |
| c | elem | v | elem |
| ce | cell | v | cell |
| ce0 | cell | v | cell |
| ce1 | cell | v | cell |
| ceP | cell-heap | v | cell → heap → bool |
| cell | cell | s | |
| del-list | del-lists | f | reflist × nat → heap → bool |
| disj | list-dup | p | list × list |
| disj | reflist | p | reflist × reflist |
| dups | reflist | p | reflist |
| dups | list-dup | p | list |
| elem | elem | s | |
| emp | heap-sep | p | heap |
| false | heap-sep | p | heap |
| fillfirst | reflist | f | nat × ref × reflist → reflist |
| fillfirst | list-last | f | nat × elem × list → list |
| free | ops | pr | ref : heap (nonfunctional) |
| heap | heap | s | |
| ite | heap-sep | f | bool × (heap → bool) × (heap → bool) → heap → bool |
| list | list-data | s | |
| ll-trav | linked-list-seg | f | ref × ref × ref × list → heap → bool |
| ll-trav | linked-list-seg | f | ref × ref × list → heap → bool |
| lls | linked-list-seg | f | ref × ref × list → heap → bool |
| ls | linked-list | f | ref × list → heap → bool |
| m | nat-basic | v | nat |
| mklist | reflist | f | ref × nat → reflist |
| mklist | list-last | f | elem × nat → list |
| n | nat-basic | v | nat |
| n0 | nat-basic | v | nat |
| n1 | nat-basic | v | nat |
| nat | nat-basic | s | |
| not . | heap-sep | f | (heap → bool) → heap → bool |
| null | ref | c | ref |
| precise | heap-sep | p | (heap → bool) |
| r | ref | v | ref |
| r0 | ref | v | ref |
| r1 | ref | v | ref |
| r2 | reflist | v | ref |
| rP | maplet | v | ref → heap → bool |
| read | cell-heap | pr | ref × heap : cell |
| ref | ref | s | |
| reflist | reflist | s | |
| refset | refset | s | |
| rev | list-last | f | list → list |
| rev | reflist | f | reflist → reflist |
| rmdup | reflist | f | reflist → reflist |
| rmdup | list-dup | f | list → list |
| rrP | maplet | v | ref × ref → heap → bool |
| rs | refset | v | refset |
| rs0 | refset | v | refset |
| rs1 | refset | v | refset |
| rs2 | refset | v | refset |
| rx | reflist | v | reflist |
| rx0 | reflist | v | reflist |
| rx1 | reflist | v | reflist |
| ry | reflist | v | reflist |
| rz | reflist | v | reflist |
| true | heap-sep | p | heap |
| write | cell-heap | pr | ref × cell : heap (nonfunctional) |
| x | list-data | v | list |
| x0 | list-data | v | list |
| x1 | list-data | v | list |
| xP | del-lists | v | list → heap → bool |
| y | list-data | v | list |
| z | list-data | v | list |