THE IDEMPOTENT do it once, do it twice — same result; every output is already a fixed point
An idempotent map satisfies f(f(x)) = f(x): applying it again changes nothing, because its every output is a fixed point. Absolute value, rounding, clamping, projecting onto a subspace, sorting, taking a set — all idempotent. The map does its work in one pass and then holds still. This is why idempotence is prized in systems: a retried request, a re-run migration, a re-applied config lands in the same place — safe to repeat. Its fixed set is its whole image, and applying it is a retraction onto that set.
THE TECHNIQUE f(f(x)) = f(x); the whole image is fixed; safe to repeat
The demo applies abs once and twice — the second application changes nothing, because the first output is already a fixed point: live demo
HISTORY & CREDIT Benjamin Peirce coined it, 1870
“Doing something twice does more than once.” — not an idempotent: f(f(x))=f(x), its outputs are fixed points, so a retry is free. Repetition without consequence. cited
1870 · Benjamin Peirce — coined “idempotent” (Linear Associative Algebra). examples · abs, floor, clamp, projection, closure, max/min with a bound — each holds after one pass. kin · a semilattice join is idempotent (a∨a=a) — the algebra of the crdt keeper (dart's cousin axis).
One pass and it holds; every output is its own fixed point; a retry costs nothing. The map that finishes in one. Peirce 1870
RECOMMEND FOR I-13 once = twice, on the compiler
On the canonical compiler, abs(−5)=5 and abs(abs(−5))=5 — the second pass changes nothing:
$ i13 run f_idempotent.i13 # abs(abs(x)) == abs(x)
RUN OK · 42 step(s) · peak stack 4 · call depth 1
once = 5 twice = 5 idem = 1 -- every output is a fixed point; safe to repeat
Recommend, honestly not a keeper: the idempotent map is the fixed point as a whole set — its entire image holds still, so repetition is free — and i13 confirms abs∘abs = abs. Its algebra (f∘f=f, absorption) is the crdt / confluence keeper the corpus already holds (a join is idempotent), so it re-instantiates rather than extends. The dart that shows the most useful fixed point in engineering — the one that makes a retry safe.