Where Knaster–Tarski (dart 363) proves the least fixed point exists, Kleene builds it. For a map that is not just monotone but continuous (preserves limits of ascending chains), the least fixed point is the join of the chain ⊥ ≤ f(⊥) ≤ f²(⊥) ≤ … — start at nothing, apply the rule, and take the limit. This is the meaning given to a recursive definition in denotational semantics: a program that calls itself denotes the least fixed point of its own body, approached one unfolding at a time. Meaning by successive approximation, from the bottom up.
The demo climbs the Kleene chain ⊥, f(⊥), f²(⊥)… to the least fixed point: live demo
“A recursive definition is circular.” — it denotes the least fixed point of its body, reached as the limit of finite unfoldings from ⊥. Circularity resolved by approximation. cited
Nothing, then the rule once, then twice, and on to the limit — the least fixed point, built. What recursion means. Kleene
On the canonical compiler, the chain f(x)=min(x+2,10) from ⊥=0 climbs 0,2,4,6,8,10 to the least fixed point 10: