| Symbol | Specification | Kind | Type |
|---|---|---|---|
| #c . | matrix | f | matrix('a) → nat |
| #r . | matrix | f | matrix('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 |
| . [ . := . ] | matrix | pf | matrix('a) × nat × nat × 'a → matrix('a) with λ mx, r, c, a. r < #r mx ∧ c < #c mx |
| . [ . ] | matrix | pf | matrix('a) × nat × nat → 'a with λ mx, r, c. r < #r mx ∧ c < #c mx |
| . ≤ . | nat | p | nat × nat |
| . ≥ . | nat | p | nat × nat |
| a | matrix | v | 'a |
| b | matrix | v | 'a |
| c | matrix | v | nat |
| matrix | matrix | s | |
| mkmatrix | matrix | f | nat × nat × 'a → matrix('a) |
| mx | matrix | v | matrix('a) |
| nat | nat-basic | s | |
| r | matrix | v | nat |