| Symbol | Specification | Kind | Type |
|---|
| #x . | cube | f | Cube('a) → Nat |
| #y . | cube | f | Cube('a) → Nat |
| #z . | cube | f | Cube('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 |
| . [ . := . ] | cube | pf | Cube('a) × Nat × Nat × Nat × 'a → Cube('a) with λ cu, nx, ny, nz, a. nx < #x cu ∧ ny < #y cu ∧ nz < #z cu |
| . [ . ] | cube | pf | Cube('a) × Nat × Nat × Nat → 'a with λ cu, nx, ny, nz. nx < #x cu ∧ ny < #y cu ∧ nz < #z cu |
| . ≤ . | nat | p | Nat × Nat |
| . ≥ . | nat | p | Nat × Nat |
| Cube | cube | s | |
| Nat | nat-basic | s | |
| a | cube | v | 'a |
| b | cube | v | 'a |
| cu | cube | v | Cube('a) |
| mkcube | cube | f | Nat × Nat × Nat × 'a → Cube('a) |
| nx | cube | v | Nat |
| ny | cube | v | Nat |
| nz | cube | v | Nat |