| nil | : | list |
| cons | : | [nat × list] ⟶ list |
| + | : | [nat × nat] ⟶ nat |
| map | : | [nat → nat × list] ⟶ list |
| ps | : | [list] ⟶ list |
| x | : | nat |
| xs | : | list |
| F | : | nat → nat |
| map(F, nil) | ⇒ | nil |
| map(F, cons(x, xs)) | ⇒ | cons(F · x, map(F, xs)) |
| ps(nil) | ⇒ | nil |
| ps(cons(x, xs)) | ⇒ | cons(x, ps(map(λy:nat.+(x, y), xs))) |