| Symbol | Specification | Kind | Type |
|---|
| # . | array | f | array('a) → nat |
| . + . | nat-basic | f | nat × nat → nat |
| . +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 |
| . < . | nat-basic | p | nat × nat |
| . > . | nat | p | nat × nat |
| . [ . := . ] | array | pf | array('a) × nat × 'a → array('a) with λ ar, n, a. n < # ar |
| . [ . ] | array | pf | array('a) × nat → 'a with λ ar, n. n < # ar |
| . ≤ . | nat | p | nat × nat |
| . ≥ . | nat | p | nat × nat |
| a | array-copy | v | 'a |
| ar | array-copy | v | array('a) |
| array | array | s | |
| cmp | array-copy | p | array('a) × 'a |
| cmp | array-copy | pp | array('a) × nat × array('a) × nat × nat with λ ar, m, ar0, m0, n. m + n ≤ # ar ∧ m0 + n ≤ # ar0 |
| cmp | array-copy | pp | array('a) × 'a × nat × nat with λ ar, a, m, n. m + n ≤ # ar |
| copy | array-copy | pf | array('a) × nat × array('a) × nat × nat → array('a) with λ ar, m, ar0, m0, n. m + n ≤ # ar ∧ m0 + n ≤ # ar0 |
| fill | array-copy | f | array('a) × 'a → array('a) |
| fill | array-copy | pf | array('a) × 'a × nat × nat → array('a) with λ ar, a, n, m. n + m ≤ # ar |
| id○ | array-copy | p | array('a) × array('a) × nat |
| id○ | array-copy | p | array('a) × array('a) × nat × nat |
| idrange | array-copy | pp | array('a) × nat × nat with λ ar, m, n. m + n ≤ # ar |
| m | array-copy | v | nat |
| mkarray | array | f | nat → array('a) |
| n | array-copy | v | nat |
| nat | nat-basic | s | |
| subarray | array-copy | pf | array('a) × nat × nat → array('a) with λ ar, m, n. m + n ≤ # ar |