| 0 | : | nat |
| s | : | [nat] ⟶ nat |
| err | : | nat |
| pred | : | [nat] ⟶ nat |
| id | : | nat → nat |
| add | : | [nat] ⟶ nat → nat |
| nul | : | nat → bool |
| eq | : | [nat] ⟶ nat → bool |
| true | : | bool |
| false | : | bool |
| X | : | nat |
| Y | : | nat |
| nul · 0 | ⇒ | true |
| nul · s(X) | ⇒ | false |
| nul · err | ⇒ | false |
| pred(0) | ⇒ | err |
| pred(s(X)) | ⇒ | X |
| id · X | ⇒ | X |
| eq(0) | ⇒ | nul |
| eq(s(X)) | ⇒ | λz:nat.eq(X) · pred(z) |
| add(0) | ⇒ | id |
| add(s(X)) | ⇒ | λz:nat.add(X) · s(z) |