| symbol | specification | entry |
|---|
| # | refset | function,
refset → nat |
| # | set-basic | function,
set → nat |
| # | tree | function,
tree → nat |
| # | heap | function,
heap → nat |
| % | int-div | function,
int × int → int |
| * | int-mult | function,
int × int → int |
| * | heap-sep | function,
heap → bool × heap → bool → heap → bool |
| + | int-basic2 | function,
int × int → int |
| + | nat-basic2 | function,
nat × nat → nat |
| ++ | refset | function,
refset × ref → refset |
| ++ | set-basic | function,
set × elem → set |
| ++ | heap | function,
heap × ref → heap |
| +1 | int-basic1 | function,
int → int |
| +1 | nat-basic1 | function,
nat → nat |
| - | int-abs | function,
int × int → int |
| - | nat | function,
nat × nat → nat |
| -* | heap-sep | function,
heap → bool × heap → bool → heap → bool |
| -- | refset | function,
refset × ref → refset |
| -- | set-union | function,
set × elem → set |
| -- | heap | function,
heap × ref → heap |
| -1 | int-basic1 | function,
int → int |
| -1 | nat-basic1 | function,
nat → nat |
| -⊗ | heap-sep | function,
heap → bool × heap → bool → heap → bool |
| .left | tree | function,
tree → tree |
| .left | node | function,
node → ref |
| .left:= | tree | function,
tree × tree → tree |
| .left:= | node | function,
node × ref → node |
| .right | tree | function,
tree → tree |
| .right | node | function,
node → ref |
| .right:= | tree | function,
tree × tree → tree |
| .right:= | node | function,
node × ref → node |
| .val | int-tree | function,
node → int |
| .val | int-tree | function,
tree → int |
| .val | tree | function,
tree → elem |
| .val | node | function,
node → elem |
| .val:= | int-tree | function,
node × int → node |
| .val:= | int-tree | function,
tree × int → tree |
| .val:= | tree | function,
tree × elem → tree |
| .val:= | node | function,
node × elem → node |
| / | int-div | function,
int × int → int |
| < | int-basic1 | predicate,
int × int |
| < | nat-basic1 | predicate,
nat × nat |
| => | node-heap | function,
ref × node → heap → bool |
| => | maplet | function,
ref × obj → heap → bool |
| =>? | maplet | function,
ref → heap → bool |
| =>_ | maplet | function,
ref → heap → bool |
| > | int-abs | predicate,
int × int |
| > | nat | predicate,
nat × nat |
| Boolvar | int-tree | variable,
bool,flexible |
| H | heap | variable,
heap |
| H0 | heap | variable,
heap |
| H1 | heap | variable,
heap |
| H2 | heap | variable,
heap |
| MAX# | challenge2 | procedure,
ref : int × heap |
| P | heap-sep | variable,
heap → bool |
| P0 | heap-sep | variable,
heap → bool |
| P1 | heap-sep | variable,
heap → bool |
| P2 | heap-sep | variable,
heap → bool |
| True | separation | predicate,
bool |
| \ | refset | function,
refset × refset → refset |
| \ | set-union | function,
set × set → set |
| \ | heap | function,
heap × refset → heap |
| \ | heap | function,
heap × heap → heap |
| ] | node-heap | function,
heap × ref → node |
| ] | node-heap | function,
heap × ref × node → heap |
| ] | heap | function,
heap × ref → obj |
| ] | heap | function,
heap × ref × obj → heap |
| _∃ | node-heap | function,
node → heap → bool → heap → bool |
| _∃ | maplet | function,
ref → heap → bool → heap → bool |
| _∃ | maplet | function,
ref × ref → heap → bool → heap → bool |
| _∃ | maplet | function,
obj → heap → bool → heap → bool |
| a | elem | variable,
elem |
| a0 | tree | variable,
elem |
| a0 | node | variable,
elem |
| abs | int-abs | function,
int → int |
| alloc | ops | procedure,
: ref × heap |
| b | elem | variable,
elem |
| boolvar | int-tree | variable,
bool |
| boolvar0 | int-tree | variable,
bool |
| boolvar1 | int-tree | variable,
bool |
| branch | int-tree | function,
tree × int × tree → tree |
| branch | tree | function,
tree × elem × tree → tree |
| bv | heap-sep | variable,
bool |
| c | elem | variable,
elem |
| dummy# | challenge2 | procedure,
: heap |
| elem | elem | sort,
|
| emp | heap-sep | predicate,
heap |
| even | int-min | predicate,
int |
| false | heap-sep | predicate,
heap |
| free | ops | procedure,
ref : heap |
| heap | heap | sort,
|
| i | int-basic1 | variable,
int |
| i0 | int-basic1 | variable,
int |
| i1 | int-tree | variable,
int |
| int | int-basic1 | sort,
|
| j | int-basic1 | variable,
int |
| j0 | int-basic1 | variable,
int |
| leaf | tree | constant,
tree |
| m | nat-basic2 | variable,
nat |
| max | challenge2 | function,
tree → int |
| max | int-min | function,
int × int → int |
| min | int-min | function,
int × int → int |
| mknode | int-tree | function,
ref × int × ref → node |
| mknode | node | function,
ref × elem × ref → node |
| n | nat-basic1 | variable,
nat |
| n0 | nat-basic1 | variable,
nat |
| n1 | nat-basic1 | variable,
nat |
| nat | nat-basic1 | sort,
|
| nd | node | variable,
node |
| nd0 | node-heap | variable,
node |
| nd1 | node-heap | variable,
node |
| node | node | sort,
|
| null | ref | constant,
ref |
| o | obj | variable,
obj |
| o0 | obj | variable,
obj |
| o1 | obj | variable,
obj |
| oP | node-heap | variable,
node → heap → bool |
| oP | maplet | variable,
obj → heap → bool |
| obj | obj | sort,
|
| odd | int-min | predicate,
int |
| precise | heap-sep | predicate,
heap → bool |
| r | ref | variable,
ref |
| r0 | ref | variable,
ref |
| r1 | ref | variable,
ref |
| r2 | node | variable,
ref |
| rP | maplet | variable,
ref → heap → bool |
| read | ops | procedure,
ref × heap : obj |
| read | node-heap | procedure,
ref × heap : node |
| ref | ref | sort,
|
| refset | refset | sort,
|
| rrP | maplet | variable,
ref × ref → heap → bool |
| rs | refset | variable,
refset |
| rs0 | refset | variable,
refset |
| rs1 | refset | variable,
refset |
| rs2 | refset | variable,
refset |
| s | set-basic | variable,
set |
| s0 | set-basic | variable,
set |
| s1 | set-basic | variable,
set |
| s2 | set-basic | variable,
set |
| set | set-basic | sort,
|
| sgn | int-min | function,
int → int |
| t | tree | variable,
tree |
| t0 | tree | variable,
tree |
| t1 | tree | variable,
tree |
| t2 | tree | variable,
tree |
| tr | linked-tree | function,
ref × tree → heap → bool |
| tree | tree | sort,
|
| true | heap-sep | predicate,
heap |
| write | ops | procedure,
ref × obj : heap |
| write | node-heap | procedure,
ref × node : heap |
| } | refset | function,
ref → refset |
| } | set-union | function,
elem → set |
| } | heap-sep | function,
heap → heap → bool |
| ~ | int-abs | function,
int → int |
| ≤ | int-abs | predicate,
int × int |
| ≤ | nat | predicate,
nat × nat |
| ≥ | int-abs | predicate,
int × int |
| ≥ | nat | predicate,
nat × nat |
| → | heap-sep | function,
heap → bool × heap → bool → heap → bool |
| ∈ | refset | predicate,
ref × refset |
| ∈ | set-basic | predicate,
elem × set |
| ∈ | challenge2 | predicate,
int × tree |
| ∈ | heap | predicate,
ref × heap |
| ¬ | heap-sep | function,
heap → bool → heap → bool |
| ∪ | refset | function,
refset × refset → refset |
| ∪ | set-union | function,
set × set → set |
| ∪ | heap | function,
heap × heap → heap |
| ∩ | refset | function,
refset × refset → refset |
| ∩ | set-union | function,
set × set → set |
| ∧ | heap-sep | function,
heap → bool × heap → bool → heap → bool |
| ∨ | heap-sep | function,
heap → bool × heap → bool → heap → bool |
| ⊥ | heap | predicate,
heap × heap |
| ⊆ | refset | predicate,
refset × refset |
| ⊆ | set-basic | predicate,
set × set |
| ⊆ | heap-sep | predicate,
heap → bool × heap → bool |
| ≡ | separation | predicate,
heap × heap |
| ∅ | refset | constant,
refset |
| ∅ | set-basic | constant,
set |
| ∅ | heap | constant,
heap |
| ⌝ | heap-sep | function,
bool → heap → bool |