nLab
corecursion

Corecursion exploits the existence of a morphism from a coalgebra for an endofunctor to a terminal coalgebra for the same endofunctor to define an operation. It is dual to recursion?. See also coinduction.

Examples

  1. For the endofunctor H(X)=1+X on Set, the terminal coalgebra is ¯, the extended natural number system. Define a function add:¯×¯1+¯×¯:
add(n,m)={(n1,m) ifn>0; (0,m1) ifn=0,m>0; * ifm=n=0.add(n, m) = \begin{cases} (n - 1, m) & if\; n \gt 0; \\ (0, m - 1) & if\; n = 0,\; m \gt 0; \\ * & if\; m = n = 0. \end{cases}

This makes ¯×¯ into an H-coalgebra. The unique arrow to the terminal coalgebra defines addition on the natural numbers extended with .

Reference