| Symbol | Specification | Kind | Type |
|---|
| # . | store | f | store('a, 'b) → nat |
| # . | set-basic | f | set('a) → nat |
| . + . | nat-basic | f | nat × nat → nat |
| . ++ . | set-basic | f | set('a) × 'a → set('a) |
| . +1 | nat-basic | f | nat → nat |
| . - . | nat | pf | nat × nat → nat with λ n, m. n ≥ m |
| . -- . | store | f | store('a, 'b) × 'a → store('a, 'b) |
| . -- . | set-union | f | set('a) × 'a → set('a) |
| . -1 | nat-basic | pf | nat → nat with λ n. n ≠ 0 |
| . < . | nat-basic | p | nat × nat |
| . > . | nat | p | nat × nat |
| . [ . := . ] | store | f | store('a, 'b) × 'a × 'b → store('a, 'b) |
| . [ . ] | store | pf | store('a, 'b) × 'a → 'b with λ st, a. a ∈ st |
| . \ . | set-union | f | set('a) × set('a) → set('a) |
| . \ . | ostore+set | f | store('a, 'b) × set('a) → store('a, 'b) |
| . | . | ostore+set | f | store('a, 'b) × set('a) → store('a, 'b) |
| . ∈ . | store | p | 'a × store('a, 'b) |
| . ∈ . | set-basic | p | 'a × set('a) |
| . ∈ . | ostore+set | p | 'b × store('a, 'b) |
| . ∩ . | set-union | f | set('a) × set('a) → set('a) |
| . ∪ . | set-union | f | set('a) × set('a) → set('a) |
| . ≤ . | nat | p | nat × nat |
| . ≥ . | nat | p | nat × nat |
| . ⊆ . | store | p | store('a, 'b) × store('a, 'b) |
| . ⊆ . | set-basic | p | set('a) × set('a) |
| . ⊕ . | ostore+set | f | store('a, 'b) × store('a, 'b) → store('a, 'b) |
| . map . | set-union | f | set('a) × ('a → 'b) → set('b) |
| { . } | set-union | f | 'a → set('a) |
| ∅ | store | c | store('a, 'b) |
| ∅ | set-basic | c | set('a) |
| a | ostore+set | v | 'a |
| d | ostore+set | v | 'b |
| disjoint | set-union | p | set('a) × set('a) |
| dom . | ostore+set | f | store('a, 'b) → set('a) |
| filter | set-union | f | set('a) × ('a → bool) → set('a) |
| nat | nat-basic | s | |
| s | ostore+set | v | set('a) |
| set | set-basic | s | |
| st | ostore+set | v | store('a, 'b) |
| store | store | s | |