| Symbol | Specification | Kind | Type |
|---|---|---|---|
| # . | tree | f | tree → 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 |
| . .left | tree | pf | tree → tree with λ t. t ≠ leaf |
| . .left:= . | tree | pf | tree × tree → tree with λ t, t0. t ≠ leaf |
| . .right | tree | pf | tree → tree with λ t. t ≠ leaf |
| . .right:= . | tree | pf | tree × tree → tree with λ t, t0. t ≠ leaf |
| . .val | tree | pf | tree → elem with λ t. t ≠ leaf |
| . .val:= . | tree | pf | tree × elem → tree with λ t, a. t ≠ leaf |
| . < . | nat-basic | p | nat × nat |
| . > . | nat | p | nat × nat |
| . ≤ . | nat | p | nat × nat |
| . ≥ . | nat | p | nat × nat |
| a | elem | v | elem |
| a0 | tree | v | elem |
| b | elem | v | elem |
| branch | tree | f | tree × elem × tree → tree |
| c | elem | v | elem |
| elem | elem | s | |
| leaf | tree | c | tree |
| m | nat-basic | v | nat |
| n | nat-basic | v | nat |
| n0 | nat-basic | v | nat |
| n1 | nat-basic | v | nat |
| nat | nat-basic | s | |
| t | tree | v | tree |
| t0 | tree | v | tree |
| t1 | tree | v | tree |
| t2 | tree | v | tree |
| tree | tree | s |