Chains and Unfolding [dt-000Y]

Intuitively, recursive programs are executed by "unfolding" as much as necessary to get a result. We would like to characterise our domains to ensure that solutions always exist, and to allow us to pick the solutions that are "minimal" in the sense that they rely on a minimal amount of unfolding.

After converting a recursive program into a non-recursive monotonic higher order function f, the fixed point we desire would intuitively be the limit of the ascending Kleene chain of f, i.e. f(f(f(f(\dots )))):

Each successive element of this chain is another "unfolding" of the recursion.

Context

Fixed points [dt-000U]

Related

Example. Ascending Kleene chain [dt-000X]

Definition. Fixed point [dt-000S]

Definition. Monotonicity [dt-000J]