| Symbol | Specification | Kind | Type |
|---|---|---|---|
| # . | list-data | f | list('a) → nat |
| . + . | nat-basic | f | nat × nat → nat |
| . + . | list-data | f | 'a × list('a) → list('a) |
| . +1 | nat-basic | f | nat → nat |
| . - . | nat | pf | nat × nat → nat with λ n, m. n ≥ m |
| . -1 | nat-basic | pf | nat → nat with λ n. n ≠ 0 |
| . .head | list-data | pf | list('a) → 'a with λ x. x ≠ [] |
| . .tail | list-data | pf | list('a) → list('a) with λ x. x ≠ [] |
| . < . | nat-basic | p | nat × nat |
| . < . | list-data | p | list('a) × list('a) |
| . > . | nat | p | nat × nat |
| . [ . := . ] | list-getput | pf | list('a) × nat × 'a → list('a) with λ x, n, a. n < # x |
| . [ . ] | list-getput | pf | list('a) × nat → 'a with λ x, n. n < # x |
| . ≤ . | nat | p | nat × nat |
| . ≥ . | nat | p | nat × nat |
| [] | list-data | c | list('a) |
| a | list-getput | v | 'a |
| b | list-getput | v | 'a |
| c | list-getput | v | 'a |
| list | list-data | s | |
| m | list-getput | v | nat |
| n | list-getput | v | nat |
| nat | nat-basic | s | |
| x | list-getput | v | list('a) |
| y | list-getput | v | list('a) |
| z | list-getput | v | list('a) |