| Symbol | Specification | Kind | Type |
|---|
| # . | array | f | Array('a) → Nat |
| #c . | matrix | f | Matrix('a) → Nat |
| #oc | list-as-arrayinstance | f | 'a × Array('a) → Nat |
| #r . | matrix | f | Matrix('a) → Nat |
| . ' | list-as-arrayinstance | f | 'a → Array('a) |
| . * . | nat-mult | f | Nat × Nat → Nat |
| . + . | nat-basic | f | Nat × Nat → Nat |
| . + . | list-as-arrayinstance | f | Array('a) × Array('a) → Array('a) |
| . + . | list-as-arrayinstance | f | Array('a) × 'a → Array('a) |
| . + . | array-listops | f | 'a × Array('a) → Array('a) |
| . ++ . | list-as-arrayinstance | f | Array('a) × 'a → Array('a) |
| . +1 | nat-basic | f | Nat → Nat |
| . +2 . | list-as-arrayinstance | f | 'a × 'a → Array('a) |
| . - . | nat | pf | Nat × Nat → Nat with λ n, m. n ≥ m |
| . -1 | nat-basic | pf | Nat → Nat with λ n. n ≠ 0 |
| . -1l . | list-as-arrayinstance | f | Array('a) × 'a → Array('a) |
| . -l . | list-as-arrayinstance | f | Array('a) × 'a → Array('a) |
| . -p . | list-as-arrayinstance | f | Array('a) × Nat → Array('a) |
| . .butlast | list-as-arrayinstance | pf | Array('a) → Array('a) with λ x. x ≠ [] |
| . .count ( . ) | list-as-arrayinstance | f | Array('a) × ('a → Bool) → Nat |
| . .count ( . ) | list-as-arrayinstance | pf | Array('a) × Nat × Nat × ('a → Bool) → Nat with λ x, m, n, p. m ≤ n ∧ n ≤ # x |
| . .distinct | list-as-arrayinstance | f | Array('a) → Array('a) |
| . .drop ( . ) | list-as-arrayinstance | pf | Array('a) × Nat → Array('a) with λ x, n. n ≤ # x |
| . .dropRight ( . ) | list-as-arrayinstance | pf | Array('a) × Nat → Array('a) with λ x, n. n ≤ # x |
| . .filter ( . ) | list-as-arrayinstance | f | Array('a) × ('a → Bool) → Array('a) |
| . .first | array-listops | pf | Array('a) → 'a with λ ar. ar ≠ [] |
| . .foldLeft ( . ) | list-as-arrayinstance | f | Array('a) × 'b × ('b × 'a → 'b) → 'b |
| . .indexOf ( . ) | list-as-arrayinstance | f | Array('a) × 'a → Nat |
| . .last | list-as-arrayinstance | pf | Array('a) → 'a with λ x. x ≠ [] |
| . .map ( . ) | list-as-arrayinstance | f | Array('a) × ('a → 'b) → Array('b) |
| . .rest | array-listops | pf | Array('a) → Array('a) with λ ar. ar ≠ [] |
| . .sublist ( . ) | list-as-arrayinstance | pf | Array('a) × Nat × Nat → Array('a) with λ x, n, m. n + m ≤ # x |
| . .take ( . ) | list-as-arrayinstance | pf | Array('a) × Nat → Array('a) with λ x, n. n ≤ # x |
| . .takeRight ( . ) | list-as-arrayinstance | pf | Array('a) × Nat → Array('a) with λ x, n. n ≤ # x |
| . .toArc | rowcol-upd | f | Matrix('a) → Array('a) |
| . .toArr | rowcol-upd | f | Matrix('a) → Array('a) |
| . < . | nat-basic | p | Nat × Nat |
| . < . | array-listops | p | Array('a) × Array('a) |
| . > . | nat | p | Nat × Nat |
| . [ . := . ] | matrix | pf | Matrix('a) × Nat × Nat × 'a → Matrix('a) with λ mx, r, c, a. r < #r mx ∧ c < #c mx |
| . [ . := . ] | array | pf | Array('a) × Nat × 'a → Array('a) with λ ar, n, a. n < # ar |
| . [ . := . ]c | rowcol-upd | pf | Matrix('a) × Nat × Array('a) → Matrix('a) with λ mx, c, a. c < #c mx ∧ # a = #r mx |
| . [ . := . ]r | rowcol-upd | pf | Matrix('a) × Nat × Array('a) → Matrix('a) with λ mx, r, a. r < #r mx ∧ # a = #c mx |
| . [ . ] | matrix | pf | Matrix('a) × Nat × Nat → 'a with λ mx, r, c. r < #r mx ∧ c < #c mx |
| . [ . ] | array | pf | Array('a) × Nat → 'a with λ ar, n. n < # ar |
| . [ . ]c | matrix+array | pf | Matrix('a) × Nat → Array('a) with λ mx, c. c < #c mx |
| . [ . ]r | matrix+array | pf | Matrix('a) × Nat → Array('a) with λ mx, r. r < #r mx |
| . \ . | list-as-arrayinstance | f | Array('a) × Array('a) → Array('a) |
| . ∈ . | list-as-arrayinstance | p | 'a × Array('a) |
| . ∪ . | list-as-arrayinstance | f | Array('a) × Array('a) → Array('a) |
| . ≤ . | nat | p | Nat × Nat |
| . ≥ . | nat | p | Nat × Nat |
| . ⊆ . | list-as-arrayinstance | p | Array('a) × Array('a) |
| . ⊆m . | list-as-arrayinstance | p | Array('a) × Array('a) |
| . ⊑ . | list-as-arrayinstance | p | Array('a) × Array('a) |
| . ⊒ . | list-as-arrayinstance | p | Array('a) × Array('a) |
| . intersect . | list-as-arrayinstance | f | Array('a) × Array('a) → Array('a) |
| . zip . | list-as-arrayinstance | f | Array('a) × Array('b) → Array(('a, 'b)) |
| [] | array-listops | c | Array('a) |
| Array | array | s | |
| Matrix | matrix | s | |
| Nat | nat-basic | s | |
| a | rowcol-upd | v | Array('a) |
| c | rowcol-upd | v | Nat |
| 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 |
| disj | list-as-arrayinstance | p | Array('a) × Array('a) |
| dups | list-as-arrayinstance | p | Array('a) |
| 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 |
| fillfirst | list-as-arrayinstance | f | Nat × 'a × Array('a) → Array('a) |
| frome | list-as-arrayinstance | f | Array('a) × 'a → Array('a) |
| i | rowcol-upd | v | 'a |
| 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 |
| j | rowcol-upd | v | 'a |
| m | rowcol-upd | v | Nat |
| mkarray | array | f | Nat → Array('a) |
| mkarray | array | f | Nat × 'a → Array('a) |
| mklist | list-as-arrayinstance | f | 'a × Nat → Array('a) |
| mkmatrix | matrix | f | Nat × Nat × 'a → Matrix('a) |
| mx | rowcol-upd | v | Matrix('a) |
| n | rowcol-upd | v | Nat |
| perm | list-as-arrayinstance | p | Array('a) × Array('a) |
| r | rowcol-upd | v | Nat |
| rev | list-as-arrayinstance | f | Array('a) → Array('a) |
| subarray | array-copy | pf | Array('a) × Nat × Nat → Array('a) with λ ar, m, n. m + n ≤ # ar |
| toArc | rowcol-upd | f | Matrix('a) × Nat → Array('a) |
| toArr | rowcol-upd | f | Matrix('a) × Nat → Array('a) |