<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
    <title></title>
    <link rel="self" type="application/atom+xml" href="https://federicocarrone.com/atom.xml"/>
    <link rel="alternate" type="text/html" href="https://federicocarrone.com"/>
    <generator uri="https://www.getzola.org/">Zola</generator>
    <updated>2026-07-05T00:00:00+00:00</updated>
    <id>https://federicocarrone.com/atom.xml</id>
    <entry xml:lang="en">
        <title>Solving Futbol Like Chess</title>
        <published>2026-07-05T00:00:00+00:00</published>
        <updated>2026-07-05T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://federicocarrone.com/articles/solving-futbol-like-chess/"/>
        <id>https://federicocarrone.com/articles/solving-futbol-like-chess/</id>
        
        <summary type="html">&lt;p&gt;European futbol has spent the past fifteen years solving the game like chess.&lt;&#x2F;p&gt;
&lt;p&gt;A generation of coaches optimized for pass completion, pressing triggers, territorial control, rest defense, and positional occupation. The problem is that they optimized for what is measurable. Attacking space early, attempting the difficult pass, dribbling past a defender, deliberately creating chaos: these are high-variance plays. They fail more often than they succeed. If you evaluate players by completion rate, ball retention, or positional discipline, those actions look like mistakes. So they get coached out. Eventually, everyone converges toward the same local optimum.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>Nutrition Labels for Trust</title>
        <published>2026-06-13T00:00:00+00:00</published>
        <updated>2026-06-13T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://federicocarrone.com/series/concrete/nutrition-labels-for-trust/"/>
        <id>https://federicocarrone.com/series/concrete/nutrition-labels-for-trust/</id>
        
        <content type="html" xml:base="https://federicocarrone.com/series/concrete/nutrition-labels-for-trust/">&lt;p&gt;The man in the painting at the top of this page is doing the oldest verification job there is. He is weighing each coin on a balance, one at a time, because the face stamped on a coin is a claim and its weight is the evidence, and a money changer who confused the two went broke. He does not trust the mint. He trusts the scale.&lt;&#x2F;p&gt;
&lt;p&gt;Five hundred years later, almost all of our software asks us to trust the stamp. It ships with a name, a logo, a reassuring sentence about security, and no scale anywhere. The bill for trusting the stamp comes due in supply-chain backdoors, dependencies nobody audited, and “verified” badges that turn out to have meant a marketing review, and it usually arrives late and all at once.&lt;&#x2F;p&gt;
&lt;p&gt;Vitalik Buterin put the missing scale into one sentence:&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;In an ideal world all software and hardware would have “nutrition labels” that provide a full list of trust dependencies - what math and which actors’ honest behavior (and on what time scale) the system is relying on to provide its core functionality and implied guarantees.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;x.com&#x2F;VitalikButerin&#x2F;status&#x2F;2059622765364207619&quot;&gt;Vitalik Buterin (@VitalikButerin)&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;binji replied with the obvious objection, and then with something more interesting:&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;even if this was available, it could still prove to create a cognitive load that is ignored by many, so they’d still opt into systems that preselect for them. you see this in nutrition labels and dieting etc, where most people prefer the convenience of being given a basket of “things to eat” from a verified source (doctors, dieticians…influencers).&lt;&#x2F;p&gt;
&lt;p&gt;but here’s where the agentic world gets interesting, as ai becomes the new ui, the necessity of privacy preserving agents personalized to a users preferences that can handle the cognitive load to supplement their decisions while proving verified logic on how they come to that conclusion will be key.&lt;&#x2F;p&gt;
&lt;p&gt;feels like a strong intersection opportunity at large here and is a mixture of verification, privacy, agent-assisted decision making, and overall web hygiene&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;x.com&#x2F;binji_x&#x2F;status&#x2F;2059625420828344645&quot;&gt;binji (@binji_x)&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;That exchange splits the problem cleanly. Vitalik is asking for the artifact: what does this system depend on? binji is asking who is supposed to read it without turning every user into a security engineer. &lt;a href=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;series&#x2F;concrete&#x2F;the-concrete-programming-language-systems-programming-for-formal-reasoning&#x2F;&quot;&gt;Concrete&lt;&#x2F;a&gt;, the programming language I have been writing about, sits between those two questions. It does not solve the whole thing. It builds the part that should never have been prose.&lt;&#x2F;p&gt;
&lt;aside class=&quot;toolkit&quot;&gt;
  &lt;p class=&quot;toolkit-label&quot;&gt;Key takeaways&lt;&#x2F;p&gt;
  &lt;ul&gt;
&lt;li&gt;A trust nutrition label should be a compiler artifact, not vendor prose. Concrete already produces the math-and-code half of one as a byproduct of compiling.&lt;&#x2F;li&gt;
&lt;li&gt;The label has real fields: the capabilities a program uses, every trusted and unsafe boundary, and a per-obligation evidence class (proved, assumed, or trusted) down to a named trusted computing base and the axioms the proofs rest on.&lt;&#x2F;li&gt;
&lt;li&gt;It is verifiable, not asserted. The reports are deterministic and &lt;code&gt;concrete diff&lt;&#x2F;code&gt; fails closed when trust weakens between versions.&lt;&#x2F;li&gt;
&lt;li&gt;It deliberately stops at one half. It says nothing about which actors you trust or for how long, and the verification is partial: the backend and final binary stay trusted. The output is “here is what is proven, by what, and what is not.”&lt;&#x2F;li&gt;
&lt;li&gt;For agents, that means trust should come from the kernel-checked artifact, not the agent’s say-so.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;

&lt;&#x2F;aside&gt;
&lt;h2 id=&quot;two-different-kinds-of-trust&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#two-different-kinds-of-trust&quot; aria-label=&quot;Anchor link for: two-different-kinds-of-trust&quot;&gt;#&lt;&#x2F;a&gt;Two Different Kinds Of Trust&lt;&#x2F;h2&gt;
&lt;p&gt;Vitalik’s label is really asking for two lists. One list is technical: which proofs, components, foreign calls, permissions, and machines does this system rely on? The other is social: which people or institutions must behave honestly, and for how long?&lt;&#x2F;p&gt;
&lt;p&gt;Those are not the same problem. Concrete works on the first list. It says nothing deep about incentives, collusion, governance, or whether some actor stays honest for six months. But the technical list is already enough work, and it is the part a compiler can actually produce.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;a-label-generated-by-the-compiler&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#a-label-generated-by-the-compiler&quot; aria-label=&quot;Anchor link for: a-label-generated-by-the-compiler&quot;&gt;#&lt;&#x2F;a&gt;A label generated by the compiler&lt;&#x2F;h2&gt;
&lt;p&gt;Concrete is built around a simple habit: when the program makes a claim, the compiler should keep the receipt. A contract, a capability, a trusted boundary, a runtime-safety check: each one becomes something the tool can report on. Compilation should leave behind more than a binary. It should leave behind a record of what the program used and what evidence backs each claim.&lt;&#x2F;p&gt;
&lt;p&gt;That ledger has real fields, not slogans. A small slice of it might look like this:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;function: parse_config&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;capabilities: File&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;trusted_boundaries:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;  - trusted extern fn os_read&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;obligations:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;  O1 array_bounds buffer[i]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;     evidence: proved_by_kernel_decision&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;     engine: omega&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;  O2 ensures result_is_valid_config&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;     evidence: assumed&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;  O3 proof link Config.Proofs.parse_config_shape&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;     evidence: stale&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;     reason: body fingerprint changed&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;tcb:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;  - Concrete checker&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;  - Lean kernel&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;  - proof attachment and fingerprint machinery&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;  - LLVM&#x2F;backend&#x2F;runtime&#x2F;OS&#x2F;hardware&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;The syntax above is illustrative, but the categories are real: authority, trusted boundary, obligation, evidence class, stale proof, trusted base. The label comes from the program and the proof artifacts. Nobody writes it afterward as a compliance paragraph.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Capabilities.&lt;&#x2F;strong&gt; Concrete tracks effects as a visible capability vocabulary: the concrete permissions &lt;code&gt;File&lt;&#x2F;code&gt;, &lt;code&gt;Network&lt;&#x2F;code&gt;, &lt;code&gt;Process&lt;&#x2F;code&gt;, &lt;code&gt;Console&lt;&#x2F;code&gt;, &lt;code&gt;Clock&lt;&#x2F;code&gt;, &lt;code&gt;Random&lt;&#x2F;code&gt;, &lt;code&gt;Env&lt;&#x2F;code&gt;, &lt;code&gt;Alloc&lt;&#x2F;code&gt;, and &lt;code&gt;Unsafe&lt;&#x2F;code&gt;, plus a &lt;code&gt;Std&lt;&#x2F;code&gt; macro that expands to the standard set and user-defined aliases that expand at parse time. A function with no annotation is pure. A function that allocates on the heap must say &lt;code&gt;with(Alloc)&lt;&#x2F;code&gt;. A function that touches the network must say &lt;code&gt;with(Network)&lt;&#x2F;code&gt;, and so must everything that transitively calls it. The label cannot under-report, because a program that uses an effect it did not declare does not compile.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Trusted boundaries.&lt;&#x2F;strong&gt; Every place the program steps outside what the checker can guarantee is marked and locatable: &lt;code&gt;trusted fn&lt;&#x2F;code&gt;, &lt;code&gt;trusted impl&lt;&#x2F;code&gt;, &lt;code&gt;trusted extern fn&lt;&#x2F;code&gt;, and functions or calls carrying &lt;code&gt;with(Unsafe)&lt;&#x2F;code&gt;. You can ask the compiler to enumerate them, and it answers with a list and source spans rather than a shrug. “Does pointer tricks internally” and “can call arbitrary foreign code” are different risks, and they get different markers.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Evidence classes.&lt;&#x2F;strong&gt; My favorite detail is the absence of a single green checkmark. Every obligation says how it is justified: &lt;code&gt;proved_by_lean&lt;&#x2F;code&gt; for a kernel-checked theorem, &lt;code&gt;proved_by_kernel_decision&lt;&#x2F;code&gt; for a decision procedure, &lt;code&gt;solver_trusted&lt;&#x2F;code&gt; for an external solver result, &lt;code&gt;tested_by_oracle&lt;&#x2F;code&gt;, &lt;code&gt;assumed&lt;&#x2F;code&gt;, &lt;code&gt;trusted&lt;&#x2F;code&gt;, &lt;code&gt;stale&lt;&#x2F;code&gt;, &lt;code&gt;unproven&lt;&#x2F;code&gt;, and more. “This type-checks,” “this is proven,” and “we are trusting the author here” are different statements. Concrete keeps them separate. That is the money changer’s distinction restored to software: the coin you weighed, the coin you did not, and the coin you are choosing to take on faith.&lt;&#x2F;p&gt;
&lt;p&gt;None of that is pseudocode, so here is the authority half in real Concrete. A foreign call is a named, audited boundary; a function that touches the console has to say so; and the requirement climbs the call graph on its own:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;rust&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-variable z-other&quot;&gt;trusted&lt;&#x2F;span&gt;&lt;span class=&quot;z-storage z-type z-keyword&quot;&gt; extern fn&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name&quot;&gt; putchar&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-other&quot;&gt;(c&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name&quot;&gt; i32&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; -&amp;gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name&quot;&gt; i32&lt;&#x2F;span&gt;&lt;span&gt;;&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-comment z-comment&quot;&gt;        &#x2F;&#x2F; foreign boundary, audited&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-keyword&quot;&gt;fn&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name&quot;&gt; print_int&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-other&quot;&gt;(n&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name&quot;&gt; i64&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name&quot;&gt; with&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name&quot;&gt;Console&lt;&#x2F;span&gt;&lt;span&gt;) {&lt;&#x2F;span&gt;&lt;span class=&quot;z-comment&quot;&gt; &#x2F;* ... *&#x2F;&lt;&#x2F;span&gt;&lt;span&gt; }&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-comment z-comment&quot;&gt; &#x2F;&#x2F; needs Console&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-keyword&quot;&gt;fn&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name&quot;&gt; greet&lt;&#x2F;span&gt;&lt;span&gt;()&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name&quot;&gt; with&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name&quot;&gt;Console&lt;&#x2F;span&gt;&lt;span&gt;) {&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name&quot;&gt; print_int&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;42&lt;&#x2F;span&gt;&lt;span&gt;); }&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-comment z-comment&quot;&gt;      &#x2F;&#x2F; inherits it from print_int&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-keyword&quot;&gt;fn&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name&quot;&gt; main&lt;&#x2F;span&gt;&lt;span&gt;()&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name&quot;&gt; with&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name&quot;&gt;Std&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; -&amp;gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name&quot;&gt; Int&lt;&#x2F;span&gt;&lt;span&gt; {&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name&quot;&gt; greet&lt;&#x2F;span&gt;&lt;span&gt;();&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; return&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt; 0&lt;&#x2F;span&gt;&lt;span&gt;; }&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Delete &lt;code&gt;with(Console)&lt;&#x2F;code&gt; from &lt;code&gt;greet&lt;&#x2F;code&gt; and the program stops compiling, because &lt;code&gt;greet&lt;&#x2F;code&gt; calls something that needs it. Authority is not a comment that can drift out of date. It is part of the type, rechecked on every edit.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-label-carries-proofs-not-just-declarations&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#the-label-carries-proofs-not-just-declarations&quot; aria-label=&quot;Anchor link for: the-label-carries-proofs-not-just-declarations&quot;&gt;#&lt;&#x2F;a&gt;The label carries proofs, not just declarations&lt;&#x2F;h2&gt;
&lt;p&gt;A permissions screen says an app can use the network. A software bill of materials says a binary contains some library at some version. Concrete’s label can say something a list of dependencies cannot: that a specific property of a specific function has been mechanically proven, and by what.&lt;&#x2F;p&gt;
&lt;p&gt;The mechanism is ordinary design by contract, pointed at verification. A function carries &lt;code&gt;#[requires]&lt;&#x2F;code&gt; and &lt;code&gt;#[ensures]&lt;&#x2F;code&gt; clauses and loop invariants. Each becomes a proof obligation with a stable identifier. A precondition is assumed at the function’s entry and surfaced at every caller, so it cannot be quietly dropped; depending on the active policy, the caller either discharges it or carries an explicit unproven obligation.&lt;&#x2F;p&gt;
&lt;p&gt;How it gets discharged is where the marketing version would usually start lying. Concrete is kernel-first. The decision procedures &lt;code&gt;omega&lt;&#x2F;code&gt;, for linear integer arithmetic, and &lt;code&gt;bv_decide&lt;&#x2F;code&gt;, for bitvectors, produce certificates that are checked inside the toolchain, so using them adds no external solver to the trusted base. But the caveats stay visible. &lt;code&gt;bv_decide&lt;&#x2F;code&gt; relies on a compiled LRAT checker, which brings a named tier of native-code trust; it is not pure kernel reduction, and the axiom inventory says so. Concrete can also hand a condition to an external SMT solver. When it does, the result is labeled &lt;code&gt;solver_trusted&lt;&#x2F;code&gt;, and that solver binary becomes part of the trusted base for that obligation. Trust has not vanished. The label tells you which kind of trust you just used.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;code&gt;concrete prove&lt;&#x2F;code&gt; is the workflow that makes this usable. It generates a Lean proof workspace for a function, links registered theorems back to their obligations, and supports replay so a proof stays bound to the exact source it was written against. A fingerprint, now a truncated SHA-256 over the function’s structure, detects when the code drifts out from under its proof, and the evidence class flips to &lt;code&gt;stale&lt;&#x2F;code&gt;. The label cannot keep claiming “proven” about a function that has since changed.&lt;&#x2F;p&gt;
&lt;p&gt;Here is the proof half in real code, just as small. A bit rotation whose precondition says the shift must stay in range:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;rust&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;#[requires(0 &lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;&amp;lt;=&lt;&#x2F;span&gt;&lt;span&gt; n &lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;&amp;amp;&amp;amp;&lt;&#x2F;span&gt;&lt;span&gt; n&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; &amp;lt;&lt;&#x2F;span&gt;&lt;span&gt; 32)]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-keyword&quot;&gt;fn&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name&quot;&gt; rotr&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-other&quot;&gt;(x&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name&quot;&gt; u32&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-other&quot;&gt;, n&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name&quot;&gt; u32&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; -&amp;gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name&quot;&gt; u32&lt;&#x2F;span&gt;&lt;span&gt; {&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-keyword&quot;&gt;    return&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-other&quot;&gt; (x&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; &amp;gt;&amp;gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-other&quot;&gt; n)&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; |&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-other&quot;&gt; (x&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; &amp;lt;&amp;lt;&lt;&#x2F;span&gt;&lt;span&gt; (&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;32&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; -&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-other&quot;&gt; n));&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;}&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;That &lt;code&gt;#[requires]&lt;&#x2F;code&gt; is not a comment and not a runtime assert. The compiler turns it into an obligation, pushes it onto every caller, and then reports, one call site at a time, how each call discharges it:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;call rotr(x, 13)       requires 0 &amp;lt;= n &amp;amp;&amp;amp; n &amp;lt; 32   -&amp;gt;  proved_at_callsite&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;call rotr(x, n) [n=7]  requires 0 &amp;lt;= n &amp;amp;&amp;amp; n &amp;lt; 32   -&amp;gt;  proved_by_kernel_decision (bv_decide)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;call rotr(x, 40)       requires 0 &amp;lt;= n &amp;amp;&amp;amp; n &amp;lt; 32   -&amp;gt;  failed_at_callsite&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;call rotr(x, k)        requires 0 &amp;lt;= n &amp;amp;&amp;amp; n &amp;lt; 32   -&amp;gt;  unproven_at_callsite&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Four calls, four honest verdicts. A constant in range folds to proved. A value fixed earlier by a &lt;code&gt;let&lt;&#x2F;code&gt; is handed to a decision procedure and closed with checked evidence. A constant out of range is reported as a violation, and policy can make that a hard failure. An argument the compiler cannot pin down stays &lt;code&gt;unproven&lt;&#x2F;code&gt;, labeled exactly that, never quietly rounded up to fine. The last line is the one that matters most: the label would rather tell you it does not know than tell you a comforting lie. That is the money changer setting a coin aside because the scale was inconclusive, instead of waving it through.&lt;&#x2F;p&gt;
&lt;p&gt;Return to the config example. The useful fact is not that the program is “verified.” It is that its &lt;code&gt;File&lt;&#x2F;code&gt; authority is visible, its absence of &lt;code&gt;Network&lt;&#x2F;code&gt; and &lt;code&gt;Alloc&lt;&#x2F;code&gt; authority is checked, its operating-system boundary is named, one bounds obligation is discharged by &lt;code&gt;omega&lt;&#x2F;code&gt;, one semantic parsing claim is only &lt;code&gt;assumed&lt;&#x2F;code&gt;, and one old proof has gone &lt;code&gt;stale&lt;&#x2F;code&gt;. Six facts, six different kinds of trust, none of them collapsed into a checkmark. You learn more from that than from a green “verified” badge, precisely because it shows you where the badge would have been lying.&lt;&#x2F;p&gt;
&lt;p&gt;The word “verified” has to stay disciplined. Capabilities and boundaries are enforced or reported by the type system. That is useful, but it is not the same thing as a proof. A contract that reaches &lt;code&gt;proved_by_lean&lt;&#x2F;code&gt; or &lt;code&gt;proved_by_kernel_decision&lt;&#x2F;code&gt; has a machine-checked argument behind it. The label keeps those cases apart so the enforced does not pretend to be proven.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-label-includes-itself&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#the-label-includes-itself&quot; aria-label=&quot;Anchor link for: the-label-includes-itself&quot;&gt;#&lt;&#x2F;a&gt;The label includes itself&lt;&#x2F;h2&gt;
&lt;p&gt;The best part is that Concrete applies the same suspicion to itself. It prints the trusted computing base: the layers you must trust for any proof to mean anything. The checker and compiler. The Lean kernel. The proof-attachment and fingerprint machinery. The LLVM backend. The runtime, the operating system, the hardware. And the foreign code behind every &lt;code&gt;extern fn&lt;&#x2F;code&gt;. Most systems hide this list. Concrete prints it.&lt;&#x2F;p&gt;
&lt;p&gt;Ken Thompson gave the reason in his 1984 Turing Award lecture. You cannot fully trust code you did not write yourself, and the rot can reach all the way down to the compiler: a compiler can carry a backdoor that survives even after its own source is scrubbed clean, by recognizing when it is compiling itself and quietly reinserting the trick. That does not make trust hopeless. It means “trust me, the compiler is clean” is not an answer. You have to name what trusting the compiler commits you to. A compiler that prints its own trusted base and the axioms its proofs stand on is Thompson’s question answered out loud instead of waved away.&lt;&#x2F;p&gt;
&lt;p&gt;It even prints the axioms. An axiom-inventory gate runs over every theorem and fails the build on anything undocumented. The mathematical assumptions the proofs are allowed to lean on are named: &lt;code&gt;propext&lt;&#x2F;code&gt;, &lt;code&gt;Classical.choice&lt;&#x2F;code&gt;, &lt;code&gt;Quot.sound&lt;&#x2F;code&gt;, and the flagged native-code trust tier for compiled certificate checking. That is the literal answer to Vitalik’s “what math are you relying on,” extracted automatically rather than asserted in a README.&lt;&#x2F;p&gt;
&lt;p&gt;The label can also be regenerated. Same source, same reports. &lt;code&gt;concrete diff&lt;&#x2F;code&gt; compares two versions and flags when trust weakens, when a proof goes stale, when authority escalates, when a boundary erodes. A label you can regenerate and diff is evidence. A label you cannot is marketing.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;what-it-does-not-cover&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#what-it-does-not-cover&quot; aria-label=&quot;Anchor link for: what-it-does-not-cover&quot;&gt;#&lt;&#x2F;a&gt;What it does not cover&lt;&#x2F;h2&gt;
&lt;p&gt;Here is the part I would rather say myself than have you catch me on.&lt;&#x2F;p&gt;
&lt;p&gt;Concrete does not model the second half of Vitalik’s label at all. There is no notion of actors, incentives, collusion, honesty-until-some-time, or social trust anywhere in it. Its accounting is static, about which layers and which math to trust, not dynamic, about which humans behave well and for how long. The actor-and-time-scale half is a real and separate problem, and it belongs to mechanism design and economics, not to a systems language.&lt;&#x2F;p&gt;
&lt;p&gt;The verification is also partial, and the label says so. Proofs attach at the contract and proof-model level, over an intermediate representation and an idealized integer model. The chain from there through the backend down to the final binary is trusted, not verified, and binary correctness sits openly among Concrete’s explicit non-claims. Many obligations are still &lt;code&gt;missing&lt;&#x2F;code&gt; or end in a hand-written Lean proof rather than automatic discharge.&lt;&#x2F;p&gt;
&lt;p&gt;So the claim is not “Concrete proves your program correct end to end.” It is smaller and more useful: Concrete proves selected claims over its proof model, then tells you which properties are proven, by what, which trusted base they rely on, and which properties are not proven at all. That is worth more than a green badge.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;who-reads-the-label&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#who-reads-the-label&quot; aria-label=&quot;Anchor link for: who-reads-the-label&quot;&gt;#&lt;&#x2F;a&gt;Who reads the label&lt;&#x2F;h2&gt;
&lt;p&gt;binji’s objection is correct and survives even a perfect label. Labels create cognitive load, most people ignore them, and they fall back on a basket curated by someone they trust. This happens with food labels and diets, and it would happen with trust labels too. A manifest nobody reads is decoration.&lt;&#x2F;p&gt;
&lt;p&gt;But his answer points at the kind of artifact Concrete produces. He wants agents that carry the cognitive load while showing verified logic for their conclusions. For that to work, the agent needs structured facts it did not invent.&lt;&#x2F;p&gt;
&lt;p&gt;Concrete’s label is machine-consumable. It has identifiers, source spans, dependencies, and evidence classes. An agent can read it directly. The cognitive load binji worries about is a problem for a human staring at a wall of facts, not for software filtering those facts against a user’s policy.&lt;&#x2F;p&gt;
&lt;p&gt;And Concrete’s strongest conclusions arrive with proofs the kernel already checked, or with explicitly weaker labels when they do not. binji wants the agent to prove the logic behind its recommendation. With Concrete, the load-bearing proof evidence was checked independently of any agent. The agent does not have to be trusted to produce that evidence. It only has to point at evidence that already exists and that it cannot forge without changing the artifact.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;trust-should-come-from-the-artifact-not-the-agent&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#trust-should-come-from-the-artifact-not-the-agent&quot; aria-label=&quot;Anchor link for: trust-should-come-from-the-artifact-not-the-agent&quot;&gt;#&lt;&#x2F;a&gt;Trust should come from the artifact, not the agent&lt;&#x2F;h2&gt;
&lt;p&gt;This changes the role of the agent. The usual story makes the agent the thing you must trust: align it, audit it, believe it. Concrete pushes some trust downward into the artifact. The agent’s job is then smaller. It reads facts it cannot easily fake and applies the user’s policy to them.&lt;&#x2F;p&gt;
&lt;p&gt;The split is simple. Concrete produces the verified input. The agent applies the user’s preferences. The Lean kernel anchors the strongest evidence. The remaining trusted layers are named instead of hidden. The agent is still not magic, but at least it is reading facts grounded outside itself.&lt;&#x2F;p&gt;
&lt;p&gt;One more line so I do not oversell it. Concrete answers the input problem: trustworthy facts about an artifact. It does not answer the alignment problem: whether the agent faithfully serves the user. It can make the agent’s inputs harder to fake. It does not make the agent good.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-ingredients-not-just-the-dish&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#the-ingredients-not-just-the-dish&quot; aria-label=&quot;Anchor link for: the-ingredients-not-just-the-dish&quot;&gt;#&lt;&#x2F;a&gt;The ingredients, not just the dish&lt;&#x2F;h2&gt;
&lt;p&gt;Everything above labels a program you wrote. But the trust dependency that actually bites is the one you did not write: the parser that quietly starts logging to disk, the hash helper that adds a network call “for telemetry,” the dependency whose proof silently downgrades between versions. Vitalik’s phrase is “a full list of trust dependencies,” and in practice your dependencies are your imports. binji’s basket of ingredients is the import list.&lt;&#x2F;p&gt;
&lt;p&gt;Concrete’s design notes take the next step, and I want to be exact: this part is written down as a direction, not yet shipped. The principle is that an import should not silently grant power. It should say what it brings in and what it is forbidden to bring in. So an import carries a ceiling and a floor:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;rust&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-variable z-other&quot;&gt;import std&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;.&lt;&#x2F;span&gt;&lt;span&gt;parse      &lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name&quot;&gt;requires&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-other&quot;&gt;(no&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name&quot;&gt; File&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-other&quot;&gt;, no&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name&quot;&gt; Network&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-other&quot;&gt;, no&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name&quot;&gt; Unsafe&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-variable z-other&quot;&gt;import hmac&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;.&lt;&#x2F;span&gt;&lt;span&gt;compute   &lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name&quot;&gt;requires&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-other&quot;&gt;(proved_by_lean)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-variable z-other&quot;&gt;import crypto&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;.&lt;&#x2F;span&gt;&lt;span&gt;compare &lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name&quot;&gt;requires&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-other&quot;&gt;(constant_time, no secret_sink)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;and a manifest sets a whole-project authority budget:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;toml&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;[&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name&quot;&gt;authority&lt;&#x2F;span&gt;&lt;span&gt;]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-variable z-other&quot;&gt;allowed = [&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;Alloc&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-variable z-other&quot;&gt;forbidden = [&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;File&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt; &amp;quot;Network&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt; &amp;quot;Process&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt; &amp;quot;Unsafe&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Now drift fails closed. If the parser grows &lt;code&gt;File&lt;&#x2F;code&gt; authority, or the hash helper’s evidence downgrades from &lt;code&gt;proved_by_lean&lt;&#x2F;code&gt; to &lt;code&gt;assumed&lt;&#x2F;code&gt;, the build stops and demands an explicit change to the constraint. That is the supply-chain backdoor from the top of this post, caught at compile time instead of explained in a postmortem.&lt;&#x2F;p&gt;
&lt;p&gt;Capabilities, contracts, and evidence classes exist today; bounded imports and authority budgets are a design on paper, not a feature you can run. But the direction is the whole point, because it is where the label stops describing one program and starts describing the entire dependency tree, which is the only level at which “a full list of trust dependencies” is actually true.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;labels-should-be-compiler-artifacts&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#labels-should-be-compiler-artifacts&quot; aria-label=&quot;Anchor link for: labels-should-be-compiler-artifacts&quot;&gt;#&lt;&#x2F;a&gt;Labels should be compiler artifacts&lt;&#x2F;h2&gt;
&lt;p&gt;Software trust labels should not be vendor prose. They should be compiler artifacts: deterministic, diffable, and backed by machine-checked evidence wherever the strong claims are made. Concrete shows what that looks like for capabilities, contracts, proof obligations, evidence classes, axioms, and trusted boundaries. This is the same argument as &lt;a href=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;series&#x2F;concrete&#x2F;a-fact-producing-compiler&#x2F;&quot;&gt;a fact-producing compiler&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;series&#x2F;concrete&#x2F;when-the-compiler-is-the-oracle&#x2F;&quot;&gt;when the compiler is the oracle&lt;&#x2F;a&gt;, pointed at a live conversation elsewhere.&lt;&#x2F;p&gt;
&lt;p&gt;The systems-language world and the crypto-trust world are circling the same object from opposite sides. One wants software to emit a verifiable manifest of what it depends on. The other wants a language where that manifest falls out of compilation. Concrete does not solve the honest-actor half, and it does not pretend to. It takes the half that can be mechanized and mechanizes it: the part CI can reject, a reviewer can diff, and an agent can stand on without asking to be believed.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>A Proof Is Only as Good as Its Spec</title>
        <published>2026-06-06T00:00:00+00:00</published>
        <updated>2026-06-06T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://federicocarrone.com/articles/formal-verification-moves-trust/"/>
        <id>https://federicocarrone.com/articles/formal-verification-moves-trust/</id>
        
        <summary type="html">&lt;p&gt;I want Ethereum to have more formal verification, not less. That’s why I’m writing this.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>Discipline Without Love Optimizes for the Wrong Variable</title>
        <published>2026-05-21T00:00:00+00:00</published>
        <updated>2026-05-21T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://federicocarrone.com/articles/discipline-without-love/"/>
        <id>https://federicocarrone.com/articles/discipline-without-love/</id>
        
        <summary type="html">&lt;p&gt;The last year and a half, but particularly the last six months, were incredible but also very very tough. I went through difficult personal problems and had to expand my tolerance for pain to extremes I didn’t know existed. You don’t fight pain by toughening up. You fight it by controlling what you let near you. I left alcohol, lowered my consumption of caffeine to bare minimums, deleted my instagram and removed most of the people I didn’t care about from my life and I doubled down on living with friends family and partners I love.&lt;&#x2F;p&gt;
&lt;p&gt;My father told me multiple times that I have lived multiple lives in one. It’s very likely that he has some responsibility for this because I became obsessed with adventures thanks to Jules Verne when I was a kid. I wanted to explore. I did trips to places and met people that you see only in nightmares. After getting burnt and almost dying multiple times I created &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;x.com&#x2F;class_lambda&quot;&gt;LambdaClass&lt;&#x2F;a&gt; and now &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;ergodicgroup.com&quot;&gt;Ergodic Group&lt;&#x2F;a&gt;. Those near deaths weren’t only pain. Each one was teaching me the same thing: turn this into something that outlasts you, or it was just damage. I’m trying to do the same right now with what happened to me the last few weeks.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>Blockspace Forum Cannes - Fede and Justin Drake</title>
        <published>2026-04-22T00:00:00+00:00</published>
        <updated>2026-04-22T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://federicocarrone.com/talks/blockspace-forum-cannes-fede-and-justin-drake/"/>
        <id>https://federicocarrone.com/talks/blockspace-forum-cannes-fede-and-justin-drake/</id>
        
        <content type="html" xml:base="https://federicocarrone.com/talks/blockspace-forum-cannes-fede-and-justin-drake/"></content>
        
    </entry>
    <entry xml:lang="en">
        <title>A Fact-Producing Compiler</title>
        <published>2026-04-09T00:00:00+00:00</published>
        <updated>2026-04-09T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://federicocarrone.com/series/concrete/a-fact-producing-compiler/"/>
        <id>https://federicocarrone.com/series/concrete/a-fact-producing-compiler/</id>
        
        <summary type="html">&lt;blockquote&gt;
&lt;p&gt;Series note: this article is part of the Concrete series and responds to Dmitri Sotnikov’s &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;yogthos.net&#x2F;posts&#x2F;2026-04-08-neurosymbolic-mcp.html&quot;&gt;Giving LLMs a Formal Reasoning Engine for Code Analysis&lt;&#x2F;a&gt;.
Related: &lt;a href=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;series&#x2F;concrete&#x2F;when-the-compiler-is-the-oracle&#x2F;&quot;&gt;When the Compiler Is the Oracle&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;series&#x2F;concrete&#x2F;the-concrete-programming-language-systems-programming-for-formal-reasoning&#x2F;&quot;&gt;Why Concrete Exists&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;When an AI agent explores a codebase, it usually greps for names, reads a few matches, searches for callers, reads those, and tries to piece together a mental model of the program from text fragments. This works about as well as you would expect. The agent is asking structural questions about a program, things like “can user input reach this SQL query?” or “what changes if I touch this function?”, but the only tool it has is text search.&lt;&#x2F;p&gt;
&lt;p&gt;Yesterday I read Dmitri Sotnikov’s &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;yogthos.net&#x2F;posts&#x2F;2026-04-08-neurosymbolic-mcp.html&quot;&gt;article&lt;&#x2F;a&gt; about giving LLMs a symbolic reasoning engine for code analysis. His tool, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;yogthos&#x2F;chiasmus&quot;&gt;Chiasmus&lt;&#x2F;a&gt;, parses source code with tree-sitter (a syntax parser), turns definitions and calls into logic facts, and lets an LLM run graph queries instead of grepping through files. That is a much better interface: the agent asks a structural question and gets a structural answer.&lt;&#x2F;p&gt;
&lt;p&gt;Reading the post gave me a better phrase for part of what we are building with Concrete: a &lt;strong&gt;fact-producing compiler&lt;&#x2F;strong&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;Concrete is the systems programming language we are building for programs that need auditability. It compiles code into an executable and into checked statements about what that executable can do.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>CommitLLM: How to Verify an LLM Inference</title>
        <published>2026-04-02T00:00:00+00:00</published>
        <updated>2026-04-02T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://federicocarrone.com/articles/commitllm/"/>
        <id>https://federicocarrone.com/articles/commitllm/</id>
        
        <summary type="html">&lt;p&gt;You send a prompt to an LLM API. The provider says it ran Llama 70B. Maybe it did. Maybe it served a smaller model to save money, changed the quantization, altered the decode settings, or patched the answer after generation. Today you usually cannot tell. You get text back, an invoice, and a promise.&lt;&#x2F;p&gt;
&lt;p&gt;For casual use, a promise is often enough. For enterprise procurement, regulated systems, benchmark evaluation, or agent workflows making consequential decisions, it is not. If the model behind the answer matters, “trust us” is not a satisfying interface.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>What Concrete Makes Worse</title>
        <published>2026-03-24T00:00:00+00:00</published>
        <updated>2026-03-24T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://federicocarrone.com/series/concrete/what-concrete-makes-worse/"/>
        <id>https://federicocarrone.com/series/concrete/what-concrete-makes-worse/</id>
        
        <summary type="html">&lt;blockquote&gt;
&lt;p&gt;Series note: this is the tradeoffs entry in the Concrete series.
For the foundation, start with &lt;a href=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;series&#x2F;concrete&#x2F;the-concrete-programming-language-systems-programming-for-formal-reasoning&#x2F;&quot;&gt;Why Concrete Exists&lt;&#x2F;a&gt;. For the most practical demo, read &lt;a href=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;series&#x2F;concrete&#x2F;when-the-compiler-is-the-oracle&#x2F;&quot;&gt;When the Compiler Is the Oracle&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;The previous articles in this series argued that Concrete’s design constraints are worth it. Explicit capabilities make code auditable. Linear types prevent resource leaks at compile time. No hidden behavior means the compiler can report what your program actually does. I believe all of that. But I have been writing Concrete code for long enough to know where the constraints bite, and I have not been honest enough about that in public.&lt;&#x2F;p&gt;
&lt;p&gt;This article is about what Concrete makes worse. Not in theory, not as an abstract “it’s stricter.” Specific code that is uglier, longer, or more painful to write in Concrete than in Rust or Zig. If you are considering whether these tradeoffs are worth it for your domain, you deserve to see the cost up front.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>When the Compiler Is the Oracle</title>
        <published>2026-03-20T00:00:00+00:00</published>
        <updated>2026-03-20T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://federicocarrone.com/series/concrete/when-the-compiler-is-the-oracle/"/>
        <id>https://federicocarrone.com/series/concrete/when-the-compiler-is-the-oracle/</id>
        
        <summary type="html">&lt;blockquote&gt;
&lt;p&gt;Series note: this is the most practical entry point in the Concrete series.
If you want the shorter manifesto first, read &lt;a href=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;series&#x2F;concrete&#x2F;the-concrete-programming-language-systems-programming-for-formal-reasoning&#x2F;&quot;&gt;Why Concrete Exists&lt;&#x2F;a&gt;. If you want the language reference behind this article, use &lt;a href=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;series&#x2F;concrete&#x2F;spec&#x2F;&quot;&gt;Concrete Spec&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;I have been building &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;lambdaclass&#x2F;concrete&quot;&gt;Concrete&lt;&#x2F;a&gt; for a while now. Something happened this week that I did not plan for, and it may end up mattering more than the things I set out to build on purpose.&lt;&#x2F;p&gt;
&lt;p&gt;I let an AI agent improve a Concrete program using only the compiler’s reports as feedback. No profiler. No benchmarks. The agent read what the compiler knew about the program, tried refactorings, checked if the compiler’s answers improved, and kept or reverted. It worked better than I expected. The compiler had made the search space clean enough that the agent did not have to wander through benchmark fog.&lt;&#x2F;p&gt;
&lt;p&gt;That points at why Concrete is useful in the first place. A language that makes authority, allocation, trust boundaries, and proof surface explicit is easier to audit, easier to optimize, and easier to automate against. You do not have to reconstruct the truth from profiler traces, stale docs, and reviewer intuition. The compiler can tell you what is true about the program, and that changes how you build systems software. To explain why, I need to start with what Concrete is and what makes it different.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>Writing Your First Proofs in Lean</title>
        <published>2026-03-20T00:00:00+00:00</published>
        <updated>2026-03-20T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://federicocarrone.com/series/theorem-proving/writing-your-first-proofs-in-lean/"/>
        <id>https://federicocarrone.com/series/theorem-proving/writing-your-first-proofs-in-lean/</id>
        
        <summary type="html">&lt;p&gt;The &lt;a href=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;series&#x2F;theorem-proving&#x2F;propositions-are-types-proofs-are-programs&#x2F;&quot;&gt;first article&lt;&#x2F;a&gt; in this series explained the Curry-Howard correspondence: propositions are types, proofs are programs. The &lt;a href=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;series&#x2F;theorem-proving&#x2F;building-a-tiny-theorem-prover-in-python&#x2F;&quot;&gt;second&lt;&#x2F;a&gt; built a tiny theorem prover from scratch in Python. The &lt;a href=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;series&#x2F;theorem-proving&#x2F;programming-a-mini-lean-in-julias-type-system&#x2F;&quot;&gt;third&lt;&#x2F;a&gt; embedded the same ideas inside Julia’s type system.&lt;&#x2F;p&gt;
&lt;p&gt;Now we use the real tool. This article takes the exact same theorems you proved by hand in Python and shows them in Lean 4. You will see what changes and what stays the same: the syntax shifts, the logic does not.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>Programming a Mini-Lean in Julia&#x27;s Type System</title>
        <published>2026-03-19T12:00:00+00:00</published>
        <updated>2026-03-19T12:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://federicocarrone.com/series/theorem-proving/programming-a-mini-lean-in-julias-type-system/"/>
        <id>https://federicocarrone.com/series/theorem-proving/programming-a-mini-lean-in-julias-type-system/</id>
        
        <summary type="html">&lt;p&gt;This article is based on Guillermo Angeris’s talk &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;youtu.be&#x2F;Bp3kP6mJNqs&quot;&gt;“Programming a (mini-)Lean in Julia’s type system”&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;A theorem prover, stripped to its engine, is a small trusted kernel, a type checker, and a boundary between the two.&lt;&#x2F;p&gt;
&lt;p&gt;Guillermo Angeris answers this by live-coding a toy theorem-proving kernel inside Julia that illustrates how Lean works architecturally. The result is a tiny kernel that makes the trust boundary visible: if you accept the kernel, then anything built on top of it has to pass through the type checker.&lt;&#x2F;p&gt;
&lt;p&gt;This is the third article in the &lt;a href=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;series&#x2F;theorem-proving&#x2F;&quot;&gt;Theorem Proving&lt;&#x2F;a&gt; series. The &lt;a href=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;series&#x2F;theorem-proving&#x2F;propositions-are-types-proofs-are-programs&#x2F;&quot;&gt;first article&lt;&#x2F;a&gt; covers the Curry-Howard correspondence. The &lt;a href=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;series&#x2F;theorem-proving&#x2F;building-a-tiny-theorem-prover-in-python&#x2F;&quot;&gt;second&lt;&#x2F;a&gt; implements a tiny prover explicitly in Python. This article embeds those same ideas inside a host language’s type system.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>Building a Tiny Theorem Prover in Python</title>
        <published>2026-03-19T00:00:00+00:00</published>
        <updated>2026-03-19T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://federicocarrone.com/series/theorem-proving/building-a-tiny-theorem-prover-in-python/"/>
        <id>https://federicocarrone.com/series/theorem-proving/building-a-tiny-theorem-prover-in-python/</id>
        
        <summary type="html">&lt;p&gt;The &lt;a href=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;series&#x2F;theorem-proving&#x2F;propositions-are-types-proofs-are-programs&#x2F;&quot;&gt;first article&lt;&#x2F;a&gt; in this series explained the Curry-Howard correspondence: propositions are types, proofs are programs. That tells you &lt;em&gt;why&lt;&#x2F;em&gt; theorem proving fits so naturally with programming languages. It does not yet tell you what the machine looks like.&lt;&#x2F;p&gt;
&lt;p&gt;A theorem prover, concretely, is smaller than most people expect. A tiny theorem prover is just:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;a language for terms&lt;&#x2F;li&gt;
&lt;li&gt;a language for types &#x2F; propositions&lt;&#x2F;li&gt;
&lt;li&gt;a checker that decides whether a term has a type&lt;&#x2F;li&gt;
&lt;li&gt;a tiny trusted kernel that defines the legal moves&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;This article builds that architecture in plain Python. We are not abusing Python’s own type system. Python is just the implementation language. The prover we build has its &lt;em&gt;own&lt;&#x2F;em&gt; terms, its &lt;em&gt;own&lt;&#x2F;em&gt; propositions, and its &lt;em&gt;own&lt;&#x2F;em&gt; checker.&lt;&#x2F;p&gt;
&lt;p&gt;That distinction matters. The goal here is not to show off host-language cleverness. I want the moving parts to be impossible to miss.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>Self-Replicating Programs Emerge from Random Noise</title>
        <published>2026-03-18T00:00:00+00:00</published>
        <updated>2026-03-18T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://federicocarrone.com/articles/computational-life/"/>
        <id>https://federicocarrone.com/articles/computational-life/</id>
        
        <summary type="html">&lt;p&gt;Most programmers think Turing completeness is the interesting threshold for a computational system. It gets all the attention. But a lower, stranger threshold matters more for the origin of complex behavior: self-replication.&lt;&#x2F;p&gt;
&lt;p&gt;A &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;arxiv.org&#x2F;abs&#x2F;2406.19108&quot;&gt;recent paper&lt;&#x2F;a&gt; by Agüera y Arcas et al. shows that self-replicating programs spontaneously emerge from soups of random code. No one designs them. No fitness function selects for them. They assemble themselves from noise, take over the soup, and keep evolving. I reproduced the core result in about 300 lines of code.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>Propositions Are Types, Proofs Are Programs</title>
        <published>2026-03-18T00:00:00+00:00</published>
        <updated>2026-03-18T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://federicocarrone.com/series/theorem-proving/propositions-are-types-proofs-are-programs/"/>
        <id>https://federicocarrone.com/series/theorem-proving/propositions-are-types-proofs-are-programs/</id>
        
        <summary type="html">&lt;p&gt;In the 1930s, Haskell Curry noticed something strange. He was working on combinatory logic, a system for manipulating abstract functions, and he realized that the rules governing his combinators looked identical to the rules of a logical system called intuitionistic propositional logic. It was as if he’d found two different maps of the same territory.&lt;&#x2F;p&gt;
&lt;p&gt;Three decades later, William Howard found the same thing in a richer setting. He showed that the simply typed lambda calculus, the foundation of functional programming, corresponds precisely to natural deduction, a standard system of logical proof. Every type corresponds to a proposition. Every program corresponds to a proof. Every function corresponds to an implication.&lt;&#x2F;p&gt;
&lt;p&gt;This is the &lt;strong&gt;Curry-Howard correspondence&lt;&#x2F;strong&gt;: a structural identity between proofs and programs.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>Fede&#x27;s Guide to a Healthier Life</title>
        <published>2026-03-13T00:00:00+00:00</published>
        <updated>2026-03-13T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://federicocarrone.com/articles/health-guide/"/>
        <id>https://federicocarrone.com/articles/health-guide/</id>
        
        <summary type="html">&lt;p&gt;When I was young I loved science and engineering. Like most nerds, I thought thinking was the only thing that mattered. Working out seemed like a vanity project, something for people who cared about how they looked and not much else. I didn’t understand the body-mind connection at all. I was a skinny kid who spent all day reading, tinkering with computers, and hanging out with friends. The idea that physical health could affect how well I think would have sounded like nonsense to me.&lt;&#x2F;p&gt;
&lt;p&gt;It took me a long time to figure out how wrong I was.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>Can I prove Concrete programs in Lean?</title>
        <published>2026-03-12T00:00:00+00:00</published>
        <updated>2026-03-12T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://federicocarrone.com/series/concrete/proving-systems-code-in-lean/"/>
        <id>https://federicocarrone.com/series/concrete/proving-systems-code-in-lean/</id>
        
        <summary type="html">&lt;blockquote&gt;
&lt;p&gt;Series note: this is the proof-roadmap entry in the Concrete series.
For the language overview, start with &lt;a href=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;series&#x2F;concrete&#x2F;the-concrete-programming-language-systems-programming-for-formal-reasoning&#x2F;&quot;&gt;Why Concrete Exists&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;series&#x2F;concrete&#x2F;spec&#x2F;&quot;&gt;Concrete Spec&lt;&#x2F;a&gt;. For the most practical compiler-report demo, read &lt;a href=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;series&#x2F;concrete&#x2F;when-the-compiler-is-the-oracle&#x2F;&quot;&gt;When the Compiler Is the Oracle&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;I wrote the first version of this essay when proving &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;lambdaclass&#x2F;concrete&quot;&gt;Concrete&lt;&#x2F;a&gt; programs in Lean was still mostly a plan. The question was simple and a little risky: can we take a function written in Concrete, connect it to something inside the compiler, and prove a real property about it in Lean?&lt;&#x2F;p&gt;
&lt;p&gt;Part of that answer now exists. Not for the whole language, and not for the final binary, but for a real subset. Concrete can take a source contract, turn it into an obligation, attach a Lean-checked proof or a decision-procedure result, and tell you when that evidence no longer matches the code. The important part is not that every claim turns green. It is that the tool refuses to mix up “proved,” “assumed,” “trusted,” and “not done yet.”&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>Designing a Programming Language for the AI Era</title>
        <published>2026-03-11T00:00:00+00:00</published>
        <updated>2026-03-11T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://federicocarrone.com/series/concrete/the-ai-training-data-trap-for-programming-languages-has-an-exit/"/>
        <id>https://federicocarrone.com/series/concrete/the-ai-training-data-trap-for-programming-languages-has-an-exit/</id>
        
        <summary type="html">&lt;blockquote&gt;
&lt;p&gt;Series note: this article assumes the basic Concrete frame is already in place and asks a narrower question about AI-era language adoption.
For the series foundation, read &lt;a href=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;series&#x2F;concrete&#x2F;the-concrete-programming-language-systems-programming-for-formal-reasoning&#x2F;&quot;&gt;Why Concrete Exists&lt;&#x2F;a&gt;. For the main Rust comparison, read &lt;a href=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;series&#x2F;concrete&#x2F;rusts-grand-vision-and-concretes-answer&#x2F;&quot;&gt;The Rust Effects Debate and Concrete’s Case for a Smaller Language&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;Edgar Luque recently wrote about how &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;edgl.dev&#x2F;blog&#x2F;ai-language-adoption&#x2F;&quot;&gt;AI creates a new adoption barrier for programming languages&lt;&#x2F;a&gt;. His claim is that AI coding assistants need training data, training data only exists for popular languages, and so new languages get bad AI support, which prevents adoption, which in turn prevents training data from accumulating. A self-reinforcing loop that locks in whatever is already dominant.&lt;&#x2F;p&gt;
&lt;p&gt;If you are building a new general-purpose language that competes with Python, Go, or Rust on roughly the same terms, Luque’s analysis is devastating. What makes it worse than previous adoption barriers is that you cannot community-effort your way out of it. The AI training pipelines belong to a handful of companies, and those companies will always prioritize the languages where the most data already exists.&lt;&#x2F;p&gt;
&lt;p&gt;But there is a blind spot in the argument.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>The Rust Effects Debate and Concrete&#x27;s Case for a Smaller Language</title>
        <published>2026-03-09T00:00:00+00:00</published>
        <updated>2026-03-09T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://federicocarrone.com/series/concrete/rusts-grand-vision-and-concretes-answer/"/>
        <id>https://federicocarrone.com/series/concrete/rusts-grand-vision-and-concretes-answer/</id>
        
        <summary type="html">&lt;blockquote&gt;
&lt;p&gt;Series note: this is the main Rust-comparison entry in the Concrete series.
If you are new here, start with &lt;a href=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;series&#x2F;concrete&#x2F;the-concrete-programming-language-systems-programming-for-formal-reasoning&#x2F;&quot;&gt;Why Concrete Exists&lt;&#x2F;a&gt;. If you want the language reference, use &lt;a href=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;series&#x2F;concrete&#x2F;spec&#x2F;&quot;&gt;Concrete Spec&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;Yosh Wuyts recently wrote about his &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;blog.yoshuawuyts.com&#x2F;a-grand-vision-for-rust&#x2F;&quot;&gt;“grand vision” for Rust&lt;&#x2F;a&gt;, outlining three directions he thinks the language should pursue: effects, stronger substructural types, and refinement types. The &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=47256376&quot;&gt;Hacker News thread&lt;&#x2F;a&gt; that followed split predictably: one camp saw a safer, more principled systems language taking shape while the other saw echoes of Scala, C++, and a language that becomes harder to read than the software it is meant to clarify.&lt;&#x2F;p&gt;
&lt;p&gt;Both camps are seeing something real, and I think resolving the tension between them requires something other than adding more features to Rust. That is where &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;lambdaclass&#x2F;concrete&quot;&gt;Concrete&lt;&#x2F;a&gt; comes in.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>Dissolution Without Construction</title>
        <published>2026-03-06T00:00:00+00:00</published>
        <updated>2026-03-06T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://federicocarrone.com/series/les-circuits-longs/dissolution-without-construction/"/>
        <id>https://federicocarrone.com/series/les-circuits-longs/dissolution-without-construction/</id>
        
        <content type="html" xml:base="https://federicocarrone.com/series/les-circuits-longs/dissolution-without-construction/">&lt;p&gt;I have been circling the same problem for a while now. Friction produces value. Legibility destroys what it measures. Formation requires lived time. The modern self is dissolving through redundancy. Previous technological shifts gave people decades to adapt, and this one might give them months.&lt;&#x2F;p&gt;
&lt;p&gt;These kept feeling like separate observations. I no longer think they are.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-speed-mismatch&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#the-speed-mismatch&quot; aria-label=&quot;Anchor link for: the-speed-mismatch&quot;&gt;#&lt;&#x2F;a&gt;The Speed Mismatch&lt;&#x2F;h2&gt;
&lt;p&gt;Every major coordination technology in history has dissolved the form of selfhood that preceded it. Writing destroyed oral memory, the printing press destroyed manuscript culture, and institutions dissolved kinship. None of this is new.&lt;&#x2F;p&gt;
&lt;p&gt;What is new is the asymmetry between how fast things dissolve and how fast things grow.&lt;&#x2F;p&gt;
&lt;p&gt;Writing spread slowly. A scribe copied a text, carried it to another city, taught someone to read it. The dissolution of oral memory and the construction of literate thought happened at roughly the same pace, both measured in generations. The printing press was faster, but still slow enough that cultural forms could emerge alongside the destruction. The novel, the diary, the public library, liberal education: these took centuries to stabilize, but centuries were available because print moved at the speed of physical objects.&lt;&#x2F;p&gt;
&lt;p&gt;Algorithmic systems dissolve at computational speed. A recommendation engine can reshape the taste-formation process of millions of people in months. An AI assistant can make inner deliberation feel unnecessary within a single product cycle.&lt;&#x2F;p&gt;
&lt;p&gt;But construction, the formation of new human capacities, new cultural forms, new modes of perception, still happens at biological speed. A person becomes a particular kind of person through years of encounter, revision, failure. A cultural form stabilizes through generations of practice. There is no computational shortcut because the capacity is constituted by the process, not by its output. You cannot compress becoming.&lt;&#x2F;p&gt;
&lt;p&gt;The problem is the gap between dissolution speed and construction speed.&lt;&#x2F;p&gt;
&lt;p&gt;This reframes a conversation that has been stuck for years. One side says previous transitions worked out, so this one will too. They are wrong for a structural reason: previous transitions worked out because dissolution was slow enough for construction to keep pace. That condition no longer holds. The other side says technology is destroying us. They are also wrong, or at least imprecise. Dissolution can be the beginning of construction; every previous transition dissolved something real and produced something new. The issue is speed: dissolution now moves fast enough to make construction impossible.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;friction-as-governor&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#friction-as-governor&quot; aria-label=&quot;Anchor link for: friction-as-governor&quot;&gt;#&lt;&#x2F;a&gt;Friction as Governor&lt;&#x2F;h2&gt;
&lt;p&gt;Desire depends on resistance. The deeper point is that resistance imposes a pace. The distance between wanting and obtaining is a temporal structure. It gives the person time to become someone who can integrate what they receive. Remove the distance and the person receives before they can absorb.&lt;&#x2F;p&gt;
&lt;p&gt;Friction performs this function at civilizational scale. When the printing press dissolved oral culture, books were expensive. Literacy spread gradually. The oral self did not vanish overnight. It weakened over decades and centuries, and during that time the constructive side, new practices of reading, new institutions, new literary forms, had room to develop. The friction inherent in physical media imposed a speed limit on dissolution, and that speed limit happened to match the speed of human formation.&lt;&#x2F;p&gt;
&lt;p&gt;Friction in taste formation gives a person time to develop the capacity to perceive, beyond a set of preferences. Friction in professional training gives the practitioner time to develop judgment that resists articulation. Friction in deliberation gives the self time to form. Remove it and dissolution outruns construction. The gap opens. Nothing grows where the old capacity was.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;legibility-as-accelerant&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#legibility-as-accelerant&quot; aria-label=&quot;Anchor link for: legibility-as-accelerant&quot;&gt;#&lt;&#x2F;a&gt;Legibility as Accelerant&lt;&#x2F;h2&gt;
&lt;p&gt;The German forest again. Eighteenth-century foresters replaced diverse, messy woodland with uniform Norway spruce plantations. Yields surged. Then the undergrowth died, the soil degraded, and the forest collapsed. What looked like inefficiency was the system’s life support.&lt;&#x2F;p&gt;
&lt;p&gt;Legibility does something specific to the speed problem. It converts illegible processes into optimizable targets. Once a process is visible, it can be measured. Once measured, optimized. Once optimized, the friction in the original process gets removed as inefficiency. Legibility is the mechanism that identifies friction, and optimization is the mechanism that strips it out. Together they accelerate dissolution.&lt;&#x2F;p&gt;
&lt;p&gt;The self depended on opacity. Taste formed in private. You encountered things by accident, sat with discomfort no algorithm could detect, revised your sensibility through a process invisible to any external system. Professional judgment lived in knowledge that could not be articulated. Inner deliberation happened in a space that was, by definition, not observable from outside.&lt;&#x2F;p&gt;
&lt;p&gt;AI reaches into all of this. It makes taste formation legible through behavioral data. It makes deliberation legible through interaction logs. It makes professional intuition legible through performance metrics. Each act of legibility strips away a layer of friction that was functioning, without anyone noticing, as a speed governor on dissolution.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-compounding-problem&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#the-compounding-problem&quot; aria-label=&quot;Anchor link for: the-compounding-problem&quot;&gt;#&lt;&#x2F;a&gt;The Compounding Problem&lt;&#x2F;h2&gt;
&lt;p&gt;This is the part that worries me most. Dissolution outruns construction and degrades the conditions under which construction is possible.&lt;&#x2F;p&gt;
&lt;p&gt;Formation requires complete cycles: effort, feedback, adjustment, repeated across lived time. Acceleration fragments these cycles. What spreads fastest diverges from what works best. Imitation spreads faster than learning. Every act of dissolution removes some of the friction, opacity, and time that construction requires. The more functions the self loses, the less capacity remains to develop new ones. The process compounds. Dissolution accelerates while the ground for construction erodes.&lt;&#x2F;p&gt;
&lt;p&gt;Someone who has never formed taste through friction is not going to develop whatever post-algorithmic perception might look like. Someone who has never exercised inner deliberation will not develop whatever comes after deliberation. The new capacity, if it exists, will not emerge from a vacuum. It will emerge from people who have developed enough of the old capacity to transcend it, the way literate thought emerged from people who had first mastered oral memory. If dissolution destroys the old capacity before the new one can develop from it, the sequence breaks. What looks like another transition is actually an interruption.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;what-would-have-to-be-true&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#what-would-have-to-be-true&quot; aria-label=&quot;Anchor link for: what-would-have-to-be-true&quot;&gt;#&lt;&#x2F;a&gt;What Would Have to Be True&lt;&#x2F;h2&gt;
&lt;p&gt;I do not know what comes after the literate self. Nobody in 1450 could have described what the printing press would produce either. But I can describe the conditions under which construction becomes possible.&lt;&#x2F;p&gt;
&lt;p&gt;It would require friction. Not arbitrary difficulty, but the specific resistance that imposes a pace compatible with human formation. It would require opacity. Domains where the slow work of becoming is not legible to optimization systems, where a person can develop without being measured. And it would require time. Actual time. Complete cycles of effort and revision that are not compressed or interrupted.&lt;&#x2F;p&gt;
&lt;p&gt;The current system removes all three. Optimization treats friction as waste. AI treats opacity as a problem to solve. Markets treat slowness as a competitive disadvantage. The incentives point uniformly toward faster dissolution.&lt;&#x2F;p&gt;
&lt;p&gt;Previous transitions produced their own constructive forms because the speed of dissolution left room for them. Print was slow enough that the novel could emerge. Institutional life was gradual enough that liberal education could develop. The printing press did not spontaneously generate the literate self. People built schools, designed curricula, established practices of reading and argument that took centuries to stabilize. That work was deliberate, institutional, and slow, but it was possible because the dissolution it responded to was also slow.&lt;&#x2F;p&gt;
&lt;p&gt;The question I cannot answer is whether anything can grow at biological speed in an environment that has been optimized for computational speed. Whether construction is possible when the conditions for construction are precisely what the system is most efficient at removing.&lt;&#x2F;p&gt;
&lt;p&gt;There is an irony I should not avoid. I build coordination infrastructure for a living. Ethereum clients, cryptographic proof libraries, distributed systems. Tools that accelerate exactly the process this essay describes. And the essay itself is not construction. It is diagnosis. I am genuinely confused by my own position. I see the dissolution clearly enough to write about it. I also build the tools that produce it. I have not resolved this. I am not sure it can be resolved. Naming the speed mismatch does not slow it down. It may even accelerate it by making the problem legible, which is what I argued legibility does: convert things into objects of optimization. I do not know whether writing about dissolution is a form of friction, something that slows the reader down, forces them to sit with discomfort, or a frictionless take on friction, consumed and forgotten at algorithmic speed. I suspect the answer depends on what you do after reading it.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Legibility Kills What It Measures</title>
        <published>2026-03-03T00:00:00+00:00</published>
        <updated>2026-03-03T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://federicocarrone.com/series/les-circuits-longs/legibility-kills-what-it-measures/"/>
        <id>https://federicocarrone.com/series/les-circuits-longs/legibility-kills-what-it-measures/</id>
        
        <summary type="html">&lt;p&gt;In the 18th century, German foresters invented scientific forestry. They looked at a messy, diverse forest and saw inefficiency. Old trees, young trees, deadwood, underbrush, species with no commercial value. They cleared it all and planted Norway spruce in straight rows, evenly spaced, same age, same species. The forest became legible. You could measure it, manage it, predict its yield with precision.&lt;&#x2F;p&gt;
&lt;p&gt;For one generation, it worked brilliantly. Yields surged. Then the forest began to die. The complex undergrowth had been cycling nutrients, retaining moisture, hosting the insects that pollinated the canopy and the fungi that fed the roots. The foresters had not simplified the forest; they had destroyed the system that kept it alive, preserving only the part they could see.&lt;&#x2F;p&gt;
&lt;p&gt;James Scott tells this story in &lt;em&gt;Seeing Like a State&lt;&#x2F;em&gt; to illustrate a pattern that recurs wherever central authorities impose legibility on complex systems. The pattern is simple: make the illegible legible, optimize what you can now see, and lose what you couldn’t see but depended on.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>Finance Is Geometry, and It All Comes Back to Jensen’s Inequality</title>
        <published>2026-03-01T00:00:00+00:00</published>
        <updated>2026-03-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://federicocarrone.com/series/leptokurtic/at-the-core-of-finance-lies-geometry-in-the-end-its-all-jensens-inequality/"/>
        <id>https://federicocarrone.com/series/leptokurtic/at-the-core-of-finance-lies-geometry-in-the-end-its-all-jensens-inequality/</id>
        
        <summary type="html">&lt;p&gt;Never cross a river that is on average four feet deep. If the river is eight feet deep in the middle and dry on the sides, the average tells you nothing about whether you will drown. You will drown in the middle, or you won’t. There is no averaging across parallel universes where you both survive and die.&lt;&#x2F;p&gt;
&lt;p&gt;The same asymmetry shows up wherever outcomes compound. Lose 50% of your wealth and you need a 100% gain just to break even, because the loss hits a larger base than the recovery builds from. Going from $100 to $200 and from $200 to $400 are different dollar amounts but the same proportional move: one doubling. Wealth is about ratios and scaling, not absolute differences.&lt;&#x2F;p&gt;
&lt;p&gt;This multiplicative structure has consequences that run deeper than intuition suggests. The mathematics that governs survival in compounding environments was invented 400 years ago to help astronomers multiply large numbers, partially rediscovered in the 18th century to solve a paradox about gambling, formalized again through information theory, and then largely obscured by theories that optimized across hypothetical worlds instead of along a single path through time.&lt;&#x2F;p&gt;
&lt;p&gt;That is the geometric claim in this essay: wealth evolves multiplicatively, while most ordinary intuition is additive. The logarithm is the change of coordinates that lets us move between those two descriptions.&lt;&#x2F;p&gt;
&lt;p&gt;This is the story of why geometry sits at the core of finance, why a single inequality ties the whole picture together, and why reducing variance can be more valuable than increasing returns.&lt;&#x2F;p&gt;
&lt;p&gt;None of the parts are mine. Kelly, Peters, Spitznagel, and Taleb each worked one of them out. My only claim is that they are the same picture, and this essay traces how the pieces fit.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>The Tail Hedge Debate: Spitznagel Is Right, AQR Is Answering the Wrong Question</title>
        <published>2026-02-26T00:00:00+00:00</published>
        <updated>2026-06-11T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://federicocarrone.com/series/leptokurtic/the-tail-hedge-debate-spitznagel-is-right/"/>
        <id>https://federicocarrone.com/series/leptokurtic/the-tail-hedge-debate-spitznagel-is-right/</id>
        
        <summary type="html">&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;series&#x2F;leptokurtic&#x2F;detecting-crashes-with-fat-tail-statistics&#x2F;&quot;&gt;Stock markets crash&lt;&#x2F;a&gt;. The S&amp;amp;P 500 price index fell about 57% from October 9, 2007 to March 9, 2009, and about 34% from February 19, 2020 to March 23, 2020. A &lt;strong&gt;put option&lt;&#x2F;strong&gt; is a contract that pays you when the market falls below a certain price (the “strike”). If you hold stocks and also hold puts, the puts can offset some of your losses during a crash. The question is whether the cost of buying puts is worth the protection they provide.&lt;&#x2F;p&gt;
&lt;p&gt;There are two sides. AQR Capital Management published &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.aqr.com&#x2F;-&#x2F;media&#x2F;AQR&#x2F;Documents&#x2F;Insights&#x2F;White-Papers&#x2F;AQR-Chasing-Your-Own-Tail-Risk.pdf&quot;&gt;“Chasing Your Own Tail (Risk)”&lt;&#x2F;a&gt; (&lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.aqr.com&#x2F;-&#x2F;media&#x2F;AQR&#x2F;Documents&#x2F;Insights&#x2F;White-Papers&#x2F;AQR-Chasing-Your-Own-Tail-Risk.pdf&quot;&gt;Berger, Nielsen, and Villalon, 2011&lt;&#x2F;a&gt;). They argue that buying puts systematically costs more than it saves. On the other side, Mark Spitznagel at Universa Investments, where Nassim Taleb is scientific advisor, argues that a small put allocation improves long-term returns (&lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.wiley.com&#x2F;en-us&#x2F;Safe+Haven%3A+Investing+for+Financial+Storms-p-9781119401797&quot;&gt;Spitznagel, 2021&lt;&#x2F;a&gt;). Universa reported a 3,612% gain in March 2020 (via an investor letter, as reported by Bloomberg).&lt;&#x2F;p&gt;
&lt;p&gt;We tested both claims with &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;lambdaclass&#x2F;options_portfolio_backtester&quot;&gt;our open-source options backtester&lt;&#x2F;a&gt; on 17 years of real SPY options data (2008 to 2025), covering three crashes: the 2008 financial crisis, COVID, and the 2022 bear market.&lt;&#x2F;p&gt;
&lt;p&gt;The version of the trade that survives the data is narrow but real: &lt;strong&gt;cheap convexity, sized small, and selected by strike rather than delta&lt;&#x2F;strong&gt;. AQR’s published critique tests neither half of that. They use near-ATM puts (the most expensive form of crash protection per dollar of notional) inside the allocation-reducing framing (selling SPY to fund the puts, surrendering the equity premium that funds everything else). In that configuration deep OTM puts still lose against SPY. Spitznagel’s externally funded overlay flips both choices: deep OTM puts, kept cheap, layered on top of full SPY exposure, sized small. Inside that configuration the strategy shows a positive historical raw gap versus plain SPY across the 2008-2024 window, small at Universa’s described 0.5%&#x2F;yr scale (~+1.4pp&#x2F;yr), substantial at the engine’s risk-adjusted sweet spot (+6pp&#x2F;yr at 3.3%&#x2F;yr budget with bi-monthly roll). The edge is regime-conditional: it pays in 5-year windows that contain a major drawdown and drags by 2-3pp&#x2F;yr in windows that don’t.&lt;&#x2F;p&gt;
&lt;p&gt;All headline numbers below are gross of transaction costs, slippage, and taxes. Execution drag at the deep-OTM strikes, Israelov’s strongest surviving objection, is on top of these gross numbers; we return to it in the limitations section.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;what-the-thesis-actually-claims&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#what-the-thesis-actually-claims&quot; aria-label=&quot;Anchor link for: what-the-thesis-actually-claims&quot;&gt;#&lt;&#x2F;a&gt;What the thesis actually claims&lt;&#x2F;h3&gt;
&lt;p&gt;Spitznagel does not claim that buying OTM puts wins every year, every quarter, or every drawdown. People who read him that way, including (implicitly) AQR’s published critique, are arguing with a strawman. His real claim is about the long run. Put a small slice of capital into deep OTM puts on top of your equity book, hold them through crashes, monetize the convex payoff when it arrives, and over a long enough horizon you compound faster than equity alone. The mechanism is that the rare big payoffs are large enough, and recur often enough, to more than cover the steady premium drag between them. Year-by-year alpha is the wrong test. Long-run compounding is the right one.&lt;&#x2F;p&gt;
&lt;p&gt;On that test, the data says he is right. Across our 17-year SPY sample, every put-overlay budget from 0.5%&#x2F;yr to 10%&#x2F;yr beats plain SPY on both annual return and max drawdown. The strike depth Spitznagel describes (deep OTM, not near-ATM) is what makes the trade work. The framing he describes (externally funded, not allocation-reducing) is the half AQR misses. Across every working configuration tested below, the strategy improves max drawdown by 10 to 22 percentage points versus SPY.&lt;&#x2F;p&gt;
&lt;p&gt;Three properties of the data are worth naming up front, so the shape of the result is not mistaken for a flaw. First, the full-period gap is concentrated in two years out of seventeen (2008 and 2020). That is exactly what a tail hedge is built to do: sit dormant for years and deliver convexly when a catastrophe arrives. Second, 7 of 13 rolling 5-year windows are negative. That is what positive expected value looks like when the payoffs are this lumpy. Third, walk-forward validation shows that about half of the in-sample gap survives out-of-sample. That is the haircut to apply when sizing this for a real portfolio, not a refutation of the result.&lt;&#x2F;p&gt;
&lt;p&gt;The wrong reading of all this is that the strategy works only by luck in crash years. The right reading is that the strategy is built to pay in years like those, and over enough time, with realistic crash frequency, the rare large payoffs more than cover the steady small bleeds. That is Spitznagel’s thesis. The data supports it.&lt;&#x2F;p&gt;
&lt;p&gt;Every number below reproduces in one command against the open-source engine. The Code section at the end has the exact invocation.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>Detecting Crashes with Fat-Tail Statistics</title>
        <published>2026-02-19T00:00:00+00:00</published>
        <updated>2026-02-19T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://federicocarrone.com/series/leptokurtic/detecting-crashes-with-fat-tail-statistics/"/>
        <id>https://federicocarrone.com/series/leptokurtic/detecting-crashes-with-fat-tail-statistics/</id>
        
        <summary type="html">&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;series&#x2F;leptokurtic&#x2F;twenty-centuries-of-financial-data&#x2F;&quot;&gt;Financial markets don’t follow normal distributions&lt;&#x2F;a&gt;. That is a claim about frequency, not just theory: it tells you how often catastrophic events happen. Under a naive Gaussian model, a crisis on the scale of 2008 lands so deep in the tails that standard risk models treat it as effectively impossible. It happened on a Tuesday.&lt;&#x2F;p&gt;
&lt;p&gt;The problem is that we keep using tools designed for thin-tailed worlds. &lt;strong&gt;Value at Risk&lt;&#x2F;strong&gt; (&lt;strong&gt;VaR&lt;&#x2F;strong&gt;) models that assume normality. Risk metrics that treat the 2008 crash as an “outlier” rather than a regular feature of financial returns.&lt;&#x2F;p&gt;
&lt;p&gt;I built &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;unbalancedparentheses&#x2F;fatcrash&quot;&gt;fatcrash&lt;&#x2F;a&gt;, a Rust+Python toolkit with 15 classical methods, to test whether fat-tail statistical methods can detect crashes before they happen. The performance-critical math (fitting, simulation, all rolling estimators) runs in Rust via PyO3; everything else (data, viz, CLI) is Python.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>Twenty Centuries of Financial Data: What 240 Countries and 2,000 Years Reveal</title>
        <published>2026-02-12T00:00:00+00:00</published>
        <updated>2026-02-12T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://federicocarrone.com/series/leptokurtic/twenty-centuries-of-financial-data/"/>
        <id>https://federicocarrone.com/series/leptokurtic/twenty-centuries-of-financial-data/</id>
        
        <summary type="html">&lt;p&gt;In 1252, Florence minted the gold florin. Within decades it became the dominant trade currency of medieval Europe. Merchants in Bruges, Venice, and Constantinople quoted prices against it. By the 1400s, the florin’s dominance had faded, replaced by the Venetian ducat. Then the Spanish real. Then the Dutch guilder. Then sterling. Then the dollar. Each transition involved devaluations, defaults, and crises that ruined anyone holding the wrong currency at the wrong time.&lt;&#x2F;p&gt;
&lt;p&gt;We have data on all of this. Not estimates. Actual recorded exchange rates, starting from 1106. And not just exchange rates: gold and silver prices from 1257, interest rates from 1311, commodity prices from 1260, GDP per capita from the year 1 CE, sovereign debt ratios from 1800, and crisis indices covering two centuries of banking panics, currency collapses, and sovereign defaults.&lt;&#x2F;p&gt;
&lt;p&gt;I assembled &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;unbalancedparentheses&#x2F;forex-centuries&quot;&gt;forex-centuries&lt;&#x2F;a&gt;, the most comprehensive open-source collection of long-run financial and economic data available. 27 sources, 1,100+ files, ~240 countries, spanning twenty centuries. Exchange rates, precious metals, interest rates, commodity prices, inflation, GDP, real wages, sovereign debt, regime classifications, and real effective exchange rates, all in one repository with an automated build pipeline, weekly CI updates, and reproducible analysis. No other free repository combines this breadth of asset classes across this depth of history. The only comparable product is &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;globalfinancialdata.com&#x2F;&quot;&gt;Global Financial Data&lt;&#x2F;a&gt; (commercial, institutional pricing). The goal: provide the raw material for studying how currencies and financial systems behave over centuries, not decades.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>Friction as Luxury: What We Lose When AI Gives Us What We Want</title>
        <published>2026-02-05T00:00:00+00:00</published>
        <updated>2026-02-05T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://federicocarrone.com/series/les-circuits-longs/friction-as-luxury/"/>
        <id>https://federicocarrone.com/series/les-circuits-longs/friction-as-luxury/</id>
        
        <content type="html" xml:base="https://federicocarrone.com/series/les-circuits-longs/friction-as-luxury/">&lt;h2 id=&quot;the-last-scarcity&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#the-last-scarcity&quot; aria-label=&quot;Anchor link for: the-last-scarcity&quot;&gt;#&lt;&#x2F;a&gt;The Last Scarcity&lt;&#x2F;h2&gt;
&lt;p&gt;Most discussions of AGI focus on distribution: who gets access, who profits, who loses their job, who controls the infrastructure. Those are real problems, but they’re not the deepest one.&lt;&#x2F;p&gt;
&lt;p&gt;The deeper problem is what happens to desire. I do not mean ambition in the generic sense. I mean the capacity to want something at a distance, to stay oriented toward something you do not yet have, and to find meaning in the space between reaching and arriving. That capacity is more fragile than we usually admit, and it depends more on friction than most people notice.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;i&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#i&quot; aria-label=&quot;Anchor link for: i&quot;&gt;#&lt;&#x2F;a&gt;I.&lt;&#x2F;h2&gt;
&lt;p&gt;Economists have a clean model of desire. People have preferences, goods satisfy preferences, welfare rises as more preferences are satisfied. In that framework, a technology that can satisfy almost any preference at negligible cost looks like an obvious good. The only remaining question is who gets access.&lt;&#x2F;p&gt;
&lt;p&gt;That model leaves out something important. Desire has a shape, and that shape depends on certain conditions holding.&lt;&#x2F;p&gt;
&lt;p&gt;When you want something over time, you imagine having it. You plan for it, you make sacrifices toward it. The object accumulates meaning from this process. It gets layered with your effort, your anticipation, your history of reaching. When you finally arrive, you don’t just get the object. You get the object plus everything you invested in wanting it. Those two things can’t be separated.&lt;&#x2F;p&gt;
&lt;p&gt;That is why anticipation is often richer than arrival, why the best albums sometimes need months rather than minutes, and why relationships built through difficulty have a texture that convenient ones often do not. Resistance helps produce the value.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;ii&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#ii&quot; aria-label=&quot;Anchor link for: ii&quot;&gt;#&lt;&#x2F;a&gt;II.&lt;&#x2F;h2&gt;
&lt;p&gt;When this structure breaks down, the clinical term is anhedonia. But there is a milder and more socially acceptable version of the same pattern. People in this condition can be entertained constantly but rarely feel deeply absorbed. They consume without much appetite. They move from one stimulating thing to the next not because anything is satisfying, but because sitting with incompleteness starts to feel unbearable.&lt;&#x2F;p&gt;
&lt;p&gt;You can already see the shape of it in declining attention spans, in the difficulty of sustaining interest in anything that doesn’t deliver immediate feedback, in people who feel simultaneously overstimulated and bored. They haven’t been deprived, they’ve been saturated.&lt;&#x2F;p&gt;
&lt;p&gt;This doesn’t distribute evenly in society. In environments where discomfort is quickly solved, by money, by services, by endless entertainment, the mind gets less practice holding lack. You can grow up surrounded by abundance and still become poor in one specific way: poor in patience for distance.&lt;&#x2F;p&gt;
&lt;p&gt;Structurally, it starts to resemble addiction: craving breaks away from fulfillment. Neuroscience draws the same line. Kent Berridge’s work separates wanting from liking, and it is the dopaminergic wanting, not the pleasure, that addictive drugs and variable-reward machines exploit. Slot machines and infinite feeds are built around exactly this, unpredictable payoffs on a schedule that trains the nervous system to treat discomfort as a cue for relief and relief as a cue for repetition. A frictionless AI environment could reproduce some of that pattern without chemicals. Boredom, loneliness, uncertainty, and effort all become prompts for instant stimulation. Over time the threshold rises, what once felt absorbing becomes merely adequate, and the rest of life starts to feel slow and underpowered by comparison.&lt;&#x2F;p&gt;
&lt;p&gt;Consumer capitalism produced a weakened version of this. Desire progressively hollowed out by eliminating friction, but with enough friction remaining that the structure didn’t fully collapse. The streaming service still requires you to choose. The algorithm still occasionally surprises you. The simulation of connection is imperfect enough that you sometimes notice it’s a simulation.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;iii&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#iii&quot; aria-label=&quot;Anchor link for: iii&quot;&gt;#&lt;&#x2F;a&gt;III.&lt;&#x2F;h2&gt;
&lt;p&gt;Imagine a system that can generate, on demand, a novel calibrated to your tastes: the style you find most pleasurable, the level of complexity you find most engaging, the length that matches your current patience. Or music that sounds like what you loved most at nineteen, except new, immediate, and endless. Or a conversation partner who is always interested in what interests you, always available, never distracted, never carrying needs of their own into the exchange.&lt;&#x2F;p&gt;
&lt;p&gt;The output might be genuinely good. The novel could be technically accomplished. The music could actually move you. The conversation could be substantive. The problem is what happens to wanting once the gap collapses to zero.&lt;&#x2F;p&gt;
&lt;p&gt;The capacity to stay oriented toward a distant goal, &lt;a href=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;series&#x2F;les-circuits-longs&#x2F;notes-on-culture-infrastructure-time-and-ergodicity&#x2F;&quot;&gt;to defer, to invest, to tolerate incompleteness&lt;&#x2F;a&gt;, atrophies when it is never exercised. Not through a dramatic break, but through disuse. The ability to want things that require time does not vanish all at once. It gets weaker, and the weakening may not even feel like a loss because something pleasant keeps arriving on schedule.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;iv&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#iv&quot; aria-label=&quot;Anchor link for: iv&quot;&gt;#&lt;&#x2F;a&gt;IV.&lt;&#x2F;h2&gt;
&lt;p&gt;None of this is new. Epictetus drilled his students to want only what was already in their control and to rehearse discomfort on purpose, and Seneca set aside days to live as if poor so that hardship could never be used against him. Fasting in Ramadan, the privations of Lent, and the Rule of Benedict all build scheduled scarcity into a life on the same theory: that meaning runs through resistance rather than around it.&lt;&#x2F;p&gt;
&lt;p&gt;What’s new is the scale. Previous technologies eliminated specific friction but left other friction intact. Every digital environment until now required you to bring something it couldn’t supply: attention, skill, patience.&lt;&#x2F;p&gt;
&lt;p&gt;A genuinely general AI dissolves this last requirement. It can supply the taste, the context, the judgment. You no longer need to bring anything except the desire to receive. And if that desire is itself shaped by the AI, tuned to whatever maintains engagement, then even the wanting has been outsourced.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;v&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#v&quot; aria-label=&quot;Anchor link for: v&quot;&gt;#&lt;&#x2F;a&gt;V.&lt;&#x2F;h2&gt;
&lt;p&gt;Here is the inversion. Where material abundance is the rule, the things that keep their value are often the ones that resist its logic. Their value is tied to the conditions that make them difficult, not to artificial scarcity.&lt;&#x2F;p&gt;
&lt;p&gt;A handmade object carries the trace of the hands that made it. A wine vintage can’t be accelerated. The waiting isn’t incidental to what the wine is. A community built around a shared difficult practice, painting, rock climbing, chess, building and fielding armies of miniatures, generates bonds that digitally mediated interaction doesn’t replicate, because those bonds are forged in shared difficulty.&lt;&#x2F;p&gt;
&lt;p&gt;These things become valuable not despite being harder than consuming AI output, but partly because of that hardness. When satisfaction is frictionless, friction itself becomes the luxury.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;vi&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#vi&quot; aria-label=&quot;Anchor link for: vi&quot;&gt;#&lt;&#x2F;a&gt;VI.&lt;&#x2F;h2&gt;
&lt;p&gt;The safety, alignment, and job-displacement debates are all real. But they share a common assumption: that the humans on the other side will still be capable of deciding what to do with what they’ve been given, and that political agency and collective imagination will survive intact.&lt;&#x2F;p&gt;
&lt;p&gt;That assumption is doing a lot of work.&lt;&#x2F;p&gt;
&lt;p&gt;The atrophying of desire is already visible in what weaker technologies have done to culture. What AGI does to human psychology comes before what it does to human politics. A population that has lost the capacity to want things at a distance, to stay oriented toward a difficult future, and to find meaning in effort and incompleteness has lost something essential to self-government.&lt;&#x2F;p&gt;
&lt;p&gt;The scarcity that matters most in a post AGI world won’t be compute or energy. It will be the capacity to want something deeply enough, and for long enough, that the wanting shapes who you are.&lt;&#x2F;p&gt;
&lt;p&gt;If desire is the last scarcity, then slowness, difficulty, and incompleteness are not obstacles to overcome. They are the conditions of a life worth living.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>China is trying to commoditize the complement</title>
        <published>2026-01-22T00:00:00+00:00</published>
        <updated>2026-01-22T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://federicocarrone.com/articles/china-commoditizing-the-complement/"/>
        <id>https://federicocarrone.com/articles/china-commoditizing-the-complement/</id>
        
        <content type="html" xml:base="https://federicocarrone.com/articles/china-commoditizing-the-complement/">&lt;p&gt;China is trying to win by commoditizing the complement. The strategy is working, though not without friction. This is a structural challenge the West should take seriously instead of dismissing.&lt;&#x2F;p&gt;
&lt;p&gt;For the last two decades, the West exported cognition because it owned the platforms, the cloud, the software distribution, and the talent concentration. If the cognitive engine becomes cheap, portable, and good enough, that asymmetry weakens. A small country can buy or download the same cognitive machinery, then apply it to its own bureaucracy, its own companies, its own language, its own domain problems.&lt;&#x2F;p&gt;
&lt;p&gt;The West has dominated the thinking and services world. Software, finance, media, research, management layers, and the export of expertise. The US is the clearest example. In 2024, US services exports were about 1.1 trillion dollars, the highest on record. The US and the West sell thinking at scale. AI threatens to flatten that advantage because AI turns thinking into infrastructure.&lt;&#x2F;p&gt;
&lt;p&gt;China dominates the atoms world. Industrial capacity, manufacturing throughput, physical supply chains, cost curves. In 2023 China produced about 28 percent of global manufacturing value added.&lt;&#x2F;p&gt;
&lt;p&gt;If you can make the layer next to you cheap and abundant, you drain its pricing power and force value to move somewhere else. In AI, the complement is model access. For a lot of Western companies, the business is still basically gated intelligence sold as an API. China has every incentive to make that layer feel like electricity: available everywhere, cheap, hard to monopolize.&lt;&#x2F;p&gt;
&lt;p&gt;Open weight releases are part of that play: DeepSeek, Qwen, Kimi, and MiniMax are only a few of the Chinese open-source models. Once strong models are common, model access stops being a moat. It becomes a commodity input.&lt;&#x2F;p&gt;
&lt;p&gt;A huge fraction of what we call services is legible work: reading, writing, coding, summarizing, translating, drafting, answering, generating variations, searching a space of options. That layer is now replicable and it is getting local. Apple is publishing technical reports about on-device foundation models, including aggressive quantization aimed at making serious inference run on consumer hardware. When strong models run on a laptop, countries stop importing thinking as a service. They import weights, or they distill, fine-tune, and deploy inside their own borders.&lt;&#x2F;p&gt;
&lt;p&gt;The commodity play is working, but it is not frictionless. China faces real constraints, and they shape how far the strategy can go.&lt;&#x2F;p&gt;
&lt;p&gt;Capital controls limit how freely Chinese companies can operate globally. The state can redirect investment at a scale nobody else can match, but centralized allocation tends to overshoot. Solar panel overcapacity, steel oversupply, and the EV price war all follow the same pattern: massive subsidized buildout that ends up compressing margins for everyone, including the Chinese firms themselves.&lt;&#x2F;p&gt;
&lt;p&gt;Top talent still flows toward open research environments. By MacroPolo’s Global AI Talent Tracker, China is the single largest source of the world’s top-tier AI researchers, yet a large share of them end up doing that work in the United States. Tightening political control over universities and private firms can speed up execution on defined goals, but it makes the open-ended, high-risk research that produces real breakthroughs harder to sustain.&lt;&#x2F;p&gt;
&lt;p&gt;Predictability matters for long-term innovation, and the last few years dented it. The abrupt suspension of Ant Group’s record $34 billion IPO in November 2020, the 2021 crackdowns that erased the for-profit tutoring sector overnight and froze new game approvals for months, and Didi’s forced retreat from US markets after its 2021 listing all sent the same signal: any company can become a target without warning. Foreign firms recalibrated their exposure and some domestic founders turned cautious. Centralized coordination buys speed, but it also shrinks the appetite for bets that do not match current state priorities.&lt;&#x2F;p&gt;
&lt;p&gt;The West still has one advantage that is hard to replicate: it is where most of the world’s ambitious talent wants to live, work, and build. It is a compound effect of open institutions, freedom of movement, and decades of accumulated trust. As long as that holds, the West keeps attracting the talent and the capital that turn ideas into new industries.&lt;&#x2F;p&gt;
&lt;p&gt;None of these constraints cancel out the commodity play. They set its ceiling. China can drive the price of model access toward zero faster than anyone, but the open-ended research and the institutional trust that turn a cheap commodity into new industries are much harder to subsidize into existence.&lt;&#x2F;p&gt;
&lt;p&gt;China stays strong in atoms because it already has the scale advantage. The West still leads in areas that require deep institutions and long accumulated competence, frontier research and high trust services in particular. But AI compresses the services premium by making a large portion of cognition cheap and replicable. That is why open models matter. They attack the margin structure of the thinking economy.&lt;&#x2F;p&gt;
&lt;p&gt;If you sell intelligence, this is bad news. If you own distribution, hardware, data, or a workflow people cannot easily leave, you survive. If you own atoms and you get thinking for free, you get a scary combination, because the services premium that sustained Western economic leadership for decades can be undercut by a player with industrial dominance and access to the same cognitive tools.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Fede&#x27;s Guide to Type Systems: From Generics to Dependent Types</title>
        <published>2026-01-01T00:00:00+00:00</published>
        <updated>2026-01-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://federicocarrone.com/articles/type-systems/"/>
        <id>https://federicocarrone.com/articles/type-systems/</id>
        
        <summary type="html">&lt;p&gt;Every type error you’ve ever cursed at was a bug caught before production. Type systems reject nonsense at compile time so you don’t discover it at 3 AM. But they vary wildly in what they can express and what guarantees they provide.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>Why Concrete Exists</title>
        <published>2025-12-26T00:00:00+00:00</published>
        <updated>2025-12-26T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://federicocarrone.com/series/concrete/the-concrete-programming-language-systems-programming-for-formal-reasoning/"/>
        <id>https://federicocarrone.com/series/concrete/the-concrete-programming-language-systems-programming-for-formal-reasoning/</id>
        
        <summary type="html">&lt;blockquote&gt;
&lt;p&gt;This is the foundation piece for the Concrete series.
If you want the most practical demonstration first, start with &lt;a href=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;series&#x2F;concrete&#x2F;when-the-compiler-is-the-oracle&#x2F;&quot;&gt;When the Compiler Is the Oracle&lt;&#x2F;a&gt;. If you want the living language reference, use &lt;a href=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;series&#x2F;concrete&#x2F;spec&#x2F;&quot;&gt;Concrete Spec&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;Systems programming has a recurring problem. We want to write code close to the machine, but we also want to make strong claims about what that code does. Does it allocate? Does it touch the network? Does it leak resources? Can it be audited without tracing twenty helper functions and three layers of library convention?&lt;&#x2F;p&gt;
&lt;p&gt;Most languages answer those questions indirectly. You read the implementation. You profile. You infer from style. You trust &lt;code&gt;unsafe&lt;&#x2F;code&gt; blocks, docs, and review discipline. Even in strong languages, much of what matters about a program lives outside the type system.&lt;&#x2F;p&gt;
&lt;p&gt;Concrete exists because I think that is the wrong place to stop.&lt;&#x2F;p&gt;
&lt;p&gt;Concrete is a systems language built around a single organizing principle: &lt;strong&gt;every important property the compiler can know about a program should be explicit enough for humans and machines to act on directly&lt;&#x2F;strong&gt;.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>The Death of the Inner Self</title>
        <published>2025-12-23T00:00:00+00:00</published>
        <updated>2025-12-23T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://federicocarrone.com/series/les-circuits-longs/the-death-of-the-inner-self/"/>
        <id>https://federicocarrone.com/series/les-circuits-longs/the-death-of-the-inner-self/</id>
        
        <content type="html" xml:base="https://federicocarrone.com/series/les-circuits-longs/the-death-of-the-inner-self/">&lt;p&gt;The core argument is simple: many features of human life that appear stable and natural are historically produced. As society accelerates, a number of these features begin to lose their function and their permanence. I believe consciousness as we know it is one of them.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;individuality-as-technology&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#individuality-as-technology&quot; aria-label=&quot;Anchor link for: individuality-as-technology&quot;&gt;#&lt;&#x2F;a&gt;Individuality as technology&lt;&#x2F;h2&gt;
&lt;p&gt;Life is organized around information that replicates under constraint. Computation generalizes this biological logic. It allows selection and optimization to occur faster and at larger scales by externalizing memory, comparison, and feedback. Problems that once required internal deliberation can be solved through external processes that test, filter, and iterate possibilities.&lt;&#x2F;p&gt;
&lt;p&gt;Capital pushes this logic further. It reorganizes social life around continuous feedback, price signals, and competitive selection. As these forces compound, individuality starts to look less like a foundation and more like an interface that emerged to solve earlier coordination problems.&lt;&#x2F;p&gt;
&lt;p&gt;Capital behaves as an impersonal intelligence oriented toward speed, abstraction, and self-optimization. As cognition, decision-making, and coordination migrate into automated systems, the inner self loses its structural role. Over time, many assumptions we take for granted are worn down by this acceleration. Individuality and consciousness appear increasingly exposed to this process.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-construction-we-cannot-see&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#the-construction-we-cannot-see&quot; aria-label=&quot;Anchor link for: the-construction-we-cannot-see&quot;&gt;#&lt;&#x2F;a&gt;The construction we cannot see&lt;&#x2F;h2&gt;
&lt;p&gt;Fish do not realize they live in water. The medium that sustains them is so constant that it disappears from perception. Some of the most important structures are overlooked for the same reason. Individuality and consciousness belong to that category.&lt;&#x2F;p&gt;
&lt;p&gt;We tend to treat individuality and consciousness as self-evident facts, as if humans have always experienced themselves as bounded selves with an inner voice, a private mental space, and a continuous narrative identity. Because this experience feels natural, it is assumed to be timeless. Serious thinkers have argued it is not. Julian Jaynes pointed out that the heroes of the Iliad show almost no inner mental space, hearing the voices of gods where we would hear our own deliberation. Charles Taylor traced how the modern “buffered self,” sealed inside its own mind, was assembled over centuries out of religious and philosophical practice, displacing an older “porous self” open to forces from outside. For most of human history people did not describe themselves as individuals in the modern sense. Decisions were not understood as outcomes of inner deliberation, and agency was not located inside a private interior self. Action was organized through rituals, traditions, kinship, and prescribed roles. Meaning arrived from outside the person rather than from introspection. In many societies outside the Western trajectory, this structure remains largely intact.&lt;&#x2F;p&gt;
&lt;p&gt;The idea of a you inside your head observing your own thoughts is therefore a learned construction. It depends on language, habits, metaphors, and social practices that had to be developed and stabilized over time. Lev Vygotsky argued that inner speech is not innate but internalized social speech: children first talk to others, then to themselves aloud, then silently, until the dialogue goes underground and starts to feel like the private voice of a self. Narrative memory, moral self-examination, and the sense of authorship over action emerged the same way, as cultural achievements layered on top of older biological processes.&lt;&#x2F;p&gt;
&lt;p&gt;Modern societies actively reproduce this configuration. From early childhood, people are trained to understand themselves as autonomous units with opinions, preferences, goals, and an inner life that belongs only to them. The training is so pervasive that it becomes invisible. Other ways of being human recede from view, even though many have existed and some still persist.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-weakening-of-the-conditions&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#the-weakening-of-the-conditions&quot; aria-label=&quot;Anchor link for: the-weakening-of-the-conditions&quot;&gt;#&lt;&#x2F;a&gt;The weakening of the conditions&lt;&#x2F;h2&gt;
&lt;p&gt;The conditions that once made individuality functional are weakening. Earlier systems relied on human subjects to think, decide, judge, and take responsibility. Cognition and coordination were constrained by human minds. Individuality emerged as a solution: a stable self enabled long-term planning, moral accounting, and institutional continuity.&lt;&#x2F;p&gt;
&lt;p&gt;Earlier societies coordinated without modern consciousness. Contemporary systems increasingly coordinate without modern selves. Decision-making proceeds without inner deliberation. Meaning is delivered through incentives, metrics, and feedback loops.&lt;&#x2F;p&gt;
&lt;p&gt;At the cultural level, individuality remains constantly invoked. People are urged to be themselves, express themselves, optimize themselves. Yet the channels for expression arrive pre-shaped, quantified, and monetized. What appears as selfhood increasingly takes the form of managed performance within narrow bounds.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;replacement-by-degrees&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#replacement-by-degrees&quot; aria-label=&quot;Anchor link for: replacement-by-degrees&quot;&gt;#&lt;&#x2F;a&gt;Replacement by degrees&lt;&#x2F;h2&gt;
&lt;p&gt;The modern self does not collapse in a single moment. It is replaced function by function, each substitution small enough to go unnoticed.&lt;&#x2F;p&gt;
&lt;p&gt;Taste was once formed through a slow, private process: encountering things by accident, sitting with discomfort, learning to love what initially resisted you. Algorithmic recommendation compresses this into a profile that updates in real time. The system knows what you will like before you do. The inner process of forming a preference, the hesitation, the revision, the gradual shaping of sensibility, loses its purpose when an external system performs it faster and with better accuracy. What remains looks like taste but functions as consumption.&lt;&#x2F;p&gt;
&lt;p&gt;Judgment follows a similar path. In organizations that once depended on accumulated experience, performance metrics now determine what counts as competent work. The slow formation of professional intuition, the kind that takes years to develop and resists easy articulation, gets flattened against quarterly targets. This is Goodhart’s law turned structural: once a measure becomes the target it stops measuring what it was meant to, and here the target gradually replaces the faculty it was only ever a proxy for. When the metric becomes the institution’s memory of what the work is for, the judgment it was meant to approximate quietly disappears. People still show up. They optimize what is measured. The rest erodes.&lt;&#x2F;p&gt;
&lt;p&gt;Inner deliberation faces the same pressure from a different direction. When an AI assistant can draft your emails, plan your week, summarize your reading, and suggest your next decision, the internal process of thinking through a problem starts to feel unnecessary, not wrong exactly, just slow. The assistant never tells you to stop thinking; it just makes thinking feel like friction in a system that rewards speed. Over time, the habit of sustained internal reflection weakens for the same reason any unused capacity weakens: through disuse.&lt;&#x2F;p&gt;
&lt;p&gt;Each of these substitutions is individually reasonable. Each solves a real problem. Taken together, they describe a pattern where the functions that once required a self are gradually absorbed by systems that do not.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;what-is-at-stake&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#what-is-at-stake&quot; aria-label=&quot;Anchor link for: what-is-at-stake&quot;&gt;#&lt;&#x2F;a&gt;What is at stake&lt;&#x2F;h2&gt;
&lt;p&gt;The modern self once felt inevitable because it solved concrete problems. It enabled abstraction, continuity, and responsibility at scale. Its future usefulness is far less certain.&lt;&#x2F;p&gt;
&lt;p&gt;The self depends on performing certain functions, and when those functions migrate outward, the self weakens not through suppression but through redundancy.&lt;&#x2F;p&gt;
&lt;p&gt;Individuality was real. It produced philosophy, law, science, art, and institutions that reshaped the world. The question is whether it will remain functional as the systems around it absorb more of what it used to do. A coordination technology that no longer coordinates does not persist on sentimentality alone.&lt;&#x2F;p&gt;
&lt;p&gt;The self will not simply switch off. But the conditions that produced it are changing, and what comes next may look different enough that the word “individuality” stops pointing at anything we would recognize. Whether that transition is a loss, a transformation, or simply the next phase of the same process that produced the self in the first place is not something that can be settled in advance. But it should be named clearly, because what cannot be seen clearly cannot be preserved deliberately.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Notes on permanence, time, and ergodicity</title>
        <published>2025-12-15T00:00:00+00:00</published>
        <updated>2025-12-15T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://federicocarrone.com/series/les-circuits-longs/notes-on-culture-infrastructure-time-and-ergodicity/"/>
        <id>https://federicocarrone.com/series/les-circuits-longs/notes-on-culture-infrastructure-time-and-ergodicity/</id>
        
        <content type="html" xml:base="https://federicocarrone.com/series/les-circuits-longs/notes-on-culture-infrastructure-time-and-ergodicity/">&lt;p&gt;Some systems improve the longer you stay with them. Repetition sharpens execution, experience carries forward, and judgment builds on itself.&lt;&#x2F;p&gt;
&lt;p&gt;At Hermès, a leather worker trains for two years before touching a bag. One artisan makes one bag start to finish, every stitch by hand, fifteen to twenty-four hours of work per piece. This is &lt;a href=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;series&#x2F;les-circuits-longs&#x2F;friction-as-luxury&#x2F;&quot;&gt;the opposite of speed at all costs&lt;&#x2F;a&gt;. It is also one of the most successful luxury companies in the world. The constraint is part of what the customer is paying for.&lt;&#x2F;p&gt;
&lt;p&gt;The broader culture moves in the other direction. Cycles shorten. Signals multiply. Decision horizons shrink. A lot of institutions keep moving while quietly losing the judgment they once had. They stay busy, but they stop getting better. Copying outruns learning.&lt;&#x2F;p&gt;
&lt;p&gt;In that environment, endurance tells you something. If a system keeps working under stress for a long time, its structure probably matches reality better than its competitors’. The internet did not flatten everything. It made it easier to see who had substance and who was living off distribution.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;two-forms-of-time&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#two-forms-of-time&quot; aria-label=&quot;Anchor link for: two-forms-of-time&quot;&gt;#&lt;&#x2F;a&gt;Two forms of time&lt;&#x2F;h2&gt;
&lt;p&gt;Time operates in human systems in two fundamentally different ways.&lt;&#x2F;p&gt;
&lt;p&gt;Measured time is divisible and uniform: schedules, deadlines, accounting periods, discount rates. It can be allocated, optimized, and exchanged. Most planning systems live here. They assume value can be judged apart from history.&lt;&#x2F;p&gt;
&lt;p&gt;Lived time works differently. It accumulates. Learning, memory, and judgment develop through it, and each cycle changes the next one. Anything that depends on formation happens here. Snapshots miss the point because the value is in what compounds.&lt;&#x2F;p&gt;
&lt;p&gt;In 2001, Boeing moved its headquarters from Seattle to Chicago. The stated reason was to position the company closer to “Wall Street and governments.” Engineers who understood the planes were physically separated from executives who understood the spreadsheets. Over the next two decades, Boeing spent more than $40 billion on stock buybacks while cutting capital expenditure to half of Airbus’s rate. Harry Stonecipher, who took over as CEO, said he wanted Boeing “run like a business rather than a great engineering firm.” The 737 MAX, designed to avoid the cost of pilot retraining, killed 346 people. This is what happens when lived time is forced into measured time.&lt;&#x2F;p&gt;
&lt;p&gt;Berkshire Hathaway made the opposite bet. Buffett has refused quarterly earnings guidance since 1996. Shareholders are told to judge the business over decades, not quarters. The result is six decades of compounding judgment, the longest sustained record in American corporate history. Same markets, different use of time.&lt;&#x2F;p&gt;
&lt;p&gt;When lived time gets forced into measured time, formation breaks down. Standards do not settle. Judgment does not compound. You only find out what a system really is if you leave it alone long enough to show you.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;formation-under-constraint&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#formation-under-constraint&quot; aria-label=&quot;Anchor link for: formation-under-constraint&quot;&gt;#&lt;&#x2F;a&gt;Formation under constraint&lt;&#x2F;h2&gt;
&lt;p&gt;Excellence comes from sustained practice under the right constraints. Errors have to be survivable. People need room to adjust without every bad iteration becoming fatal. Judgment improves when experience carries over from one attempt to the next.&lt;&#x2F;p&gt;
&lt;p&gt;At Pixar, every film is terrible for years before it is good. Ed Catmull describes the process as taking movies “from suck to not-suck.” The mechanism is the Braintrust: a group of fellow directors and storytellers who meet every few months to review each film in production. The key detail is that the Braintrust has no authority. The director is not required to take a single suggestion. That keeps candor high without turning feedback into bureaucracy.&lt;&#x2F;p&gt;
&lt;p&gt;Most studios kill projects after one bad screening. Pixar treats bad screenings as information, not verdicts. The difference is structure, not talent. Formation takes time, and the Braintrust protects that time by separating honest feedback from the power to cancel.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;four-domains&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#four-domains&quot; aria-label=&quot;Anchor link for: four-domains&quot;&gt;#&lt;&#x2F;a&gt;Four domains&lt;&#x2F;h2&gt;
&lt;p&gt;We built &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;ergodicgroup.com&#x2F;&quot;&gt;Ergodic Group&lt;&#x2F;a&gt; around the idea that enduring organizations work across four domains: mathematics, code, culture, and craft. Most live mostly in one. The edge comes from connecting them.&lt;&#x2F;p&gt;
&lt;p&gt;Mathematics sets the structure and the constraints. Code turns that structure into action and tests it against reality. Culture lets intent survive changes in personnel. Craft brings the whole thing back to materials, tolerances, and physical consequences.&lt;&#x2F;p&gt;
&lt;p&gt;SpaceX shows how these domains work on each other. The math: a technique called lossless convexification lets an onboard computer solve fuel-optimal landing trajectories in real time, computing the exact moment to fire the engines so velocity hits zero at touchdown. The code: autonomous guidance software recomputes trajectories during descent, adjusting for wind and sensor readings, which makes landings on ocean platforms possible. The culture: failures are instrumented, not hidden. Between 2013 and 2016, SpaceX crashed booster after booster, and each crash produced telemetry that led to a specific fix. Hydraulic fluid ran out, so they added more. A throttle valve stuck, so they redesigned it. The craft: when carbon fiber layup produced wrinkles at roughly $200 per kilogram, SpaceX switched Starship to stainless steel at roughly $3 per kilogram. Steel gets stronger at cryogenic temperatures, handles far more heat, and opened reentry profiles that carbon fiber could not. A materials decision changed the vehicle, the software, and the math.&lt;&#x2F;p&gt;
&lt;p&gt;Learning compounds when these domains stay connected.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;ergodicity-as-a-filter&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#ergodicity-as-a-filter&quot; aria-label=&quot;Anchor link for: ergodicity-as-a-filter&quot;&gt;#&lt;&#x2F;a&gt;Ergodicity as a filter&lt;&#x2F;h2&gt;
&lt;p&gt;Ergodicity describes a situation where repetition improves the usual outcome because learning carries over from one round to the next.&lt;&#x2F;p&gt;
&lt;p&gt;Claude Shannon spent fifteen years at Bell Labs before publishing “A Mathematical Theory of Communication” in 1948. He was not being graded on quarterly output. Bell Labs gave researchers something modern organizations rarely give anyone: enough uninterrupted time to get to the bottom of a problem. That setup produced the transistor, information theory, Unix, the laser, and cellular telephony. The transistor came not from a brainstorm but from people with different specialties working near each other for years.&lt;&#x2F;p&gt;
&lt;p&gt;When AT&amp;amp;T was broken up in 1984, that model disappeared with it. No later technology company has reproduced the same output. The institution itself held the judgment, and that judgment did not survive disassembly.&lt;&#x2F;p&gt;
&lt;p&gt;As acceleration intensifies, most sectors get noisier and more fragile. Coordination gets harder. Institutional memory thins out. Advantages that looked durable turn out to depend on a few people, a few habits, or a distribution edge that disappears. Infrastructure and culture last longer because they are environments people operate inside, not products to be sold. When learning carries forward, time starts working in your favor.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;operation&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#operation&quot; aria-label=&quot;Anchor link for: operation&quot;&gt;#&lt;&#x2F;a&gt;Operation&lt;&#x2F;h2&gt;
&lt;p&gt;In 1984, GM and Toyota opened a joint factory in Fremont, California called NUMMI. Toyota sent over four hundred trainers from Japan for months of side-by-side work with American employees. Absenteeism dropped from twenty percent to two percent. Defect rates fell to the lowest in the United States.&lt;&#x2F;p&gt;
&lt;p&gt;GM tried to export the lessons. A vice president told employees to “take a picture of every square inch” of NUMMI and replicate it at other plants. It failed everywhere. The visible process looked the same. The results did not. The missing piece was judgment, and &lt;a href=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;series&#x2F;les-circuits-longs&#x2F;legibility-kills-what-it-measures&#x2F;&quot;&gt;judgment does not travel well as a memo&lt;&#x2F;a&gt;. Toyota had not built a checklist. It had built a way of working.&lt;&#x2F;p&gt;
&lt;p&gt;The NUMMI lesson reaches past any specific practice. The value was never in the visible process; it lay in the judgment that accumulates when people have time to learn, when the links between domains stay intact, and when repetition actually improves the work.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>The new financial backend of the world</title>
        <published>2025-12-09T00:00:00+00:00</published>
        <updated>2025-12-09T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://federicocarrone.com/series/ethereum/the-new-financial-backend-of-the-world/"/>
        <id>https://federicocarrone.com/series/ethereum/the-new-financial-backend-of-the-world/</id>
        
        <content type="html" xml:base="https://federicocarrone.com/series/ethereum/the-new-financial-backend-of-the-world/">&lt;p&gt;&lt;strong&gt;By Federico Carrone and Roberto Catalan&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;The &lt;a href=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;series&#x2F;ethereum&#x2F;the-missing-institution-of-the-internet&#x2F;&quot;&gt;previous article&lt;&#x2F;a&gt; argued that the internet left a gap in institutional infrastructure: it moved information but not ownership. Ethereum fills that gap by embedding ownership, transfer, and enforcement into shared software. Financial institutions today spend enormous resources on authorization, accounting, reconciliation, and compliance. Ethereum substitutes a portion of that apparatus with a programmable execution environment and cryptographic enforcement. This article looks at the specific economic mechanisms through which that substitution works.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;three-frictions&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#three-frictions&quot; aria-label=&quot;Anchor link for: three-frictions&quot;&gt;#&lt;&#x2F;a&gt;Three frictions&lt;&#x2F;h2&gt;
&lt;p&gt;Some economists describe transaction costs through three frictions: triangulation, transfer and trust. Triangulation concerns how economic actors identify each other and agree on terms. Transfer concerns how value moves between them. Trust concerns the enforcement of obligations. Traditional financial architecture manages these frictions through scale, proprietary systems, and coordination among intermediaries.&lt;&#x2F;p&gt;
&lt;p&gt;Ethereum lowers all three, and the numbers are now hard to wave away. Take transfer: stablecoins, dollar tokens that live on the chain, settled about $27.6 trillion in 2024, more than Visa and Mastercard combined, with roughly 95 percent of that volume on Ethereum and its rollups. Most of that figure is exchange and bot flow rather than honest payments, so discount it heavily, but the payments slice is real and growing, and a dollar can move between two strangers in different countries in seconds for cents, with no chain of correspondent banks in between. Take trust: a loan on Aave never asks who you are. The collateral rules sit in a contract that liquidates the position automatically when it crosses a threshold, and anyone can read that contract before they sign.&lt;&#x2F;p&gt;
&lt;p&gt;None of this removes institutions; it changes which parts of the stack they have to build. A startup offering dollar accounts in Lagos or Buenos Aires no longer builds settlement, custody, and clearing. It inherits them the way a web startup inherits TCP&#x2F;IP, and spends its effort on product and distribution. That lets firms serve markets incumbents wave off as too small or too complex.&lt;&#x2F;p&gt;
&lt;p&gt;Having a single global ledger also changes operational dynamics. Many institutions operate multiple databases that require frequent reconciliation and remain vulnerable to error. Ethereum maintains a continuously updated and replicated record that cannot be amended retroactively. Redundancy and recoverability become default properties rather than costly internal functions.&lt;&#x2F;p&gt;
&lt;p&gt;Security follows the same pattern. Instead of defending a central database, Ethereum distributes verification among many independent actors. Altering history requires coordination at scale and becomes prohibitively expensive. Confidence arises from system design rather than institutional promises.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;new-financial-services-and-global-reach&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#new-financial-services-and-global-reach&quot; aria-label=&quot;Anchor link for: new-financial-services-and-global-reach&quot;&gt;#&lt;&#x2F;a&gt;New financial services and global reach&lt;&#x2F;h2&gt;
&lt;p&gt;You can see this in what people actually do with it. In Argentina, where the peso lost more than half its value against the dollar in 2023, ordinary savers hold USDT the way they once held paper dollars in a drawer, except this version moves. Remittances that cost the global average of around 6 percent through a money-transfer operator move as stablecoins for a fraction of that. And the instruments are climbing the respectability ladder: tokenized US Treasury funds grew from about $140 million in early 2024 to roughly $8 billion by late 2025, led by BlackRock’s BUIDL at around $2.8 billion, with Franklin Templeton running a government money-market fund whose shareholder records live on seven different chains.&lt;&#x2F;p&gt;
&lt;p&gt;The pattern underneath is always the same. Work that used to live inside an organization, reconciling ledgers, proving balances, enforcing the terms of a deal, moves into shared software that every participant can read. The firm is left with the parts that actually differentiate it, product and distribution, and it grows by winning users rather than by rebuilding plumbing its competitors already have.&lt;&#x2F;p&gt;
&lt;p&gt;The impact is most visible in markets with fragile financial systems. In economies with unstable currencies or slow payment networks, Ethereum provides immediate functional gains. In developed markets the benefits appear incremental but accumulate as more instruments and processes become programmable.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;institutional-transformation-and-long-term-dynamics&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#institutional-transformation-and-long-term-dynamics&quot; aria-label=&quot;Anchor link for: institutional-transformation-and-long-term-dynamics&quot;&gt;#&lt;&#x2F;a&gt;Institutional transformation and long term dynamics&lt;&#x2F;h2&gt;
&lt;p&gt;Many financial instruments are heterogeneous. Corporate debt is a clear example. Terms differ by maturity, coupon, covenants, collateral, and risk. Trading depends on bilateral negotiation and intermediaries who maintain records and enforce obligations. Ethereum can represent these instruments digitally, track ownership, and execute terms automatically. Contracts retain their specificity, while administration becomes standardized and interoperable.&lt;&#x2F;p&gt;
&lt;p&gt;The boundary between what firms must build and what software can enforce is moving. Regulation and legal systems remain central, but the institutions sitting on top of them look different when settlement, custody, and enforcement are handled by shared infrastructure instead of proprietary systems.&lt;&#x2F;p&gt;
&lt;p&gt;Ethereum already functions as an alternative financial rail. Multiple independently developed clients, substantial real world usage, an active research community, and a commitment to openness and verification set it apart from other blockchain networks.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;conclusion&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#conclusion&quot; aria-label=&quot;Anchor link for: conclusion&quot;&gt;#&lt;&#x2F;a&gt;Conclusion&lt;&#x2F;h2&gt;
&lt;p&gt;Ethereum converts core financial frictions into software functions, and that changes the economics of building and operating financial services. Institutions become lighter, focused on product and distribution rather than internal infrastructure.&lt;&#x2F;p&gt;
&lt;p&gt;Technological transitions begin in niches where incumbents do not meet demand. As systems mature, costs fall and broader adoption becomes feasible. Ethereum followed this path. It began with internet native communities, expanded across emerging markets where users lacked reliable financial tools, and is now positioned to upgrade mainstream markets by making financial companies easier to create and operate.&lt;&#x2F;p&gt;
&lt;p&gt;Software is becoming the organizing principle of financial infrastructure. Ethereum makes that concrete. Regulation and institutional adaptation will shape how far it goes, but the economic incentives already point toward systems that are open, verifiable, and resilient.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;further-reading&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#further-reading&quot; aria-label=&quot;Anchor link for: further-reading&quot;&gt;#&lt;&#x2F;a&gt;Further reading&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;DefiLlama. &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;defillama.com&#x2F;stablecoins&quot;&gt;Stablecoin market cap and supply&lt;&#x2F;a&gt;.&lt;&#x2F;li&gt;
&lt;li&gt;The Defiant (2025). &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;thedefiant.io&#x2F;news&#x2F;blockchains&#x2F;stablecoins-process-27-6-trillion-2024-surpassing-visa-95-settled-on-ethereum-4b7c2671&quot;&gt;Stablecoins Process $27.6 Trillion in 2024, Surpassing Visa, With 95% Settled on Ethereum&lt;&#x2F;a&gt;.&lt;&#x2F;li&gt;
&lt;li&gt;Yellow.com (2025). &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;yellow.com&#x2F;en-US&#x2F;research&#x2F;tokenized-us-treasuries-hit-dollar73b-in-2025-complete-guide-to-digital-treasury-bonds&quot;&gt;Tokenized U.S. Treasuries Hit $7.3B in 2025&lt;&#x2F;a&gt;.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>The missing institution of the Internet</title>
        <published>2025-12-02T00:00:00+00:00</published>
        <updated>2025-12-02T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://federicocarrone.com/series/ethereum/the-missing-institution-of-the-internet/"/>
        <id>https://federicocarrone.com/series/ethereum/the-missing-institution-of-the-internet/</id>
        
        <content type="html" xml:base="https://federicocarrone.com/series/ethereum/the-missing-institution-of-the-internet/">&lt;p&gt;&lt;strong&gt;By Federico Carrone and Roberto Catalan&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;The internet made copying and sending information almost free. It did not answer the harder question: who owns something online, who can transfer it, and who enforces the answer when two people disagree?&lt;&#x2F;p&gt;
&lt;p&gt;For a long time the practical answer was simple: the platform decides. Facebook decides what happens to your page. Apple decides what ships in its store. Stripe, Visa, a bank, or a court decides whether a payment or claim settles. That worked well enough to build the web we have, but it left the economic layer of the internet sitting on private terms of service and local legal systems.&lt;&#x2F;p&gt;
&lt;p&gt;Ethereum is interesting because it tries to put some of that missing institutional layer directly into software: records, rules, transfers, collateral, and enforcement backed by economic incentives and cryptographic verification.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;technology-culture-and-institutional-design&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#technology-culture-and-institutional-design&quot; aria-label=&quot;Anchor link for: technology-culture-and-institutional-design&quot;&gt;#&lt;&#x2F;a&gt;Technology, Culture and Institutional Design&lt;&#x2F;h2&gt;
&lt;p&gt;Some inventions help a person do more. Fire, agriculture, medicine, computing. Others help strangers do things together. Property rights, contracts, markets, companies, courts. Both matter. A new tool creates capacity; an institution decides who can use that capacity, who gets paid, and what happens when someone cheats.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;property-rights-and-markets-as-social-technologies&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#property-rights-and-markets-as-social-technologies&quot; aria-label=&quot;Anchor link for: property-rights-and-markets-as-social-technologies&quot;&gt;#&lt;&#x2F;a&gt;Property Rights and Markets as Social Technologies&lt;&#x2F;h2&gt;
&lt;p&gt;People invest when they believe they can keep what they build. Property rights give that assurance by saying who owns what, who can use it, and who can be excluded. Markets sit on top of those rights. Prices only work because there is some legal and social machinery underneath them.&lt;&#x2F;p&gt;
&lt;p&gt;None of this is natural. It was built through law, politics, habit, and a lot of compromise. The global economy of the twentieth century ran on that machinery: neutral jurisdictions, corporate shells, bank rails, accounting rules, courts, and contracts that let people who did not know each other trade anyway.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-missing-architecture-of-digital-ownership&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#the-missing-architecture-of-digital-ownership&quot; aria-label=&quot;Anchor link for: the-missing-architecture-of-digital-ownership&quot;&gt;#&lt;&#x2F;a&gt;The Missing Architecture of Digital Ownership&lt;&#x2F;h2&gt;
&lt;p&gt;The internet lowered the cost of communication across borders, but it never created a neutral way to define and enforce claims on digital assets. Offline, ownership goes through courts and states. Online, if there is no shared settlement layer, ownership falls back to whoever runs the server or whichever jurisdiction can reach the dispute.&lt;&#x2F;p&gt;
&lt;p&gt;Platforms filled the hole. They gave us identity, search, feeds, stores, payments, messaging, distribution. In exchange, they kept the switch. You can build inside their walls, accumulate users, even become valuable, but your rights are only as strong as the platform’s current policy and willingness to keep you around.&lt;&#x2F;p&gt;
&lt;p&gt;Zynga is the clean example. It built a huge games business on Facebook and briefly became worth more than Electronic Arts. Then Facebook changed policies and economics, and the ground moved. Zynga owned its games, but not the environment those games depended on. That is the normal platform bargain: you can own the shop and still rent the street.&lt;&#x2F;p&gt;
&lt;p&gt;Platform economies give you participation without full control.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;ethereum-as-an-institutional-experiment&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#ethereum-as-an-institutional-experiment&quot; aria-label=&quot;Anchor link for: ethereum-as-an-institutional-experiment&quot;&gt;#&lt;&#x2F;a&gt;Ethereum as an Institutional Experiment&lt;&#x2F;h2&gt;
&lt;p&gt;Ethereum is one answer to that missing layer. It gives people a way to create, transfer, and enforce digital assets without asking a company or a state to be the final record keeper. The rules live in code. The record is shared. The network checks itself.&lt;&#x2F;p&gt;
&lt;p&gt;In ordinary software, the operator is sovereign. If a company runs the database, the company can change the database. Ethereum makes that harder by spreading execution across many machines that run the same code and agree on the result. Misbehavior is punished economically. Trust is still there, but some of it moves from a private operator to a public protocol.&lt;&#x2F;p&gt;
&lt;p&gt;Some institutional work then becomes protocol work. Auditors check records; Ethereum makes the record public and replayable. Escrow agents hold assets; smart contracts can hold and release collateral according to rules. Courts enforce agreements after the fact; a contract on-chain can make some violations impossible in the first place. Law still matters. The claim is only that some of the work law and intermediaries used to do can move into shared infrastructure.&lt;&#x2F;p&gt;
&lt;p&gt;Ignore the ideology for a moment and look at the structure: no single operator can quietly rewrite the ledger or block a transaction for everyone.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-emergence-of-a-digital-financial-system&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#the-emergence-of-a-digital-financial-system&quot; aria-label=&quot;Anchor link for: the-emergence-of-a-digital-financial-system&quot;&gt;#&lt;&#x2F;a&gt;The Emergence of a Digital Financial System&lt;&#x2F;h2&gt;
&lt;p&gt;Ethereum started with people building for themselves: wallets, tokens, exchanges, experiments, strange coordination games. Then the financial use case stopped being theoretical.&lt;&#x2F;p&gt;
&lt;p&gt;The most consequential development has been the &lt;a href=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;series&#x2F;ethereum&#x2F;the-new-financial-backend-of-the-world&#x2F;&quot;&gt;rise of stablecoins&lt;&#x2F;a&gt;, dollar tokens backed by reserves of cash and short-term Treasuries. Their combined market value passed $300 billion in 2025, dominated by Tether’s USDT (about $176 billion) and Circle’s USDC (about $74 billion), most of it issued on Ethereum. The flows are no longer a rounding error: stablecoins settled around $27.6 trillion in 2024, edging past Visa and Mastercard combined, roughly 95 percent of it on Ethereum, though much of that volume is exchange and bot activity rather than genuine payments.&lt;&#x2F;p&gt;
&lt;p&gt;Stablecoins are boring in the way important infrastructure is boring: dollars that move globally, settle continuously, and plug into software. Once those dollars exist on-chain, lending markets, collateral systems, automated exchanges, and payment flows can be built around them.&lt;&#x2F;p&gt;
&lt;p&gt;The difference from traditional finance is practical. The system is global by default. Services share standards. Exit is fast. Risk is visible on-chain, even if users still misunderstand it.&lt;&#x2F;p&gt;
&lt;p&gt;Compare that to &lt;a href=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;articles&#x2F;crypto-doctrine&#x2F;&quot;&gt;countries like Argentina&lt;&#x2F;a&gt;, where interoperability between banks and fintech wallets, something as trivial as scanning a QR code, can become a regulatory fight. Incumbents use their position to avoid connecting. On Ethereum, interoperability is the default because the assets and contracts share the same base layer. From a phone, a user can receive dollars, swap them, lend them, borrow against collateral, or move them elsewhere. That is why adoption is strongest where ordinary intermediation is expensive, slow, or hard to trust.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;implications&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#implications&quot; aria-label=&quot;Anchor link for: implications&quot;&gt;#&lt;&#x2F;a&gt;Implications&lt;&#x2F;h2&gt;
&lt;p&gt;Remittances, trade finance, private credit, tokenized Treasuries, collateral markets: all of these are being pulled toward blockchain rails for the same reason. They are record-heavy, settlement-heavy, and full of intermediaries whose job is mostly to verify and move claims.&lt;&#x2F;p&gt;
&lt;p&gt;Plenty can still go wrong. Regulatory uncertainty, operational risk and rough user experience all constrain adoption. Scaling throughput without giving up decentralization remains an open engineering problem. Software vulnerabilities and governance failures have already cost real money. In 2016 a bug in The DAO drained about $60 million of ether and split the community into Ethereum and Ethereum Classic over whether to claw it back. Cross-chain bridges have fared worse: the Ronin bridge lost about $625 million to North Korea’s Lazarus group in March 2022. More is coming.&lt;&#x2F;p&gt;
&lt;p&gt;The serious claim is narrower than the hype. Some financial intermediation can probably run cheaper and more transparently on shared rails. Whether it becomes mainstream depends on regulation, incumbents, user experience, and whether the engineering keeps improving.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;artificial-intelligence-and-coordination&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#artificial-intelligence-and-coordination&quot; aria-label=&quot;Anchor link for: artificial-intelligence-and-coordination&quot;&gt;#&lt;&#x2F;a&gt;Artificial Intelligence and Coordination&lt;&#x2F;h2&gt;
&lt;p&gt;AI makes production cheaper. It does not decide who owns the output, who can use it, who gets paid, or who is liable when something goes wrong.&lt;&#x2F;p&gt;
&lt;p&gt;That is why AI and Ethereum feel complementary rather than competitive. AI expands what people and agents can produce. Ethereum gives some of that activity a place to settle: accounts, payments, collateral, permissions, and contracts that do not depend on one platform operator. If agents are going to trade, hire, escrow, license, and pay each other, they will need rails where the rules are legible and settlement is not owned by a single company.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;conclusion&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#conclusion&quot; aria-label=&quot;Anchor link for: conclusion&quot;&gt;#&lt;&#x2F;a&gt;Conclusion&lt;&#x2F;h2&gt;
&lt;p&gt;The internet lowered the cost of transmitting information but left digital ownership in the hands of whoever runs the platform. Ethereum tries to move part of that ownership and enforcement layer into public infrastructure.&lt;&#x2F;p&gt;
&lt;p&gt;It may become core infrastructure. It may remain a specialized tool. Regulators, incumbents, and engineering limits will decide a lot of that. But it has already shown something important: digital property does not have to mean “an entry in someone else’s database.”&lt;&#x2F;p&gt;
&lt;p&gt;The internet built an economy before it built its own institutions. Ethereum is one attempt to build them after the fact.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;further-reading&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#further-reading&quot; aria-label=&quot;Anchor link for: further-reading&quot;&gt;#&lt;&#x2F;a&gt;Further reading&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;DefiLlama. &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;defillama.com&#x2F;stablecoins&quot;&gt;Stablecoin market cap and supply&lt;&#x2F;a&gt;.&lt;&#x2F;li&gt;
&lt;li&gt;The Defiant (2025). &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;thedefiant.io&#x2F;news&#x2F;blockchains&#x2F;stablecoins-process-27-6-trillion-2024-surpassing-visa-95-settled-on-ethereum-4b7c2671&quot;&gt;Stablecoins Process $27.6 Trillion in 2024, Surpassing Visa, With 95% Settled on Ethereum&lt;&#x2F;a&gt;.&lt;&#x2F;li&gt;
&lt;li&gt;CoinDesk (2022). &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.coindesk.com&#x2F;tech&#x2F;2022&#x2F;03&#x2F;29&#x2F;axie-infinitys-ronin-network-suffers-625m-exploit&quot;&gt;Axie Infinity’s Ronin Network Suffers $625M Exploit&lt;&#x2F;a&gt;.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Next 10 Years of Ethereum</title>
        <published>2025-11-15T00:00:00+00:00</published>
        <updated>2025-11-15T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://federicocarrone.com/talks/next-10-years-of-ethereum/"/>
        <id>https://federicocarrone.com/talks/next-10-years-of-ethereum/</id>
        
        <content type="html" xml:base="https://federicocarrone.com/talks/next-10-years-of-ethereum/"></content>
        
    </entry>
    <entry xml:lang="en">
        <title>Thank You to the Argentine Senate</title>
        <published>2025-11-12T00:00:00+00:00</published>
        <updated>2025-11-12T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://federicocarrone.com/articles/senate-scientific-merit/"/>
        <id>https://federicocarrone.com/articles/senate-scientific-merit/</id>
        
        <summary type="html">&lt;p&gt;On 12 November 2025 I received a Mención de Honor al Valor Científico from the Comisión de Ciencia y Tecnología of the Argentine Senate. Thank you.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>Ethereum&#x27;s Native Rollup Roadmap with Justin Drake</title>
        <published>2025-10-01T00:00:00+00:00</published>
        <updated>2025-10-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://federicocarrone.com/talks/podcast-with-justin-drake/"/>
        <id>https://federicocarrone.com/talks/podcast-with-justin-drake/</id>
        
        <content type="html" xml:base="https://federicocarrone.com/talks/podcast-with-justin-drake/"></content>
        
    </entry>
    <entry xml:lang="en">
        <title>Crypto doctrine</title>
        <published>2025-09-25T00:00:00+00:00</published>
        <updated>2025-09-25T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://federicocarrone.com/articles/crypto-doctrine/"/>
        <id>https://federicocarrone.com/articles/crypto-doctrine/</id>
        
        <content type="html" xml:base="https://federicocarrone.com/articles/crypto-doctrine/">&lt;h1 id=&quot;crypto-and-the-accelerated-and-chaotic-21st-century&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#crypto-and-the-accelerated-and-chaotic-21st-century&quot; aria-label=&quot;Anchor link for: crypto-and-the-accelerated-and-chaotic-21st-century&quot;&gt;#&lt;&#x2F;a&gt;Crypto and the accelerated and chaotic 21st Century&lt;&#x2F;h1&gt;
&lt;p&gt;Crypto has been most useful where trust is weakest. In practice, it has found product-market fit in two places:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;In countries where inflation, capital controls, or censorship are ordinary constraints, crypto gives people and companies tools they actually need.&lt;&#x2F;li&gt;
&lt;li&gt;In internet-native communities, crypto provides a financial layer that lets people coordinate, speculate, and build markets at a scale the web did not support before.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;People that don’t live in a developing country or that didn’t grow up with the internet have enormous difficulties understanding crypto because they don’t have skin in its game. They believe crypto doesn’t have any “real” use case or that is not serious enough. They are right. The thing is that we are living in a world that’s becoming more absurd.&lt;&#x2F;p&gt;
&lt;p&gt;Memes do not only make you laugh anymore, memes are now winning elections.&lt;&#x2F;p&gt;
&lt;p&gt;These use cases will grow with time and probably new ones will be found. The world is becoming more chaotic and more divided each day. Crypto benefits from that kind of environment because it reduces the number of places where trust has to be taken on faith.&lt;&#x2F;p&gt;
&lt;p&gt;One of crypto’s prime advantages is that it &lt;a href=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;series&#x2F;ethereum&#x2F;the-missing-institution-of-the-internet&#x2F;&quot;&gt;kills many of the middlemen and allows us to coordinate&lt;&#x2F;a&gt; even in the harshest environments. Trust assumptions fall because more of the system is enforced by incentives, compilers, distributed systems, and cryptography. That does not remove politics or disagreement; it just narrows the set of things people need to argue about.&lt;&#x2F;p&gt;
&lt;p&gt;Most of us are internet natives. We grew up on IRC, 4chan, Reddit, Hacker News, Twitter, Bitcoin, and Ethereum, and we also have roots in unstable countries. We are the Fremen of crypto, raised in a harsh environment. We know what chaotic societies feel like from the inside, and we know what it takes to build inside them. At the same time, we are builders who like working at the frontier of engineering and scientific change.&lt;&#x2F;p&gt;
&lt;p&gt;Open source and decentralization are not just philosophical preferences for crypto. They are practical conditions for the ecosystem to work. Building in the open, helping other people onboard, and creating systems larger than the original project are part of how crypto survives long term. This can look irrational if you assume the only goal is short-term extraction. It is more legible if you assume the goal is to help a new financial and coordination layer persist.&lt;&#x2F;p&gt;
&lt;p&gt;Our main objective is to help these new internet highways get built in sustainable ways. Economic sustainability matters, but so do resilience, openness, and the ability to resist the usual drift toward centralization. Centralization is almost always easier in the short run. If pure money were the only objective, there would be simpler ways to make it. We treat money as a tool, not the final point.&lt;&#x2F;p&gt;
&lt;p&gt;Whether crypto is useful is already settled. It is, in places most critics never look. The open question is whether the systems being built today will be resilient enough to matter when the next round of chaos arrives.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Markets as Reflexive Fixed Points</title>
        <published>2025-06-14T00:00:00+00:00</published>
        <updated>2025-06-14T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://federicocarrone.com/series/fixed-point-ladder/markets-as-reflexive-fixed-points/"/>
        <id>https://federicocarrone.com/series/fixed-point-ladder/markets-as-reflexive-fixed-points/</id>
        
        <content type="html" xml:base="https://federicocarrone.com/series/fixed-point-ladder/markets-as-reflexive-fixed-points/">&lt;p&gt;Markets are the cleanest laboratory for reflexive dynamics.&lt;&#x2F;p&gt;
&lt;p&gt;Prices are not determined by beliefs alone. Cash flows, constraints, inventories, regulation, leverage, and flows all matter. But beliefs about prices become trades, trades become prices, and prices update beliefs.&lt;&#x2F;p&gt;
&lt;p&gt;That loop is the object.&lt;&#x2F;p&gt;
&lt;p&gt;Biology reaches critical-like organization through selection, feedback, and development over evolutionary time. Markets can generate critical-like statistics much faster, because the feedback loop is explicit. Participants model the market while participating in the market. Their models are not external descriptions. They are part of the thing being described.&lt;&#x2F;p&gt;
&lt;p&gt;The careful claim is not that every market is literally sitting at a physical critical point. The claim is narrower and stronger: reflexivity, leverage, liquidity, imitation, and coarse-graining can make markets behave like systems near criticality. They produce fat tails, volatility clustering, correlated cascades, hysteresis, and path dependence.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-minimum-vocabulary&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#the-minimum-vocabulary&quot; aria-label=&quot;Anchor link for: the-minimum-vocabulary&quot;&gt;#&lt;&#x2F;a&gt;The Minimum Vocabulary&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;strong&gt;Reflexivity&lt;&#x2F;strong&gt; means the description of the system affects the system being described. In markets, a belief about prices can become an order, and the order can move prices.&lt;&#x2F;p&gt;
&lt;p&gt;An &lt;strong&gt;order book&lt;&#x2F;strong&gt; is the current set of resting bids and offers. It is a local picture of liquidity: how much can be bought or sold before the price has to move.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Liquidity&lt;&#x2F;strong&gt; means the ability to trade without moving the price too much. Low liquidity makes feedback stronger because a given flow moves the state more.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Leverage&lt;&#x2F;strong&gt; means controlling a position larger than one’s own capital. It amplifies gains, losses, forced selling, and contagion.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Margin&lt;&#x2F;strong&gt; is collateral required to keep a leveraged position open. If losses reduce equity below the required level, positions must be reduced or liquidated.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Volatility clustering&lt;&#x2F;strong&gt; means large moves tend to be followed by large moves, and quiet periods tend to be followed by quiet periods. This is one reason market risk is not well described by independent Gaussian shocks.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Coarse-graining&lt;&#x2F;strong&gt; means replacing fine detail with larger-scale summaries. In markets, that can mean aggregating trades over longer time windows.&lt;&#x2F;p&gt;
&lt;p&gt;A &lt;strong&gt;tail exponent&lt;&#x2F;strong&gt; describes how quickly rare large events disappear. For a survival tail:&lt;&#x2F;p&gt;
&lt;p&gt;$$P(|R|&amp;gt;x)\sim Cx^{-\alpha},$$&lt;&#x2F;p&gt;
&lt;p&gt;smaller $\alpha$ means a heavier tail.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Hysteresis&lt;&#x2F;strong&gt; means the path matters. A system can move from one regime to another and fail to return along the same route when the original parameter is reversed.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-state-space-of-a-market&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#the-state-space-of-a-market&quot; aria-label=&quot;Anchor link for: the-state-space-of-a-market&quot;&gt;#&lt;&#x2F;a&gt;The State Space Of A Market&lt;&#x2F;h2&gt;
&lt;p&gt;A market is not just a price series. Price is the visible coordinate, but it is not the whole state.&lt;&#x2F;p&gt;
&lt;p&gt;A minimal state vector might include:&lt;&#x2F;p&gt;
&lt;p&gt;$$x_t=(p_t,b_t,L_t,Q_t,\sigma_t,C_t),$$&lt;&#x2F;p&gt;
&lt;p&gt;where:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;$p_t$ is price,&lt;&#x2F;li&gt;
&lt;li&gt;$b_t$ is the distribution of beliefs or forecasts,&lt;&#x2F;li&gt;
&lt;li&gt;$L_t$ is leverage,&lt;&#x2F;li&gt;
&lt;li&gt;$Q_t$ is liquidity depth,&lt;&#x2F;li&gt;
&lt;li&gt;$\sigma_t$ is perceived volatility,&lt;&#x2F;li&gt;
&lt;li&gt;$C_t$ is cross-asset correlation.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;This is still a caricature. Real markets include inventories, funding constraints, market makers, options dealers, passive flows, regulation, news, taxes, settlement, and institutional mandates. But even this reduced state is enough to show why markets are nonlinear.&lt;&#x2F;p&gt;
&lt;p&gt;The variables do not move independently. If price falls, volatility estimates rise. If volatility rises, risk limits tighten. If risk limits tighten, positions are cut. If positions are cut into low liquidity, price falls again. That is a feedback loop, not a sequence of independent shocks.&lt;&#x2F;p&gt;
&lt;p&gt;So the market update has the same form as every dynamical system in the series:&lt;&#x2F;p&gt;
&lt;p&gt;$$x_{t+1}=F(x_t,\eta_t),$$&lt;&#x2F;p&gt;
&lt;p&gt;but now part of $x_t$ is made of beliefs about $F$ itself. That is the extra reflexive ingredient.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;what-is-a-belief-variable&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#what-is-a-belief-variable&quot; aria-label=&quot;Anchor link for: what-is-a-belief-variable&quot;&gt;#&lt;&#x2F;a&gt;What Is A Belief Variable?&lt;&#x2F;h2&gt;
&lt;p&gt;“Belief” sounds psychological, but the market version can be made concrete.&lt;&#x2F;p&gt;
&lt;p&gt;A belief is any rule that maps information into desired position:&lt;&#x2F;p&gt;
&lt;p&gt;$$\text{information}\longrightarrow\text{forecast}\longrightarrow\text{order}.$$&lt;&#x2F;p&gt;
&lt;p&gt;A discretionary investor may express this as a story: “earnings will accelerate, so the stock is cheap.” A trend follower may express it as a rule: “if twelve-month momentum is positive, buy.” A market maker may express it as an inventory-adjusted quote. A risk model may express it as a volatility target. A passive index fund may express almost no forecast, but it still follows a rule that converts flows into trades.&lt;&#x2F;p&gt;
&lt;p&gt;At the population level, beliefs are not one number. They are a distribution of strategies:&lt;&#x2F;p&gt;
&lt;p&gt;$$b_t=\text{distribution of forecasts, constraints, and trading rules at time }t.$$&lt;&#x2F;p&gt;
&lt;p&gt;That distribution is part of the market state because it determines future flow. If enough capital uses the same model, the model becomes a force. If the model stops working, capital leaves it, and the distribution changes.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;reflexivity-as-a-fixed-point-problem&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#reflexivity-as-a-fixed-point-problem&quot; aria-label=&quot;Anchor link for: reflexivity-as-a-fixed-point-problem&quot;&gt;#&lt;&#x2F;a&gt;Reflexivity As A Fixed-Point Problem&lt;&#x2F;h2&gt;
&lt;p&gt;Participants model the market. Their models generate trades. The aggregate of trades sets prices. Realized prices update the models.&lt;&#x2F;p&gt;
&lt;p&gt;At the level of the strategy ecosystem:&lt;&#x2F;p&gt;
&lt;p&gt;$$\text{distribution of models}=F(\text{distribution of models}).$$&lt;&#x2F;p&gt;
&lt;p&gt;This is Keynes’ beauty contest in fixed-point language. The market is not only asking what an asset is worth. It is asking what others believe others will believe it is worth.&lt;&#x2F;p&gt;
&lt;p&gt;Soros called this reflexivity. In the language of this series, reflexivity is representational closure made institutional. A market is a system where descriptions of the system feed back into the system’s state.&lt;&#x2F;p&gt;
&lt;p&gt;This does not mean markets are irrational noise. It means the object being priced is partly shaped by the act of pricing. That is why the fixed point can be unstable, non-unique, or unreachable by simple dynamics.&lt;&#x2F;p&gt;
&lt;p&gt;The mechanism is concrete:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;participants model the market,&lt;&#x2F;li&gt;
&lt;li&gt;models generate trades,&lt;&#x2F;li&gt;
&lt;li&gt;trades move prices,&lt;&#x2F;li&gt;
&lt;li&gt;prices update the models,&lt;&#x2F;li&gt;
&lt;li&gt;profitable models attract capital,&lt;&#x2F;li&gt;
&lt;li&gt;capital changes the market that made the models profitable.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;At that point the meta-level is financialized. There is not only a market in assets; there is a market in models of the market. Hedge funds, factor portfolios, risk models, execution algorithms, and passive rules all compete to become the dominant description. The distribution of models is determined by outcomes, and outcomes are determined by the distribution of models.&lt;&#x2F;p&gt;
&lt;p&gt;That is why the fixed-point equation belongs at the level of the strategy ecosystem:&lt;&#x2F;p&gt;
&lt;p&gt;$$\text{distribution of strategies}=F(\text{distribution of strategies}).$$&lt;&#x2F;p&gt;
&lt;p&gt;In equilibrium language, this is related to Nash. In Keynes’ language, it is the beauty contest. In Soros’ language, it is reflexivity. In the language of the &lt;a href=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;series&#x2F;fixed-point-ladder&#x2F;life-as-a-double-fixed-point&#x2F;&quot;&gt;previous essay&lt;&#x2F;a&gt;, it is representational closure: the system contains models of itself that help produce itself.&lt;&#x2F;p&gt;
&lt;p&gt;This is where the &lt;a href=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;series&#x2F;fixed-point-ladder&#x2F;fixed-points-and-attractors&#x2F;&quot;&gt;first two essays&lt;&#x2F;a&gt; pay off. A reflexive fixed point is not automatically an attractor. The logistic fixed point $x^\star=1-1&#x2F;r$ keeps existing past $r=3$, but it stops attracting: nearby states orbit it instead of settling into it. The market’s belief-fixed-point can behave the same way. Leverage, crowding, and the speed of feedback play the role of control parameters. Past a threshold, the fixed point can lose stability. Prices then do not converge to it. They may oscillate, trend, overshoot, or jump between regimes.&lt;&#x2F;p&gt;
&lt;p&gt;This is not a proof that every reflexive market is critical. It is a mechanism. Reflexivity supplies feedback. Leverage amplifies feedback. Liquidity constraints make feedback nonlinear. When those forces interact across many scales of capital and time, the system can produce the empirical signatures associated with criticality: clustered volatility, fat tails, drawdowns of many sizes, and sudden correlation spikes.&lt;&#x2F;p&gt;
&lt;p&gt;A bubble is not simply “people being wrong.” It is a reflexive regime in which price increases validate the beliefs that caused buying, attracting more capital into the same belief. A crash is not simply “the truth arriving.” It is often the bounded system forcing positions back through liquidity constraints, margin calls, and risk limits.&lt;&#x2F;p&gt;
&lt;p&gt;A minimal reflexive model has two state variables: price $p_t$ and belief $b_t$.&lt;&#x2F;p&gt;
&lt;p&gt;$$p_{t+1}=F(p_t,b_t),$$&lt;&#x2F;p&gt;
&lt;p&gt;$$b_{t+1}=G(b_t,p_{t+1}).$$&lt;&#x2F;p&gt;
&lt;p&gt;A non-reflexive model would treat beliefs as external or fixed. A reflexive model lets beliefs and prices update each other. A local equilibrium is a fixed point:&lt;&#x2F;p&gt;
&lt;p&gt;$$p^\star=F(p^\star,b^\star),\qquad b^\star=G(b^\star,p^\star).$$&lt;&#x2F;p&gt;
&lt;p&gt;Stability is then a Jacobian question. Linearize the two-dimensional map around $(p^\star,b^\star)$. If the eigenvalues stay inside the unit circle, perturbations decay. If an eigenvalue crosses the unit circle, the market can move into oscillation, trend amplification, or regime change. This is the same local-stability logic as the logistic map, but the state now includes beliefs about the state.&lt;&#x2F;p&gt;
&lt;p&gt;To make this concrete, use the simplest linearized form:&lt;&#x2F;p&gt;
&lt;div class=&quot;display-math&quot;&gt;$$\begin{pmatrix} p_{t+1} \\ b_{t+1} \end{pmatrix}
=
\begin{pmatrix} a &amp;amp; c \\ d &amp;amp; e \end{pmatrix}
\begin{pmatrix} p_t \\ b_t \end{pmatrix}.$$&lt;&#x2F;div&gt;
&lt;p&gt;The coefficient $c$ says beliefs move prices. The coefficient $d$ says prices update beliefs. Reflexivity is the product $cd$. If $cd$ is small, the loop damps. If $cd$ is large, the loop amplifies. The eigenvalues of the matrix tell you which regime you are in.&lt;&#x2F;p&gt;
&lt;p&gt;This is also where two famous worldviews turn out to be the same local stability question. Reflexivity has a sign. When the loop is self-correcting, a belief that pushes the price too high invites the trades that pull it back, the eigenvalues sit inside the unit circle, and prices track fundamentals: that is the efficient-market picture. When the loop is self-reinforcing, a belief that pushes the price up invites trades that validate the belief and push it further, an eigenvalue crosses the unit circle, and you get bubbles and crashes: that is Soros’s reflexivity. They are not rival equations for how markets work. They are different regimes of the same two-variable map. The product $cd$ measures the direct feedback loop, but the stability threshold is the spectral radius of the whole Jacobian, the &lt;a href=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;series&#x2F;fixed-point-ladder&#x2F;fixed-points-and-attractors&#x2F;&quot;&gt;same threshold&lt;&#x2F;a&gt; from the first essay, now deciding whether a market self-corrects or runs away. The disagreement is empirical, about which regime a given market is in and when, not about the mathematics.&lt;&#x2F;p&gt;
&lt;p&gt;One caveat, stated plainly so the move is not oversold: this “same map, two regimes” reading is the interpretive lens this series brings, not a treaty Fama and Soros would both sign. Fama largely rejects reflexivity as too imprecise to test; Soros regards the efficient-market hypothesis as a damaging idealization. The reconciliation is what the dynamical-systems framing adds, not a neutral account each camp would endorse. What the framing does earn is a sharper question: instead of asking which side is right in general, ask which regime a given market is in, and what is pushing its loop gain across the line.&lt;&#x2F;p&gt;
&lt;p&gt;This is the same mathematics as a two-dimensional feedback controller. Finance adds a nasty feature: the coefficients themselves change during stress. Liquidity $Q_t$ falls, leverage constraints bind, and volatility estimates rise. So the matrix that looked stable in calm conditions can become unstable exactly when it matters.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;simulation-reflexive-feedback&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#simulation-reflexive-feedback&quot; aria-label=&quot;Anchor link for: simulation-reflexive-feedback&quot;&gt;#&lt;&#x2F;a&gt;Simulation: Reflexive Feedback&lt;&#x2F;h3&gt;
&lt;figure class=&quot;fixed-point-sim-fig&quot;&gt;
  &lt;div class=&quot;fixed-point-sim&quot; data-sim=&quot;market-reflexivity&quot;&gt;
    &lt;noscript&gt;This interactive simulation needs JavaScript enabled.&lt;&#x2F;noscript&gt;
  &lt;&#x2F;div&gt;
  
  &lt;figcaption&gt;Increase reflexive feedback. Weak feedback damps price-belief deviations; strong feedback turns small shocks into persistent swings.&lt;&#x2F;figcaption&gt;
  
&lt;&#x2F;figure&gt;
&lt;script defer src=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;js&#x2F;fixed-point-sims.js?h=2f244814799a398bdf5a&quot;&gt;&lt;&#x2F;script&gt;
&lt;h2 id=&quot;leverage-as-nonlinear-feedback&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#leverage-as-nonlinear-feedback&quot; aria-label=&quot;Anchor link for: leverage-as-nonlinear-feedback&quot;&gt;#&lt;&#x2F;a&gt;Leverage As Nonlinear Feedback&lt;&#x2F;h2&gt;
&lt;p&gt;Leverage is the mechanism that makes market dynamics path-dependent.&lt;&#x2F;p&gt;
&lt;p&gt;Suppose a fund has equity $E$ and holds an asset position worth $A$. Its leverage is:&lt;&#x2F;p&gt;
&lt;p&gt;$$\ell=\frac{A}{E}.$$&lt;&#x2F;p&gt;
&lt;p&gt;If the asset falls, $A$ falls, but equity falls faster because equity is the residual claim after debt. That means leverage rises after losses.&lt;&#x2F;p&gt;
&lt;p&gt;Example: a fund has $100$ of equity and $400$ of assets, so leverage is $4\times$. If the asset falls by $10%$, the asset position loses $40$. Equity falls from $100$ to $60$. Assets are now $360$. Leverage becomes:&lt;&#x2F;p&gt;
&lt;p&gt;$$\ell=\frac{360}{60}=6.$$&lt;&#x2F;p&gt;
&lt;p&gt;The fund did not buy more. Leverage rose because losses consumed equity.&lt;&#x2F;p&gt;
&lt;p&gt;If the fund has a leverage limit, it must sell. Selling pushes price down if liquidity is limited. A lower price creates more losses for similar funds. Those funds sell too. That is the leverage-liquidity loop:&lt;&#x2F;p&gt;
&lt;p&gt;$$\text{price drop}\rightarrow\text{higher leverage}\rightarrow\text{forced selling}\rightarrow\text{lower price}.$$&lt;&#x2F;p&gt;
&lt;p&gt;This is why the market state includes both leverage and liquidity. A price decline in a deeply liquid, low-leverage market can be absorbed. The same decline in a crowded, leveraged, low-liquidity market becomes endogenous.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;simulation-leverage-cascade&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#simulation-leverage-cascade&quot; aria-label=&quot;Anchor link for: simulation-leverage-cascade&quot;&gt;#&lt;&#x2F;a&gt;Simulation: Leverage Cascade&lt;&#x2F;h3&gt;
&lt;figure class=&quot;fixed-point-sim-fig&quot;&gt;
  &lt;div class=&quot;fixed-point-sim&quot; data-sim=&quot;leverage-cascade&quot;&gt;
    &lt;noscript&gt;This interactive simulation needs JavaScript enabled.&lt;&#x2F;noscript&gt;
  &lt;&#x2F;div&gt;
  
  &lt;figcaption&gt;Increase leverage or reduce liquidity. A small initial shock can become forced selling because losses raise effective leverage.&lt;&#x2F;figcaption&gt;
  
&lt;&#x2F;figure&gt;
&lt;script defer src=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;js&#x2F;fixed-point-sims.js?h=2f244814799a398bdf5a&quot;&gt;&lt;&#x2F;script&gt;
&lt;h2 id=&quot;scale-free-statistics&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#scale-free-statistics&quot; aria-label=&quot;Anchor link for: scale-free-statistics&quot;&gt;#&lt;&#x2F;a&gt;Scale-Free Statistics&lt;&#x2F;h2&gt;
&lt;p&gt;Financial returns carry a cluster of statistical facts that no Gaussian model reproduces:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;fat-tailed returns,&lt;&#x2F;li&gt;
&lt;li&gt;volatility clustering,&lt;&#x2F;li&gt;
&lt;li&gt;power-law order sizes,&lt;&#x2F;li&gt;
&lt;li&gt;drawdowns at many scales,&lt;&#x2F;li&gt;
&lt;li&gt;correlations that jump during crises.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;These are measurements, not interpretations. Whatever one decides to call the regime that produces them, the regime is not the textbook one of independent normal shocks.&lt;&#x2F;p&gt;
&lt;p&gt;Mantegna and Stanley documented scaling behavior in the S&amp;amp;P 500 across time scales. Bouchaud and collaborators developed the broader statistical-physics view of markets as collective systems with heavy tails, clustered volatility, and endogenous crises. Gabaix and coauthors connected large market moves to the size distribution of large institutions and trades. Sornette developed the crash-as-critical-phenomenon line through drawdowns, herding, and log-periodic precursors. These are not identical mechanisms, but they point to the same warning: the tails are not small Gaussian errors.&lt;&#x2F;p&gt;
&lt;p&gt;The inverse-cubic law for equity returns is often summarized as:&lt;&#x2F;p&gt;
&lt;p&gt;$$P(|R|&amp;gt;x)\sim x^{-3}.$$&lt;&#x2F;p&gt;
&lt;p&gt;Precision matters: $\alpha\approx 3$ implies finite variance in the ideal tail-index convention. Equity returns are far from Gaussian, but they are not automatically in the infinite-variance Lévy-stable regime Mandelbrot first emphasized.&lt;&#x2F;p&gt;
&lt;p&gt;The important claim is not “variance never exists.” The important claim is that the Gaussian picture fails badly in the region that matters most: large deviations, clustered volatility, drawdowns, leverage cascades, and the sudden alignment of correlations during crises.&lt;&#x2F;p&gt;
&lt;p&gt;This is why the $\alpha\approx 3$ caveat matters. The inverse-cubic law is fat-tailed but not the same as the Lévy-stable infinite-variance case with $\alpha&amp;lt;2$. A precise article should not claim infinite variance for liquid equity returns as a blanket fact. The stronger and more defensible statement is that return tails are far too heavy for Gaussian risk models, and the dynamics that create the tails also create volatility clustering and crisis correlations.&lt;&#x2F;p&gt;
&lt;p&gt;Volatility clustering is the easiest way to see why “random shocks” is too weak a model. A simple GARCH-style process writes returns as:&lt;&#x2F;p&gt;
&lt;p&gt;$$r_t=\sigma_t\epsilon_t,$$&lt;&#x2F;p&gt;
&lt;p&gt;with conditional variance updating as:&lt;&#x2F;p&gt;
&lt;p&gt;$$\sigma_{t+1}^2=\omega+\alpha r_t^2+\beta\sigma_t^2.$$&lt;&#x2F;p&gt;
&lt;p&gt;The shock $\epsilon_t$ can be ordinary noise. The memory is in $\sigma_t$. A large return today raises tomorrow’s conditional volatility through the $\alpha r_t^2$ term. The $\beta\sigma_t^2$ term keeps volatility elevated. That is how large moves cluster without requiring each shock to be independently enormous.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;simulation-volatility-clustering&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#simulation-volatility-clustering&quot; aria-label=&quot;Anchor link for: simulation-volatility-clustering&quot;&gt;#&lt;&#x2F;a&gt;Simulation: Volatility Clustering&lt;&#x2F;h3&gt;
&lt;figure class=&quot;fixed-point-sim-fig&quot;&gt;
  &lt;div class=&quot;fixed-point-sim&quot; data-sim=&quot;volatility-clustering&quot;&gt;
    &lt;noscript&gt;This interactive simulation needs JavaScript enabled.&lt;&#x2F;noscript&gt;
  &lt;&#x2F;div&gt;
  
  &lt;figcaption&gt;Change shock feedback and volatility memory. Even with ordinary shocks, the conditional variance remembers large moves, so volatility arrives in clusters instead of independent isolated jumps.&lt;&#x2F;figcaption&gt;
  
&lt;&#x2F;figure&gt;
&lt;script defer src=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;js&#x2F;fixed-point-sims.js?h=2f244814799a398bdf5a&quot;&gt;&lt;&#x2F;script&gt;
&lt;p&gt;Fat tails do not by themselves prove criticality, because a power law can come from several mechanisms:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;preferential attachment,&lt;&#x2F;li&gt;
&lt;li&gt;multiplicative growth,&lt;&#x2F;li&gt;
&lt;li&gt;mixtures of volatility regimes,&lt;&#x2F;li&gt;
&lt;li&gt;self-organized criticality,&lt;&#x2F;li&gt;
&lt;li&gt;constrained optimization under feedback,&lt;&#x2F;li&gt;
&lt;li&gt;strategic imitation and crowding.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;So the inference “fat tails, therefore criticality” is invalid, and this essay does not make it. What it claims instead comes in three layers, and the layers are worth keeping apart, because they do not carry the same weight:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Fact.&lt;&#x2F;strong&gt; Return tails are far heavier than Gaussian, volatility clusters, and correlations jump toward one in a crisis. This is measured.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Mechanism.&lt;&#x2F;strong&gt; Reflexive feedback, leverage, liquidity constraints, imitation, and multi-scale capital flows convert small shocks into large ones. That loop, not a fat-tailed noise term bolted on by hand, is what produces the facts in the first layer. This is a causal claim, and it is the one the essay rests on.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Interpretation.&lt;&#x2F;strong&gt; Those same fingerprints are what critical systems often display, so criticality is a tempting and occasionally useful analogy. It is the weakest layer, and nothing in the first two depends on it.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;The fat tails stand on the mechanism, not on the label. That is why the essay leans on the word &lt;em&gt;reflexive&lt;&#x2F;em&gt; rather than &lt;em&gt;critical&lt;&#x2F;em&gt;: the mechanism is defensible on its own terms, and the phase-transition analogy is a bonus laid on top, not the foundation underneath.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;coarse-graining-and-universality&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#coarse-graining-and-universality&quot; aria-label=&quot;Anchor link for: coarse-graining-and-universality&quot;&gt;#&lt;&#x2F;a&gt;Coarse-Graining And Universality&lt;&#x2F;h2&gt;
&lt;p&gt;Aggregate trades over one minute, one hour, one day, one month. If the statistical shape persists after rescaling, the market is near a fixed point of a coarse-graining operator. This is the intuition behind the scaling work of Mantegna and Stanley, and behind the broader econophysics literature that treats returns as distributions transformed by time aggregation.&lt;&#x2F;p&gt;
&lt;p&gt;That is the renormalization-group viewpoint:&lt;&#x2F;p&gt;
&lt;p&gt;$$T(P)=P.$$&lt;&#x2F;p&gt;
&lt;p&gt;Different markets can share tail exponents because they sit in the same basin of attraction. The empirical claim is approximate, finite-range, and instrument-dependent, but the recurrence of similar exponents across markets is exactly the kind of pattern that makes a renormalization viewpoint tempting.&lt;&#x2F;p&gt;
&lt;p&gt;This is the finance version of renormalization. Details differ across venues, countries, regulations, participants, and technologies, but some exponents and scaling patterns recur. When details change and exponents persist, universality is the right suspicion.&lt;&#x2F;p&gt;
&lt;p&gt;The same caution applies as in physics: universality does not mean all mechanisms are identical. It means the large-scale statistics are governed by a smaller set of relevant variables than the microscopic complexity suggests.&lt;&#x2F;p&gt;
&lt;p&gt;The coarse-graining operation can be written schematically. Let $R_{\Delta t}$ be returns measured over interval $\Delta t$. Aggregating time means replacing many short returns with a longer return:&lt;&#x2F;p&gt;
&lt;p&gt;$$R_{k\Delta t}=\sum_{i=1}^k R_{\Delta t,i}$$&lt;&#x2F;p&gt;
&lt;p&gt;for log returns. A Gaussian world has a familiar scaling:&lt;&#x2F;p&gt;
&lt;p&gt;$$R_{k\Delta t}\sim \sqrt{k}R_{\Delta t}.$$&lt;&#x2F;p&gt;
&lt;p&gt;A critical or fat-tailed world can show slower convergence, tail persistence, volatility clustering, and scaling that is only approximate across finite ranges. The important question is not whether markets are perfectly scale invariant. They are not. The question is why approximate scaling survives across enough time scales to matter for risk.&lt;&#x2F;p&gt;
&lt;p&gt;This is where the connection to Lawvere should be handled carefully. A financial market is not literally a category satisfying Lawvere’s theorem. But it has the same structural problem Lawvere isolates: representation and evaluation live inside the system. Participants represent possible market maps; their actions evaluate those representations against the market; the result changes the object being represented.&lt;&#x2F;p&gt;
&lt;p&gt;That is why markets can self-tune faster than many physical systems. A magnet needs an external temperature knob. A market has internal reflexive knobs: leverage, imitation, risk limits, model adoption, and capital flows move in response to the market’s own state.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;non-ergodicity&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#non-ergodicity&quot; aria-label=&quot;Anchor link for: non-ergodicity&quot;&gt;#&lt;&#x2F;a&gt;Non-Ergodicity&lt;&#x2F;h2&gt;
&lt;p&gt;For wealth:&lt;&#x2F;p&gt;
&lt;p&gt;$$W_{t+1}=W_t(1+r_t),$$&lt;&#x2F;p&gt;
&lt;p&gt;the ensemble average depends on $\mathbb{E}[r]$, but the lived path depends on:&lt;&#x2F;p&gt;
&lt;p&gt;$$\mathbb{E}[\log(1+r)].$$&lt;&#x2F;p&gt;
&lt;p&gt;A strategy can have positive expected return and still destroy a typical investor through time. Kelly is the ergodicity-corrected response: optimize long-run growth, not ensemble expectation.&lt;&#x2F;p&gt;
&lt;p&gt;This is why finance makes non-ergodicity emotionally obvious. In biology, failed trajectories are extinct lineages. In finance, they are bankrupt funds, forced sellers, margin calls, and investors who cannot stay in the game long enough for the ensemble average to matter.&lt;&#x2F;p&gt;
&lt;p&gt;No investor is the ensemble. Each investor follows one path.&lt;&#x2F;p&gt;
&lt;p&gt;This is also why positive expected return is not enough. If the downside path can force liquidation, then the strategy is not evaluated by its ensemble mean. It is evaluated by survival through time. The Kelly criterion is not merely a betting trick; it is the fixed-point ladder’s ergodicity correction in portfolio form.&lt;&#x2F;p&gt;
&lt;p&gt;The smallest example is enough. Suppose each period has a 50 percent chance of gaining 50 percent and a 50 percent chance of losing 40 percent.&lt;&#x2F;p&gt;
&lt;p&gt;The ensemble arithmetic return is:&lt;&#x2F;p&gt;
&lt;p&gt;$$\frac{1}{2}(0.50)+\frac{1}{2}(-0.40)=0.05.$$&lt;&#x2F;p&gt;
&lt;p&gt;Positive five percent.&lt;&#x2F;p&gt;
&lt;p&gt;But the time-average log growth is:&lt;&#x2F;p&gt;
&lt;p&gt;$$\frac{1}{2}\log(1.5)+\frac{1}{2}\log(0.6)=\frac{1}{2}\log(0.9)&amp;lt;0.$$&lt;&#x2F;p&gt;
&lt;p&gt;The average wealth across many parallel copies can rise while the typical compounded path decays. That is the whole ergodicity problem in one line.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;hysteresis&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#hysteresis&quot; aria-label=&quot;Anchor link for: hysteresis&quot;&gt;#&lt;&#x2F;a&gt;Hysteresis&lt;&#x2F;h2&gt;
&lt;p&gt;Crises are not rewinds. The pre-crisis attractor gives way to another attractor: higher volatility, wider spreads, forced deleveraging, broken institutions, changed regulation, changed models.&lt;&#x2F;p&gt;
&lt;p&gt;The path back is not the path down. That is hysteresis.&lt;&#x2F;p&gt;
&lt;p&gt;Markets add a special fact biology hides: the self-reference is explicit. Strategies model the market; strategies are traded; successful models reshape the environment that made them successful.&lt;&#x2F;p&gt;
&lt;p&gt;After 2008, the market did not simply return to its previous basin. Balance sheets changed. Regulation changed. Central banks changed their role. Risk models changed. Passive investing accelerated. The post-crisis attractor was structurally different from the pre-crisis attractor.&lt;&#x2F;p&gt;
&lt;p&gt;That is the same mathematics as ecological regime shifts and climate tipping points: once the basin changes, reversing the parameter does not necessarily restore the old state.&lt;&#x2F;p&gt;
&lt;p&gt;The pre-crisis attractor was low volatility, tight spreads, rising leverage, and low perceived correlation. The crisis attractor was high volatility, forced deleveraging, wide spreads, and correlations jumping toward one. The post-crisis attractor was not the original state restored; it was a new basin with central-bank dominance, altered regulation, changed balance sheets, and a different ecology of strategies.&lt;&#x2F;p&gt;
&lt;p&gt;This is the market version of a multi-attractor system. Let $L$ represent leverage, $V$ volatility, $S$ spread width, and $C$ cross-asset correlation. The pre-crisis regime has roughly:&lt;&#x2F;p&gt;
&lt;p&gt;$$L \uparrow,\quad V \downarrow,\quad S \downarrow,\quad C \downarrow.$$&lt;&#x2F;p&gt;
&lt;p&gt;The crisis regime flips the signs:&lt;&#x2F;p&gt;
&lt;p&gt;$$L \downarrow\ \text{forcibly},\quad V \uparrow,\quad S \uparrow,\quad C \uparrow.$$&lt;&#x2F;p&gt;
&lt;p&gt;Those arrows are not independent variables moving separately. They reinforce each other. Forced deleveraging raises volatility; higher volatility tightens risk limits; tighter risk limits force more selling; more selling widens spreads and raises correlations. The system changes basin through feedback.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-single-statement&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#the-single-statement&quot; aria-label=&quot;Anchor link for: the-single-statement&quot;&gt;#&lt;&#x2F;a&gt;The Single Statement&lt;&#x2F;h2&gt;
&lt;p&gt;Living systems and financial systems both produce the fingerprints of criticality, fat tails, scale-free fluctuations, cascades of many sizes, but they earn those fingerprints differently, and the evidence is not equally strong in the two cases.&lt;&#x2F;p&gt;
&lt;p&gt;Biology arrives there slowly, through dissipation, feedback, selection, and self-reproduction over evolutionary time.&lt;&#x2F;p&gt;
&lt;p&gt;Markets arrive there fast, through reflexivity, leverage, imitation, constraints, and the trading of models that model the market. The loop is explicit, which is why a market can change regime in an afternoon while a lineage takes epochs.&lt;&#x2F;p&gt;
&lt;p&gt;In both cases, the system is not a passive object described from outside. It is a system whose internal dynamics help determine the object being described. That is why the fixed-point ladder matters. Engine A drives systems onto attractors. Engine B makes self-description unavoidable once a system can represent enough of itself. Where both engines run together, the result is a system that survives in basins, adapts near critical boundaries, produces power-law or power-law-like statistics, and changes regimes hysteretically.&lt;&#x2F;p&gt;
&lt;p&gt;The thirteenth lesson:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;A market is a reflexive fixed-point problem: prices, beliefs, and strategies solve for one another, so its equilibrium is self-made, often critical-like, and quick to lose stability.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;The invariant summary of this essay is:&lt;&#x2F;p&gt;
&lt;p&gt;$$
x_{t+1}=F(x_t,\eta_t),
$$&lt;&#x2F;p&gt;
&lt;p&gt;but with beliefs and strategies inside the state:&lt;&#x2F;p&gt;
&lt;p&gt;$$
x_t=(p_t,b_t,L_t,Q_t,\sigma_t,C_t).
$$&lt;&#x2F;p&gt;
&lt;p&gt;At the strategy level the fixed-point problem is:&lt;&#x2F;p&gt;
&lt;p&gt;$$
\mu_{t+1}=\Phi(\mu_t,\text{prices produced by }\mu_t).
$$&lt;&#x2F;p&gt;
&lt;p&gt;Markets become reflexive when the descriptions inside $\mu_t$ help create the prices that select the next $\mu_{t+1}$. That is why the output is not a calm equilibrium but a moving regime structure with fat tails, cascades, and hysteresis.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-same-skeleton&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#the-same-skeleton&quot; aria-label=&quot;Anchor link for: the-same-skeleton&quot;&gt;#&lt;&#x2F;a&gt;The Same Skeleton&lt;&#x2F;h2&gt;
&lt;p&gt;The domains are different, but the pattern repeats:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;choose a space,&lt;&#x2F;li&gt;
&lt;li&gt;choose a transformation,&lt;&#x2F;li&gt;
&lt;li&gt;apply it repeatedly or let it act on itself,&lt;&#x2F;li&gt;
&lt;li&gt;find what remains invariant,&lt;&#x2F;li&gt;
&lt;li&gt;study whether that invariant object is stable.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Domain&lt;&#x2F;th&gt;&lt;th&gt;Engine&lt;&#x2F;th&gt;&lt;th&gt;Space&lt;&#x2F;th&gt;&lt;th&gt;Transformation&lt;&#x2F;th&gt;&lt;th&gt;Fixed or invariant object&lt;&#x2F;th&gt;&lt;th&gt;What can go wrong&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;Banach contraction&lt;&#x2F;td&gt;&lt;td&gt;A: iteration&lt;&#x2F;td&gt;&lt;td&gt;Metric space&lt;&#x2F;td&gt;&lt;td&gt;$x\mapsto f(x)$&lt;&#x2F;td&gt;&lt;td&gt;Unique fixed point $x^\star$&lt;&#x2F;td&gt;&lt;td&gt;No completeness, no contraction, multiple limits&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Attractors&lt;&#x2F;td&gt;&lt;td&gt;A: iteration&lt;&#x2F;td&gt;&lt;td&gt;State space&lt;&#x2F;td&gt;&lt;td&gt;Time evolution&lt;&#x2F;td&gt;&lt;td&gt;Point, cycle, or strange attractor&lt;&#x2F;td&gt;&lt;td&gt;Basin boundaries, unstable fixed points&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Logistic map&lt;&#x2F;td&gt;&lt;td&gt;A: iteration&lt;&#x2F;td&gt;&lt;td&gt;Interval $[0,1]$&lt;&#x2F;td&gt;&lt;td&gt;$x\mapsto rx(1-x)$&lt;&#x2F;td&gt;&lt;td&gt;Stable fixed point, then periodic orbit&lt;&#x2F;td&gt;&lt;td&gt;Bifurcation and loss of stability&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Feigenbaum universality&lt;&#x2F;td&gt;&lt;td&gt;A: iteration&lt;&#x2F;td&gt;&lt;td&gt;Space of maps&lt;&#x2F;td&gt;&lt;td&gt;Renormalization $\mathcal{R}$&lt;&#x2F;td&gt;&lt;td&gt;Fixed function $\mathcal{R}(g)=g$&lt;&#x2F;td&gt;&lt;td&gt;Accumulation of bifurcations into chaos&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Strange attractors&lt;&#x2F;td&gt;&lt;td&gt;A: iteration&lt;&#x2F;td&gt;&lt;td&gt;Phase space&lt;&#x2F;td&gt;&lt;td&gt;Stretch and fold&lt;&#x2F;td&gt;&lt;td&gt;Fractal invariant set&lt;&#x2F;td&gt;&lt;td&gt;Sensitive dependence on initial conditions&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Power laws&lt;&#x2F;td&gt;&lt;td&gt;A: iteration&lt;&#x2F;td&gt;&lt;td&gt;Distributions&lt;&#x2F;td&gt;&lt;td&gt;Rescaling $x\mapsto \lambda x$&lt;&#x2F;td&gt;&lt;td&gt;Scale-invariant tail $x^{-\alpha}$&lt;&#x2F;td&gt;&lt;td&gt;Infinite variance or infinite mean&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Ergodicity economics&lt;&#x2F;td&gt;&lt;td&gt;A: iteration&lt;&#x2F;td&gt;&lt;td&gt;Wealth paths&lt;&#x2F;td&gt;&lt;td&gt;Multiplication through time&lt;&#x2F;td&gt;&lt;td&gt;Time-average growth rate&lt;&#x2F;td&gt;&lt;td&gt;Ensemble average differs from lived trajectory&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;KAM theory&lt;&#x2F;td&gt;&lt;td&gt;A: iteration&lt;&#x2F;td&gt;&lt;td&gt;Phase space tori&lt;&#x2F;td&gt;&lt;td&gt;Perturbed Hamiltonian flow&lt;&#x2F;td&gt;&lt;td&gt;Surviving quasi-periodic torus&lt;&#x2F;td&gt;&lt;td&gt;Resonance, small denominators&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Gödel&#x2F;Turing&lt;&#x2F;td&gt;&lt;td&gt;B: self-reference&lt;&#x2F;td&gt;&lt;td&gt;Syntax encoded as numbers&lt;&#x2F;td&gt;&lt;td&gt;Diagonal self-application&lt;&#x2F;td&gt;&lt;td&gt;Self-referential sentence or program&lt;&#x2F;td&gt;&lt;td&gt;Incompleteness, undecidability&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Recursive types&lt;&#x2F;td&gt;&lt;td&gt;B: self-reference&lt;&#x2F;td&gt;&lt;td&gt;Category of types&lt;&#x2F;td&gt;&lt;td&gt;Functor $F$&lt;&#x2F;td&gt;&lt;td&gt;$\mu F$ or $\nu F$&lt;&#x2F;td&gt;&lt;td&gt;Nontermination, infinite unfolding&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Lawvere&lt;&#x2F;td&gt;&lt;td&gt;B: self-reference&lt;&#x2F;td&gt;&lt;td&gt;Category with representation&lt;&#x2F;td&gt;&lt;td&gt;Abstract diagonal&lt;&#x2F;td&gt;&lt;td&gt;Fixed point of every endomap&lt;&#x2F;td&gt;&lt;td&gt;Paradox when self-reference is too strong&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Life&lt;&#x2F;td&gt;&lt;td&gt;A + B&lt;&#x2F;td&gt;&lt;td&gt;Organism state plus genome&lt;&#x2F;td&gt;&lt;td&gt;Dissipative dynamics plus self-reproduction&lt;&#x2F;td&gt;&lt;td&gt;Double fixed point: attractor plus quine-like reproductive loop&lt;&#x2F;td&gt;&lt;td&gt;Death, loss of canalization, runaway instability&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Markets&lt;&#x2F;td&gt;&lt;td&gt;A + B&lt;&#x2F;td&gt;&lt;td&gt;Prices plus strategy ecosystem&lt;&#x2F;td&gt;&lt;td&gt;Reflexive coarse-graining&lt;&#x2F;td&gt;&lt;td&gt;Critical-like or Nash-like fixed point of beliefs, strategies, and prices&lt;&#x2F;td&gt;&lt;td&gt;Crashes, hysteresis, forced liquidation, ruin&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;p&gt;The table is the series in compressed form. The details matter, but the high-level move is stable: a rule acts on a space, and some object becomes special because the rule cannot move past it. Sometimes the object is stable and useful. Sometimes it is unstable and dangerous. Sometimes it is impossible, and that impossibility becomes a theorem.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-whole-ladder&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#the-whole-ladder&quot; aria-label=&quot;Anchor link for: the-whole-ladder&quot;&gt;#&lt;&#x2F;a&gt;The Whole Ladder&lt;&#x2F;h2&gt;
&lt;p&gt;If I compress the whole series into one sentence:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Repeated transformations create state fixed points. State fixed points become attractors. Attractors change under parameters. Those changes can create chaos. Chaos can leave fractal invariant sets and invariant measures. Scale invariance, whether geometric, statistical, or renormalized, creates power-law forms. Power laws can make time averages diverge from ensemble averages. Following one trajectory through time forces the study of recurrence, and recurrence brings arithmetic through rational approximation and resonance. Arithmetic can also encode syntax; once syntax is encoded, self-reference produces representational fixed points, or proves that such fixed points are impossible, in logic, computation, and category theory. Biology and markets are where the two engines meet: systems that survive in attractor basins while carrying internal descriptions that help reproduce or price the system itself.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;That is the ladder.&lt;&#x2F;p&gt;
&lt;p&gt;Everything else, Feigenbaum, KAM, Gödel, Turing, Zipf, Mandelbrot, Lawvere, Waddington, Kauffman, Soros, Mantegna, Stanley, Kelly, is a different place where the same skeleton becomes visible.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;what-expressiveness-buys-and-what-it-does-not&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#what-expressiveness-buys-and-what-it-does-not&quot; aria-label=&quot;Anchor link for: what-expressiveness-buys-and-what-it-does-not&quot;&gt;#&lt;&#x2F;a&gt;What Expressiveness Buys, And What It Does Not&lt;&#x2F;h2&gt;
&lt;p&gt;There is a tempting one-sentence compression of the whole series: make a system expressive enough and power laws and fractals will follow. The sentence is close, and wrong in an instructive way, because the ladder is really two claims that do not reduce to each other.&lt;&#x2F;p&gt;
&lt;p&gt;The two claims also use the series’ central phrase in two different senses, and this is the place to keep them apart. A &lt;strong&gt;state fixed point&lt;&#x2F;strong&gt; is a configuration the dynamics cannot move, $f(x^\star)=x^\star$; you find it by running time forward and watching where the system settles. A &lt;strong&gt;representational fixed point&lt;&#x2F;strong&gt; is a description that evaluation hands back unchanged, a quine, a Gödel sentence; you find it by diagonalization, and no time is involved anywhere. Same abstract equation, $T(x)=x$, but a different space and a different transformation. Attractors, power laws, and fat tails all live on the state side. Self-reference lives on the representational side.&lt;&#x2F;p&gt;
&lt;p&gt;Expressiveness alone does not buy power laws. What expressiveness buys, and this is the Lawvere, Gödel, and Turing rung of the ladder, is representational fixed points. Once a system can represent enough of its own maps, diagonalization becomes unavoidable: Gödel sentences, halting problems, Y combinators, quines. But nothing about that makes anything fluctuate. Peano arithmetic is as expressive as a system can be, and it has no fat tails, because it has no dynamics at all.&lt;&#x2F;p&gt;
&lt;p&gt;And power laws do not require expressiveness. The &lt;a href=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;series&#x2F;edge-of-chaos&#x2F;sandpiles-and-crashes-how-systems-tune-themselves-to-the-brink&#x2F;&quot;&gt;sandpile&lt;&#x2F;a&gt; is the cleanest counterexample: it sheds beautiful scale-free avalanches while being unable to represent anything. Slow drive, threshold, leakage. No beliefs, no models, no self-description. The point cuts the other way too, and this essay already made it: “fat tails, therefore criticality” is an invalid inference, because power laws come from preferential attachment, multiplicative growth, and volatility mixtures just as easily as from critical points.&lt;&#x2F;p&gt;
&lt;p&gt;So the honest compression has three parts rather than one. Iteration and feedback make state fixed points inevitable: attractors, the configurations a system settles into. Expressiveness makes representational fixed points inevitable: the descriptions that fold back onto themselves. And the thesis of the series lives at the intersection: when a system is expressive and its self-descriptions are wired back into its own dynamics, which is what the last two essays have called representational closure, the two senses of fixed point stop being separate subjects. Evaluating the descriptions moves the state, and the state rewrites the descriptions. Self-reference stops being a logical curiosity and becomes a force. Models of the market trade in the market. The genome’s description of the organism builds the organism. At that point the feedback loops are strong, internal, and self-tuning, and critical-like behavior, with its power laws, cascades, and hysteresis, becomes a regime the system reaches fast and leaves reluctantly, rather than a knife-edge someone would have to balance it on. A magnet needs an external temperature dial. A market carries its dials inside.&lt;&#x2F;p&gt;
&lt;aside class=&quot;pullquote&quot;&gt;
  &lt;p&gt;Iteration guarantees fixed points of state: configurations the dynamics cannot move. Expressiveness guarantees fixed points of representation: descriptions that fold back onto themselves. When a system’s descriptions of itself become part of its state, the two kinds of fixed point entangle, and fat tails, cascades, and hysteresis stop being fine-tuned exceptions and become the neighborhood the system lives in.&lt;&#x2F;p&gt;
&lt;&#x2F;aside&gt;
&lt;p&gt;Even at the intersection, the claim is “tends toward,” never “will have.” The series rests on the mechanism, not the label, and that is why this essay leans on the word &lt;em&gt;reflexive&lt;&#x2F;em&gt; rather than &lt;em&gt;critical&lt;&#x2F;em&gt;.&lt;&#x2F;p&gt;
&lt;aside class=&quot;toolkit&quot;&gt;
  &lt;p class=&quot;toolkit-label&quot;&gt;Takeaway&lt;&#x2F;p&gt;
  &lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Space:&lt;&#x2F;strong&gt; prices together with the ecosystem of strategies trading on them.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Transformation:&lt;&#x2F;strong&gt; reflexive coarse-graining, beliefs becoming trades becoming prices becoming beliefs.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Invariant object:&lt;&#x2F;strong&gt; a critical-like or Nash-like fixed point of beliefs, strategies, and prices.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Failure mode:&lt;&#x2F;strong&gt; crashes, hysteresis, forced liquidation, ruin.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;

&lt;&#x2F;aside&gt;
&lt;h2 id=&quot;references-and-further-reading&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#references-and-further-reading&quot; aria-label=&quot;Anchor link for: references-and-further-reading&quot;&gt;#&lt;&#x2F;a&gt;References And Further Reading&lt;&#x2F;h2&gt;
&lt;p&gt;This series is a guided synthesis, not a replacement for the original sources. The references below are the places I would send someone who wants to make each rung precise.&lt;&#x2F;p&gt;
&lt;p&gt;For dynamical systems and chaos:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;Steven Strogatz, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.routledge.com&#x2F;Nonlinear-Dynamics-and-Chaos-With-Applications-to-Physics-Biology-Chemistry-and-Engineering&#x2F;Strogatz&#x2F;p&#x2F;book&#x2F;9780367026509&quot;&gt;&lt;em&gt;Nonlinear Dynamics and Chaos&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;. The best first book for fixed points, stability, bifurcations, and the logistic map.&lt;&#x2F;li&gt;
&lt;li&gt;Robert May, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1038&#x2F;261459a0&quot;&gt;&lt;em&gt;Simple mathematical models with very complicated dynamics&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (1976). The classic short paper that made the logistic map famous outside pure dynamics.&lt;&#x2F;li&gt;
&lt;li&gt;Mitchell Feigenbaum, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1007&#x2F;BF01020332&quot;&gt;&lt;em&gt;Quantitative universality for a class of nonlinear transformations&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (1978). The period-doubling universality paper.&lt;&#x2F;li&gt;
&lt;li&gt;Robert Devaney, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.routledge.com&#x2F;An-Introduction-to-Chaotic-Dynamical-Systems&#x2F;Devaney&#x2F;p&#x2F;book&#x2F;9780367235994&quot;&gt;&lt;em&gt;An Introduction to Chaotic Dynamical Systems&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;. A more mathematical route into chaos, symbolic dynamics, and fractals.&lt;&#x2F;li&gt;
&lt;li&gt;Tien-Yien Li and James Yorke, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1080&#x2F;00029890.1975.11994008&quot;&gt;&lt;em&gt;Period three implies chaos&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (1975). The famous theorem behind the slogan.&lt;&#x2F;li&gt;
&lt;li&gt;Stephen Smale, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1090&#x2F;S0002-9904-1967-11798-1&quot;&gt;&lt;em&gt;Differentiable dynamical systems&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (1967). A foundational paper for modern dynamical systems.&lt;&#x2F;li&gt;
&lt;li&gt;Heinz-Otto Peitgen and Peter Richter, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;The_Beauty_of_Fractals&quot;&gt;&lt;em&gt;The Beauty of Fractals&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;. A good route into Newton fractals and visual complex dynamics.&lt;&#x2F;li&gt;
&lt;li&gt;Henri Poincaré, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Science_and_Method&quot;&gt;&lt;em&gt;Science and Method&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (1908). Where dynamical-systems thinking and sensitive dependence on initial conditions begin.&lt;&#x2F;li&gt;
&lt;li&gt;David Ruelle and Floris Takens, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1007&#x2F;BF01646553&quot;&gt;&lt;em&gt;On the nature of turbulence&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (1971). The paper that named the strange attractor.&lt;&#x2F;li&gt;
&lt;li&gt;Jean-Pierre Eckmann and David Ruelle, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1103&#x2F;RevModPhys.57.617&quot;&gt;&lt;em&gt;Ergodic theory of chaos and strange attractors&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (1985). The canonical review of chaos, Lyapunov exponents, and invariant measures.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;For fractals, scaling, and power laws:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;Benoit Mandelbrot, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;The_Fractal_Geometry_of_Nature&quot;&gt;&lt;em&gt;The Fractal Geometry of Nature&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;. The source for the modern fractal worldview.&lt;&#x2F;li&gt;
&lt;li&gt;Per Bak, Chao Tang, and Kurt Wiesenfeld, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1103&#x2F;PhysRevLett.59.381&quot;&gt;&lt;em&gt;Self-organized criticality&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (1987). The sandpile paper behind many later power-law stories.&lt;&#x2F;li&gt;
&lt;li&gt;Mark Newman, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;arxiv.org&#x2F;abs&#x2F;cond-mat&#x2F;0412004&quot;&gt;&lt;em&gt;Power laws, Pareto distributions and Zipf’s law&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (2005). A clear survey of where power laws appear and how to reason about them.&lt;&#x2F;li&gt;
&lt;li&gt;Aaron Clauset, Cosma Shalizi, and Mark Newman, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;arxiv.org&#x2F;abs&#x2F;0706.1062&quot;&gt;&lt;em&gt;Power-law distributions in empirical data&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (2009). Important because it explains how easy it is to fool yourself when fitting power laws.&lt;&#x2F;li&gt;
&lt;li&gt;Kenneth Wilson, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1103&#x2F;RevModPhys.55.583&quot;&gt;&lt;em&gt;The renormalization group and critical phenomena&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (1983 Nobel lecture). The clean conceptual source for renormalization and critical exponents.&lt;&#x2F;li&gt;
&lt;li&gt;Herbert Simon, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1093&#x2F;biomet&#x2F;42.3-4.425&quot;&gt;&lt;em&gt;On a class of skew distribution functions&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (1955). The Yule-Simon preferential-attachment mechanism.&lt;&#x2F;li&gt;
&lt;li&gt;Albert-Laszlo Barabasi and Reka Albert, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1126&#x2F;science.286.5439.509&quot;&gt;&lt;em&gt;Emergence of scaling in random networks&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (1999). The modern network version of rich-get-richer scaling.&lt;&#x2F;li&gt;
&lt;li&gt;Edwin Jaynes, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1103&#x2F;PhysRev.106.620&quot;&gt;&lt;em&gt;Information theory and statistical mechanics&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (1957). Maximum entropy, the information-theoretic route to power-law forms.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;For ergodicity and multiplicative dynamics:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;Ole Peters, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1038&#x2F;s41567-019-0732-0&quot;&gt;&lt;em&gt;The ergodicity problem in economics&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (2019). The cleanest entry point into the time-average versus ensemble-average distinction.&lt;&#x2F;li&gt;
&lt;li&gt;Nassim Nicholas Taleb, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;The_Black_Swan_(Taleb_book)&quot;&gt;&lt;em&gt;The Black Swan&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; and &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;arxiv.org&#x2F;abs&#x2F;2001.10488&quot;&gt;&lt;em&gt;Statistical Consequences of Fat Tails&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;. Useful for the Extremistan intuition and for the dangers of thin-tailed thinking.&lt;&#x2F;li&gt;
&lt;li&gt;John Kelly, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1002&#x2F;j.1538-7305.1956.tb03809.x&quot;&gt;&lt;em&gt;A new interpretation of information rate&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (1956). The original Kelly criterion paper, where logarithmic growth becomes operational.&lt;&#x2F;li&gt;
&lt;li&gt;George Birkhoff, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1073&#x2F;pnas.17.2.656&quot;&gt;&lt;em&gt;Proof of the ergodic theorem&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (1931). The theorem behind time averages equaling space averages.&lt;&#x2F;li&gt;
&lt;li&gt;Lasota and Mackey, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1007&#x2F;978-1-4612-4286-4&quot;&gt;&lt;em&gt;Chaos, Fractals, and Noise&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;. A useful source for invariant densities and Perron-Frobenius operators.&lt;&#x2F;li&gt;
&lt;li&gt;Ole Peters and Murray Gell-Mann, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1063&#x2F;1.4940236&quot;&gt;&lt;em&gt;Evaluating gambles using dynamics&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (2016). The sharpest single statement of the time-average argument.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;For number theory inside dynamics:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;Vladimir Arnold, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Mathematical_Methods_of_Classical_Mechanics&quot;&gt;&lt;em&gt;Mathematical Methods of Classical Mechanics&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;. The canonical route into Hamiltonian mechanics and action-angle variables.&lt;&#x2F;li&gt;
&lt;li&gt;Jurgen Moser, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;J%C3%BCrgen_Moser&quot;&gt;&lt;em&gt;Stable and Random Motions in Dynamical Systems&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;. A classic treatment of KAM ideas.&lt;&#x2F;li&gt;
&lt;li&gt;Hendrik Broer and Floris Takens, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1007&#x2F;978-1-4419-6870-8&quot;&gt;&lt;em&gt;Dynamical Systems and Chaos&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;. Useful for connecting invariant tori, bifurcations, and resonance.&lt;&#x2F;li&gt;
&lt;li&gt;Andrey Kolmogorov, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Kolmogorov%E2%80%93Arnold%E2%80%93Moser_theorem&quot;&gt;&lt;em&gt;On conservation of conditionally periodic motions for a small change in Hamilton’s function&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (1954). The original KAM note, the K in KAM.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;For logic, computation, and self-reference:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;Kurt Gödel, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1007&#x2F;BF01700692&quot;&gt;&lt;em&gt;On formally undecidable propositions of Principia Mathematica and related systems&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (1931). The incompleteness paper.&lt;&#x2F;li&gt;
&lt;li&gt;Alan Turing, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1112&#x2F;plms&#x2F;s2-42.1.230&quot;&gt;&lt;em&gt;On computable numbers, with an application to the Entscheidungsproblem&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (1936). The halting problem and the modern idea of computation.&lt;&#x2F;li&gt;
&lt;li&gt;Douglas Hofstadter, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;G%C3%B6del,_Escher,_Bach&quot;&gt;&lt;em&gt;Gödel, Escher, Bach&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;. Not the most formal source, but still one of the best ways to feel why self-reference matters.&lt;&#x2F;li&gt;
&lt;li&gt;Raymond Smullyan, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Raymond_Smullyan&quot;&gt;&lt;em&gt;Gödel’s Incompleteness Theorems&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;. A gentler logical path into diagonalization.&lt;&#x2F;li&gt;
&lt;li&gt;Haskell Curry and Robert Feys, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Combinatory_logic&quot;&gt;&lt;em&gt;Combinatory Logic&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;. A classical source for fixed-point combinators.&lt;&#x2F;li&gt;
&lt;li&gt;Henk Barendregt, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Lambda_calculus&quot;&gt;&lt;em&gt;The Lambda Calculus&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;. The standard reference for lambda calculus and the Y combinator.&lt;&#x2F;li&gt;
&lt;li&gt;Alfred Tarski, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Tarski%27s_undefinability_theorem&quot;&gt;&lt;em&gt;The concept of truth in formalized languages&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (1936). Undefinability: a system strong enough for arithmetic cannot define its own truth.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;For category theory and fixed points:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;F. William Lawvere, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http:&#x2F;&#x2F;www.tac.mta.ca&#x2F;tac&#x2F;reprints&#x2F;articles&#x2F;15&#x2F;tr15abs.html&quot;&gt;&lt;em&gt;Diagonal arguments and cartesian closed categories&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (1969). The categorical abstraction of diagonalization.&lt;&#x2F;li&gt;
&lt;li&gt;Joachim Lambek, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1007&#x2F;BF01110627&quot;&gt;&lt;em&gt;A fixpoint theorem for complete categories&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (1968). The source of the algebraic view of recursive types.&lt;&#x2F;li&gt;
&lt;li&gt;Steve Awodey, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;global.oup.com&#x2F;academic&#x2F;product&#x2F;category-theory-9780199237180&quot;&gt;&lt;em&gt;Category Theory&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;. A clean modern introduction.&lt;&#x2F;li&gt;
&lt;li&gt;Benjamin Pierce, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Benjamin_C._Pierce&quot;&gt;&lt;em&gt;Basic Category Theory for Computer Scientists&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;. Short, practical, and good for programmers.&lt;&#x2F;li&gt;
&lt;li&gt;Bart Jacobs, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1017&#x2F;CBO9781316823187&quot;&gt;&lt;em&gt;Introduction to Coalgebra&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;. A route from coalgebras to state-based systems and infinite behavior.&lt;&#x2F;li&gt;
&lt;li&gt;Alfred Tarski, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.2140&#x2F;pjm.1955.5.285&quot;&gt;&lt;em&gt;A lattice-theoretical fixpoint theorem and its applications&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (1955). The order-theoretic fixed-point theorem behind many least&#x2F;greatest fixed-point constructions.&lt;&#x2F;li&gt;
&lt;li&gt;Stephen Kleene, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Stephen_Cole_Kleene&quot;&gt;&lt;em&gt;Introduction to Metamathematics&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;. A classical source for computability and iterative least fixed points.&lt;&#x2F;li&gt;
&lt;li&gt;L. E. J. Brouwer, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1007&#x2F;BF01456931&quot;&gt;&lt;em&gt;Uber Abbildung von Mannigfaltigkeiten&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (1911), and Shizuo Kakutani, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1215&#x2F;S0012-7094-41-00838-4&quot;&gt;&lt;em&gt;A generalization of Brouwer’s fixed point theorem&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (1941). The topological and set-valued fixed-point theorems behind equilibrium arguments.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;For biology, criticality, and self-reproduction:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;C. H. Waddington, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Conrad_Hal_Waddington&quot;&gt;&lt;em&gt;The Strategy of the Genes&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;. The source of the developmental landscape metaphor.&lt;&#x2F;li&gt;
&lt;li&gt;Stuart Kauffman, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Stuart_Kauffman&quot;&gt;&lt;em&gt;The Origins of Order&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;. Attractors, Boolean networks, autocatalysis, and self-organization in biology.&lt;&#x2F;li&gt;
&lt;li&gt;John Beggs and Dietmar Plenz, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1523&#x2F;JNEUROSCI.23-35-11167.2003&quot;&gt;&lt;em&gt;Neuronal avalanches in neocortical circuits&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (2003). The neural criticality reference.&lt;&#x2F;li&gt;
&lt;li&gt;William Bialek et al., &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1073&#x2F;pnas.1118633109&quot;&gt;&lt;em&gt;Statistical mechanics for natural flocks of birds&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (2012). Scale-free correlations in collective behavior.&lt;&#x2F;li&gt;
&lt;li&gt;Christopher Langton, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1016&#x2F;0167-2789(90)90064-V&quot;&gt;&lt;em&gt;Computation at the edge of chaos&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (1990). The cellular-automata version of critical computation.&lt;&#x2F;li&gt;
&lt;li&gt;John von Neumann, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Theory_of_Self-Reproducing_Automata&quot;&gt;&lt;em&gt;Theory of Self-Reproducing Automata&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;. The computational ancestor of the genome-as-description story.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;For markets, reflexivity, and financial criticality:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;George Soros, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;The_Alchemy_of_Finance&quot;&gt;&lt;em&gt;The Alchemy of Finance&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;. The canonical reflexivity text.&lt;&#x2F;li&gt;
&lt;li&gt;Rosario Mantegna and H. Eugene Stanley, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1038&#x2F;376046a0&quot;&gt;&lt;em&gt;Scaling behaviour in the dynamics of an economic index&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (1995). The early empirical scaling paper for market returns.&lt;&#x2F;li&gt;
&lt;li&gt;Rama Cont and Jean-Philippe Bouchaud, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1017&#x2F;S1365100500015029&quot;&gt;&lt;em&gt;Herd behavior and aggregate fluctuations in financial markets&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (2000). A clean route from imitation to fat tails.&lt;&#x2F;li&gt;
&lt;li&gt;Jean-Philippe Bouchaud, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1007&#x2F;s10955-013-0795-8&quot;&gt;&lt;em&gt;Crises and collective socio-economic phenomena&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (2013). Markets as collective critical systems.&lt;&#x2F;li&gt;
&lt;li&gt;John Maynard Keynes, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;The_General_Theory_of_Employment,_Interest_and_Money&quot;&gt;&lt;em&gt;The General Theory of Employment, Interest and Money&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;, chapter 12. The beauty-contest passage.&lt;&#x2F;li&gt;
&lt;li&gt;Xavier Gabaix et al., &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1162&#x2F;qjec.2006.121.2.461&quot;&gt;&lt;em&gt;Institutional investors and stock market volatility&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (2006), and Xavier Gabaix and Ralph Koijen, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.nber.org&#x2F;papers&#x2F;w28967&quot;&gt;&lt;em&gt;In search of the origins of financial fluctuations&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (2021). The large-flow and inelastic-market view.&lt;&#x2F;li&gt;
&lt;li&gt;Didier Sornette, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;press.princeton.edu&#x2F;books&#x2F;paperback&#x2F;9780691175959&#x2F;why-stock-markets-crash&quot;&gt;&lt;em&gt;Why Stock Markets Crash&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;. The log-periodic and critical-phenomena route into crashes.&lt;&#x2F;li&gt;
&lt;li&gt;Ole Peters and Alexander Adamou, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1098&#x2F;rsta.2020.0425&quot;&gt;&lt;em&gt;The ergodicity solution of the cooperation puzzle&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (2022). A modern entry into ergodicity economics.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Life as a Double Fixed Point</title>
        <published>2025-06-13T00:00:00+00:00</published>
        <updated>2025-06-13T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://federicocarrone.com/series/fixed-point-ladder/life-as-a-double-fixed-point/"/>
        <id>https://federicocarrone.com/series/fixed-point-ladder/life-as-a-double-fixed-point/</id>
        
        <content type="html" xml:base="https://federicocarrone.com/series/fixed-point-ladder/life-as-a-double-fixed-point/">&lt;p&gt;The ladder so far was built from abstract objects: maps, distributions, operators, proofs, programs, and types. Biology is where the abstraction becomes physical. A living organism does more than occupy a state. It is a dynamical system that holds itself inside a viable region of state space while carrying a description that helps reproduce the system itself.&lt;&#x2F;p&gt;
&lt;p&gt;That is why the tempting sentence is:&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;biology sits at a fixed point.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;That is almost right, but the correction matters. Biology does not sit at fixed points. Biology sits on &lt;strong&gt;attractors&lt;&#x2F;strong&gt;, and in some places it sits near &lt;strong&gt;critical points&lt;&#x2F;strong&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;The roadmap is:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;define the state space of a body,&lt;&#x2F;li&gt;
&lt;li&gt;explain why homeostasis is an attracting invariant distribution, not a frozen point,&lt;&#x2F;li&gt;
&lt;li&gt;explain development as movement through a changing attractor landscape,&lt;&#x2F;li&gt;
&lt;li&gt;separate the safe claim about biological attractors from the stronger claim about criticality,&lt;&#x2F;li&gt;
&lt;li&gt;show why life is special: it combines dynamical stability with self-reproduction.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;The goal is not to force biology into a metaphor. The goal is to ask a precise question:&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;what is being kept invariant, by what transformation, and over what time scale?&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;the-minimum-vocabulary&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#the-minimum-vocabulary&quot; aria-label=&quot;Anchor link for: the-minimum-vocabulary&quot;&gt;#&lt;&#x2F;a&gt;The Minimum Vocabulary&lt;&#x2F;h2&gt;
&lt;p&gt;A &lt;strong&gt;state variable&lt;&#x2F;strong&gt; is a quantity used to describe the condition of a system. In physiology, examples include temperature, pH, glucose concentration, hormone levels, membrane voltage, and gene-expression levels.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Homeostasis&lt;&#x2F;strong&gt; means keeping a variable inside a viable range. Body temperature is the standard example. The mathematical picture is a stable attractor: perturb the variable and feedback pulls it back.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Allostasis&lt;&#x2F;strong&gt; means stability through changing regulation. The target itself can move: cortisol changes over the day, heart rate changes with activity, immune response changes with infection. Life does not always hold one number fixed; often it moves the setpoint while keeping the organism viable.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Feedback&lt;&#x2F;strong&gt; means the output of a system affects its future input. Negative feedback damps deviations. Positive feedback amplifies them.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Dissipation&lt;&#x2F;strong&gt; means the system continuously loses usable energy to its environment. In dynamical-systems language, dissipation often contracts phase-space volume, pushing trajectories onto lower-dimensional attractors.&lt;&#x2F;p&gt;
&lt;p&gt;An &lt;strong&gt;absorbing state&lt;&#x2F;strong&gt; is a state that, once reached, cannot be left. For a biological lineage, death and extinction play this role.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Criticality&lt;&#x2F;strong&gt; is the boundary where perturbations neither die immediately nor explode without coherence. At criticality, correlations can extend across many scales.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Canalization&lt;&#x2F;strong&gt; is developmental robustness. A process is canalized when many small differences in initial condition, noise, or environment still lead to the same functional outcome.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Self-reproduction&lt;&#x2F;strong&gt; is not the copying of matter but the copying of a system that contains a description, and the machinery to interpret it.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-state-space-of-a-body&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#the-state-space-of-a-body&quot; aria-label=&quot;Anchor link for: the-state-space-of-a-body&quot;&gt;#&lt;&#x2F;a&gt;The State Space Of A Body&lt;&#x2F;h2&gt;
&lt;p&gt;A dynamical system needs a state space. For a body, that sounds impossible at first because the complete state would include every molecule, cell, tissue, signal, microbe, and environmental interaction.&lt;&#x2F;p&gt;
&lt;p&gt;But every model chooses a level of description. If you study thermoregulation, a useful state might include core temperature, skin temperature, metabolic rate, sweat response, and environmental temperature. If you study glucose regulation, the state might include glucose, insulin, glucagon, glycogen stores, food intake, and activity. If you study development, the state might be a vector of gene-expression levels.&lt;&#x2F;p&gt;
&lt;p&gt;So a biological state vector is model-dependent:&lt;&#x2F;p&gt;
&lt;p&gt;$$x_t=(\text{temperature},\text{pH},\text{glucose},\text{hormones},\text{neural activity},\ldots).$$&lt;&#x2F;p&gt;
&lt;p&gt;The dynamics are the rules that move this state forward:&lt;&#x2F;p&gt;
&lt;p&gt;$$x_{t+1}=F(x_t,u_t,\eta_t),$$&lt;&#x2F;p&gt;
&lt;p&gt;where $u_t$ represents inputs such as food, light, stress, infection, or social context, and $\eta_t$ represents noise.&lt;&#x2F;p&gt;
&lt;p&gt;The organism is viable only in a subset of state space:&lt;&#x2F;p&gt;
&lt;p&gt;$$V\subseteq X.$$&lt;&#x2F;p&gt;
&lt;p&gt;Too cold, too acidic, too little ATP, too much inflammation, too much neural excitation: these are exits from viability. Biology is therefore not just a trajectory through state space. It is a trajectory that must remain inside a constrained region while the environment keeps perturbing it.&lt;&#x2F;p&gt;
&lt;p&gt;That is why attractors matter. An attractor is not decorative language. It is the mathematical object that explains how a system can be perturbed and still return to a viable region.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;attractors-not-fixed-points&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#attractors-not-fixed-points&quot; aria-label=&quot;Anchor link for: attractors-not-fixed-points&quot;&gt;#&lt;&#x2F;a&gt;Attractors, Not Fixed Points&lt;&#x2F;h2&gt;
&lt;p&gt;Homeostasis is point-like: temperature, blood pH, osmolarity, glucose regulation. These are variables where variation is dangerous, so feedback loops make the local dynamics contractive.&lt;&#x2F;p&gt;
&lt;p&gt;There is a sharper way to say this using the power-laws essay. A living body is noisy, so the right invariant is rarely a single state. It is a distribution over states that the dynamics leaves unchanged. That is the same object as a Markov stationary distribution $\pi=\pi P$, or the invariant density of a chaotic map: a fixed point of the operator that pushes whole distributions forward one step. Homeostasis is the biological name for an attracting invariant measure, kept narrow by feedback.&lt;&#x2F;p&gt;
&lt;p&gt;But much of life is not point-like. The heartbeat, circadian rhythm, neural oscillations, menstrual cycle, and cell cycle are closer to limit cycles. A limit cycle is not a fixed point of the continuous flow, but it is a fixed point of the return map.&lt;&#x2F;p&gt;
&lt;p&gt;The honest claim is:&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;living systems sit on robust attractors: point-shaped where nothing should vary, cycle-shaped where something must.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;The return-map language is important. Suppose a heartbeat follows a closed orbit in continuous time. Pick a cross-section through that orbit and record where the trajectory returns after one cycle. That gives a discrete map:&lt;&#x2F;p&gt;
&lt;p&gt;$$x_{n+1}=P(x_n).$$&lt;&#x2F;p&gt;
&lt;p&gt;The cycle is stable when the return map has an attracting fixed point:&lt;&#x2F;p&gt;
&lt;p&gt;$$P(x^\star)=x^\star,\qquad |P’(x^\star)|&amp;lt;1.$$&lt;&#x2F;p&gt;
&lt;p&gt;So the first essay’s fixed-point theorem has not disappeared. It has changed level. A rhythm is not a fixed point of the flow, but it is a fixed point of the map that samples the flow once per cycle.&lt;&#x2F;p&gt;
&lt;p&gt;This is the first important connection back to the series. The naive sentence “biology is at a fixed point” is false if it means “the organism is static.” A living body is never static. It breathes, pumps, metabolizes, repairs, learns, and ages.&lt;&#x2F;p&gt;
&lt;p&gt;But the sentence becomes true at the right level:&lt;&#x2F;p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Biological phenomenon&lt;&#x2F;th&gt;&lt;th&gt;Mathematical invariant&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;homeostatic variable&lt;&#x2F;td&gt;&lt;td&gt;attracting point or narrow invariant distribution&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;heartbeat or circadian rhythm&lt;&#x2F;td&gt;&lt;td&gt;stable limit cycle &#x2F; fixed point of a return map&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;cell fate&lt;&#x2F;td&gt;&lt;td&gt;attractor of a regulatory network&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;tissue identity&lt;&#x2F;td&gt;&lt;td&gt;basin maintained by feedback and epigenetic regulation&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;reproduction&lt;&#x2F;td&gt;&lt;td&gt;fixed point of a description-interpreter loop&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;p&gt;Life is not fixed because nothing changes. Life is fixed because some relations survive continuous change.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;three-forces-push-biology-toward-attractors&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#three-forces-push-biology-toward-attractors&quot; aria-label=&quot;Anchor link for: three-forces-push-biology-toward-attractors&quot;&gt;#&lt;&#x2F;a&gt;Three Forces Push Biology Toward Attractors&lt;&#x2F;h2&gt;
&lt;p&gt;First, dissipation. Living systems are open and dissipative. They burn free energy and shed entropy. Dissipation contracts phase-space volume, so trajectories collapse onto lower-dimensional sets.&lt;&#x2F;p&gt;
&lt;p&gt;Second, negative feedback. Insulin and glucagon, thermoregulation, baroreflexes, and many gene-regulatory loops are engineered contractions. Around a viable setpoint, the biology wants something like:&lt;&#x2F;p&gt;
&lt;p&gt;$$|f’(x^\star)|&amp;lt;1.$$&lt;&#x2F;p&gt;
&lt;p&gt;A one-variable caricature makes the point. Let $x_t$ be deviation from a setpoint, such as temperature error. A negative-feedback controller has local form:&lt;&#x2F;p&gt;
&lt;p&gt;$$x_{t+1}=a x_t+\eta_t,$$&lt;&#x2F;p&gt;
&lt;p&gt;where $\eta_t$ is noise. If $|a|&amp;lt;1$, shocks decay geometrically. If $a&amp;gt;1$, shocks amplify. If $a&amp;lt;-1$, correction overshoots so hard that it creates an unstable oscillation. Real physiology is high-dimensional, but the local linear-algebra picture is the same: the eigenvalues of the Jacobian near the viable state must stay inside the unit circle for discrete-time regulation, or have negative real parts for continuous-time regulation.&lt;&#x2F;p&gt;
&lt;p&gt;Third, selection plus death. Death is an absorbing state. A lineage whose vital variables amplify perturbations is removed. We do not observe all possible dynamics. We observe the survivorship-filtered subset that remained inside viable basins of attraction.&lt;&#x2F;p&gt;
&lt;p&gt;This is non-ergodicity in evolutionary form.&lt;&#x2F;p&gt;
&lt;p&gt;The ensemble of possible organisms is enormous. Most architectures do not survive long enough to be sampled through time. The time average over surviving lineages is not the ensemble average over all conceivable biological machines. Selection is not merely optimizing an objective function; it is deleting trajectories that hit the absorbing barrier.&lt;&#x2F;p&gt;
&lt;p&gt;That is why biological stability should not be read as proof of design in the narrow engineering sense. It is often survivorship made visible.&lt;&#x2F;p&gt;
&lt;p&gt;This is the &lt;a href=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;series&#x2F;fixed-point-ladder&#x2F;power-laws-extremistan-and-non-ergodicity&#x2F;&quot;&gt;Kelly criterion&lt;&#x2F;a&gt; wearing a lab coat. In simple multiplicative models, a lineage in a fluctuating environment grows, over generations, not at its average fitness but at the &lt;em&gt;geometric mean&lt;&#x2F;em&gt; of fitness across environments, which is the same $\mathbb{E}[\log,\cdot]$ object the ergodicity essay derived for a gambler avoiding ruin. So evolution favors bet-hedging: a genotype that lowers its arithmetic-mean fitness to raise its geometric mean, spreading germination across years or diversifying offspring, can displace a competitor that is better on average but occasionally crashes to zero. The gambler optimizing long-run wealth and the lineage optimizing long-run survival are solving the same log-growth problem in different domains. Non-ergodicity is not a quirk of finance; it is the mathematics of any system that has to keep multiplying through time without hitting zero.&lt;&#x2F;p&gt;
&lt;p&gt;There is a useful linear-algebra summary. Near a viable state $x^\star$, approximate the biological dynamics by its Jacobian:&lt;&#x2F;p&gt;
&lt;p&gt;$$x_{t+1}-x^\star \approx J(x_t-x^\star).$$&lt;&#x2F;p&gt;
&lt;p&gt;If the eigenvalues of $J$ are inside the unit circle, small perturbations shrink. If one eigenvalue crosses outside, perturbations grow along that direction. If a complex pair crosses the stability boundary, oscillations can appear or destabilize.&lt;&#x2F;p&gt;
&lt;p&gt;This is the same local story as the logistic map and the bifurcation essay. Biology adds noise, many dimensions, delays, and changing parameters, but the first diagnostic is familiar: look at the linearized map and ask whether deviations contract.&lt;&#x2F;p&gt;
&lt;p&gt;That also explains why disease is often dynamical rather than merely material. Hypertension, arrhythmia, autoimmune runaway, cancer growth, seizure, chronic inflammation, metabolic syndrome: in each case, a regulatory loop can move from a stable basin into a different attractor or lose stability in a direction that used to contract.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;development-as-a-bifurcation-diagram&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#development-as-a-bifurcation-diagram&quot; aria-label=&quot;Anchor link for: development-as-a-bifurcation-diagram&quot;&gt;#&lt;&#x2F;a&gt;Development As A Bifurcation Diagram&lt;&#x2F;h2&gt;
&lt;p&gt;Cell fates can be understood as attractors of a gene-regulatory dynamical system. Waddington’s landscape is a basin diagram. Kauffman’s random Boolean networks made this precise enough to simulate.&lt;&#x2F;p&gt;
&lt;p&gt;A morphogen gradient is a slowly moving parameter. As the parameter changes, the landscape changes. One progenitor basin can split into two committed-fate basins.&lt;&#x2F;p&gt;
&lt;p&gt;Development is bifurcation theory with chemistry.&lt;&#x2F;p&gt;
&lt;p&gt;In symbols, write gene-expression state as a vector:&lt;&#x2F;p&gt;
&lt;p&gt;$$x_t=(x_t^{(1)},\ldots,x_t^{(n)}),$$&lt;&#x2F;p&gt;
&lt;p&gt;and the regulatory update as:&lt;&#x2F;p&gt;
&lt;p&gt;$$x_{t+1}=F(x_t;r),$$&lt;&#x2F;p&gt;
&lt;p&gt;where $r$ is a developmental parameter: morphogen concentration, position in tissue, time since fertilization, or signaling context. A cell fate is an attractor of $F$. If the underlying chemistry is continuous in time, read $F$ as the return map or sampled update of the regulatory dynamics, the same move used above for heartbeats and cycles. Differentiation is not the cell discovering a label. It is the trajectory falling into a basin as $r$ changes the shape of the state space.&lt;&#x2F;p&gt;
&lt;p&gt;Canalization means the basin is wide. Noise, mutation, and small environmental differences do not immediately kick the cell into the wrong fate. In dynamical language, selection favors attractors with large basins and strong restoring directions for functions that must be reliable.&lt;&#x2F;p&gt;
&lt;p&gt;A tiny one-dimensional landscape makes the bifurcation visible.&lt;&#x2F;p&gt;
&lt;p&gt;Suppose the state of a cell is summarized by one coordinate $x$, and imagine a potential:&lt;&#x2F;p&gt;
&lt;p&gt;$$V(x;r)=x^4-rx^2.$$&lt;&#x2F;p&gt;
&lt;p&gt;The cell tends to roll downhill:&lt;&#x2F;p&gt;
&lt;p&gt;$$\dot{x}=-\frac{dV}{dx}=-4x^3+2rx.$$&lt;&#x2F;p&gt;
&lt;p&gt;When $r&amp;lt;0$, the potential has one minimum at $x=0$. There is one basin. One fate.&lt;&#x2F;p&gt;
&lt;p&gt;When $r&amp;gt;0$, the center becomes unstable and two minima appear:&lt;&#x2F;p&gt;
&lt;p&gt;$$x=\pm\sqrt{\frac{r}{2}}.$$&lt;&#x2F;p&gt;
&lt;p&gt;Now there are two basins. Two fates.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;simulation-waddington-landscape&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#simulation-waddington-landscape&quot; aria-label=&quot;Anchor link for: simulation-waddington-landscape&quot;&gt;#&lt;&#x2F;a&gt;Simulation: Waddington Landscape&lt;&#x2F;h3&gt;
&lt;figure class=&quot;fixed-point-sim-fig&quot;&gt;
  &lt;div class=&quot;fixed-point-sim&quot; data-sim=&quot;waddington-landscape&quot;&gt;
    &lt;noscript&gt;This interactive simulation needs JavaScript enabled.&lt;&#x2F;noscript&gt;
  &lt;&#x2F;div&gt;
  
  &lt;figcaption&gt;Move the developmental parameter. One basin becomes two, which is the simplest mathematical picture of a progenitor state splitting into committed fates.&lt;&#x2F;figcaption&gt;
  
&lt;&#x2F;figure&gt;
&lt;script defer src=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;js&#x2F;fixed-point-sims.js?h=2f244814799a398bdf5a&quot;&gt;&lt;&#x2F;script&gt;
&lt;p&gt;This is not a realistic model of development. It is a clean local picture of what Waddington’s landscape means. A parameter changes. The attractor structure changes. A single valley splits into two. The trajectory does not choose a fate by reading a label; it falls into one basin or the other as the landscape deforms.&lt;&#x2F;p&gt;
&lt;p&gt;In real development, $x$ is high-dimensional. The coordinates are expression levels, chromatin states, signaling pathways, cell-cell interactions, and mechanical constraints. But the dynamical idea is the same:&lt;&#x2F;p&gt;
&lt;p&gt;$$\text{cell fate}=\text{attractor of a regulatory system}.$$&lt;&#x2F;p&gt;
&lt;p&gt;This is where the &lt;a href=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;series&#x2F;fixed-point-ladder&#x2F;fixed-points-and-attractors&#x2F;&quot;&gt;first two essays&lt;&#x2F;a&gt; return. Development uses fixed points and bifurcations, but not in the toy sense of a single number converging. It uses them in a high-dimensional, noisy, historically constrained state space.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;criticality&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#criticality&quot; aria-label=&quot;Anchor link for: criticality&quot;&gt;#&lt;&#x2F;a&gt;Criticality&lt;&#x2F;h2&gt;
&lt;p&gt;Survival wants deep basins. Computation wants sensitivity.&lt;&#x2F;p&gt;
&lt;p&gt;The variables that must not vary are pinned deep inside attractors. The variables that must process information are often held near criticality, where perturbations propagate without immediately dying and without destroying coherence.&lt;&#x2F;p&gt;
&lt;p&gt;This is the edge-of-chaos idea in biological language:&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;stable enough to persist, sensitive enough to compute.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;Neural avalanches, gene-regulatory networks, immune repertoires, and collective behavior all belong here. Beggs and Plenz, Kauffman, Bialek, Langton, and Bak are all circling the same shape from different sides.&lt;&#x2F;p&gt;
&lt;p&gt;At criticality, a system has no single characteristic scale. Perturbations can remain local, or they can travel across the whole system. Below criticality, signals die too quickly. Above criticality, coherence is destroyed. Near criticality, the system can store information, transmit information, and transform information.&lt;&#x2F;p&gt;
&lt;p&gt;This is the useful meaning of the edge of chaos. Not maximum disorder. Not permanent explosion. The useful region is the boundary where structure persists while remaining responsive.&lt;&#x2F;p&gt;
&lt;p&gt;There are several versions of the claim, and they should not be mixed carelessly.&lt;&#x2F;p&gt;
&lt;p&gt;There is also a live scientific debate here. Criticality is a powerful explanatory frame, but it is not a universal solvent. A power law can come from sampling artifacts, mixtures of hidden variables, optimization under constraints, preferential attachment, or ordinary heterogeneity. Long correlations can be finite-size effects. Neural avalanches can depend on measurement scale and thresholding. So the burden is not merely to point at a broad distribution and say “critical.” The burden is to identify the mechanism, the control parameter, the scaling range, and the alternative explanations.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;claim-1-some-biological-systems-show-critical-signatures&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#claim-1-some-biological-systems-show-critical-signatures&quot; aria-label=&quot;Anchor link for: claim-1-some-biological-systems-show-critical-signatures&quot;&gt;#&lt;&#x2F;a&gt;Claim 1: Some Biological Systems Show Critical Signatures&lt;&#x2F;h3&gt;
&lt;p&gt;This is the most empirical claim, and the most secure. Some biological systems show the textbook measurements of a critical point: power-law avalanches, correlation lengths that grow with the system, scale-free fluctuations, and sharp changes in responsiveness. That these signatures are &lt;em&gt;present&lt;&#x2F;em&gt; is data. What they &lt;em&gt;mean&lt;&#x2F;em&gt; is the contested part, and the contest sharpens with each later claim.&lt;&#x2F;p&gt;
&lt;p&gt;Neural systems are the most famous example. Beggs and Plenz reported neural avalanches whose size distribution is close to the $-3&#x2F;2$ exponent of a critical branching process. In that model, the key number is the branching ratio. If it is below one, activity dies. If it is above one, activity explodes. Near one, activity propagates without immediately vanishing or saturating. That is exactly the critical boundary.&lt;&#x2F;p&gt;
&lt;p&gt;The branching-process toy model is:&lt;&#x2F;p&gt;
&lt;p&gt;$$Z_{t+1}=\sum_{i=1}^{Z_t} X_i,$$&lt;&#x2F;p&gt;
&lt;p&gt;where $Z_t$ is the number of active units and $X_i$ is the number of descendants triggered by active unit $i$. The branching ratio is:&lt;&#x2F;p&gt;
&lt;p&gt;$$\sigma=\mathbb{E}[X_i].$$&lt;&#x2F;p&gt;
&lt;p&gt;If $\sigma&amp;lt;1$, activity dies out. If $\sigma&amp;gt;1$, activity can blow up. At $\sigma=1$, avalanche sizes follow a power law in the ideal model. This is the simplest mathematical reason critical neural dynamics are interesting: criticality maximizes propagation without immediate runaway.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;simulation-branching-criticality&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#simulation-branching-criticality&quot; aria-label=&quot;Anchor link for: simulation-branching-criticality&quot;&gt;#&lt;&#x2F;a&gt;Simulation: Branching Criticality&lt;&#x2F;h3&gt;
&lt;figure class=&quot;fixed-point-sim-fig&quot;&gt;
  &lt;div class=&quot;fixed-point-sim&quot; data-sim=&quot;branching-criticality&quot;&gt;
    &lt;noscript&gt;This interactive simulation needs JavaScript enabled.&lt;&#x2F;noscript&gt;
  &lt;&#x2F;div&gt;
  
  &lt;figcaption&gt;Move the branching ratio. Below one, activity dies; above one, it runs away; near one, avalanches span many scales.&lt;&#x2F;figcaption&gt;
  
&lt;&#x2F;figure&gt;
&lt;script defer src=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;js&#x2F;fixed-point-sims.js?h=2f244814799a398bdf5a&quot;&gt;&lt;&#x2F;script&gt;
&lt;p&gt;Gene-regulatory systems give a second example. Kauffman’s Boolean-network models have a simple control knob: how many other genes each gene depends on. Too few dependencies and the system freezes. Too many and perturbations spread chaotically. Around the critical regime, often summarized in the toy model as connectivity near $K\approx 2$, the network can remain structured while still adapting.&lt;&#x2F;p&gt;
&lt;p&gt;Collective behavior gives a third example. Bialek and collaborators argued that starling flocks sit near a ferromagnetic-style critical point: directional correlations can extend across the whole flock instead of dying at a fixed distance. The flock behaves less like a crowd of independent birds than like a correlated system whose correlation length scales with its size.&lt;&#x2F;p&gt;
&lt;p&gt;The immune system gives a fourth example. Antibody affinity, T-cell receptor diversity, and immune repertoire statistics often show broad, heavy-tailed structure. The cautious claim is not that every such distribution proves a critical point. The useful claim is that immune adaptation lives in the same tradeoff: enough stability to remember, enough sensitivity to respond to unknown perturbations.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;claim-2-criticality-is-computationally-useful&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#claim-2-criticality-is-computationally-useful&quot; aria-label=&quot;Anchor link for: claim-2-criticality-is-computationally-useful&quot;&gt;#&lt;&#x2F;a&gt;Claim 2: Criticality Is Computationally Useful&lt;&#x2F;h3&gt;
&lt;p&gt;This is a model claim. It says that systems near the ordered-chaotic boundary can process information better than systems deep in either regime.&lt;&#x2F;p&gt;
&lt;p&gt;Langton made the computational version precise for cellular automata. His $\lambda$ parameter moves systems from frozen order to chaotic disorder. The interesting computational region lies near the edge, where information can be stored, transmitted, and transformed. This is the cleanest theoretical version of the biological intuition: the edge of chaos is not aesthetic language; it is where computation becomes possible.&lt;&#x2F;p&gt;
&lt;p&gt;The intuition is simple. In a frozen system, perturbations vanish too fast. Nothing propagates. In a chaotic system, perturbations spread too fast and destroy usable structure. Near the boundary, signals can travel, interact, and still remain interpretable.&lt;&#x2F;p&gt;
&lt;p&gt;In linear terms, think again about eigenvalues. If every direction contracts strongly, the system forgets too much. If many directions expand strongly, the system becomes unstable. Near marginal stability, where important directions are close to the boundary, perturbations can persist long enough to carry information.&lt;&#x2F;p&gt;
&lt;p&gt;That does not mean every variable should be marginal. Core pH should not live at the edge of chaos. Neural and immune variables may. The body is not one dynamical regime. It is a hierarchy: some variables are pinned, some oscillate, some adapt, and some compute near critical boundaries.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;claim-3-evolution-may-self-organize-near-criticality&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#claim-3-evolution-may-self-organize-near-criticality&quot; aria-label=&quot;Anchor link for: claim-3-evolution-may-self-organize-near-criticality&quot;&gt;#&lt;&#x2F;a&gt;Claim 3: Evolution May Self-Organize Near Criticality&lt;&#x2F;h3&gt;
&lt;p&gt;This is the broadest claim, and the one to hold at arm’s length. It says evolution does not merely produce local attractors but actively tends to park adaptive systems near critical points, because that is where large reorganizations stay possible.&lt;&#x2F;p&gt;
&lt;p&gt;The picture is genuinely attractive. In Bak’s sandpile, the pile is not waiting for one final avalanche; it maintains a slope on which avalanches of every size remain possible. Read evolutionary history in that language and the major transitions, autocatalytic chemistry, prokaryote to eukaryote, unicellular to multicellular, asexual to sexual, organism to superorganism, look like avalanches in a self-maintained critical landscape. Punctuated equilibrium fits the same frame: long stasis is the system resting in a basin, and the punctuations are jumps between basins. Kauffman’s autocatalytic sets supply a candidate mechanism for one such jump. Below a catalytic-density threshold there is chemistry but no self-sustaining closure; above it, a reflexively autocatalytic network maintains itself, a phase transition into a new attractor of organization.&lt;&#x2F;p&gt;
&lt;p&gt;But attractive is not established, and this is the place the series is most likely to overspend its credibility. This rung rests more on analogy than on measurement, so the honest move is to name exactly where the evidence is thin rather than soften every sentence around it:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;The neural-avalanche exponent is contested. Subsampling a network that is not actually critical can manufacture a clean $-3&#x2F;2$ power law, and some cortical recordings fit a slightly subcritical, reverberating regime better than a critical one.&lt;&#x2F;li&gt;
&lt;li&gt;$K\approx 2$ is the critical connectivity of a &lt;em&gt;toy&lt;&#x2F;em&gt; random Boolean network. That real gene-regulatory networks sit at that boundary is a separate claim, with far weaker support than the tidy number implies.&lt;&#x2F;li&gt;
&lt;li&gt;Self-organized criticality as a theory of evolution, the Bak-Sneppen line, is largely a metaphor. The model shows that a toy fitness-replacement rule can self-organize to criticality; it does not show that real evolution, with ecology, development, population structure, and changing environments, does the same. Its grounding in the fossil and genomic record is therefore much thinner than the toy model makes it feel.&lt;&#x2F;li&gt;
&lt;li&gt;The scale-free correlations measured in starling flocks are real and striking; reading them specifically as &lt;em&gt;criticality&lt;&#x2F;em&gt;, rather than as one of several models that produce long correlations, is the step in dispute.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;None of this is a debunking. Criticality remains a productive lens, and Claims 1 and 2 stand on their own. But “evolution aims at the edge of chaos” is a hypothesis wearing the costume of a law, and it should be worn loosely.&lt;&#x2F;p&gt;
&lt;p&gt;What survives every one of these doubts is a weaker, sturdier statement, and it is the one to actually stand behind:&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;biological systems are often organized so that vital variables sit in robust basins, while adaptive and informational variables sit closer to marginal stability.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;That allocation claim asks for no commitment to self-organized criticality as a biological law. It needs only what the earlier essays already earned: feedback makes some directions contract hard, and selection deletes the lineages whose vital variables do not. It also rules out the sloppy version,&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;life is chaos.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;Life is not chaos. Chaos destroys an organism the moment it reaches the wrong variable. The defensible claim is only that living systems allocate stability and sensitivity differently across scales.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;what-is-being-fixed&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#what-is-being-fixed&quot; aria-label=&quot;Anchor link for: what-is-being-fixed&quot;&gt;#&lt;&#x2F;a&gt;What Is Being Fixed?&lt;&#x2F;h2&gt;
&lt;p&gt;At this point the word “fixed” can mislead.&lt;&#x2F;p&gt;
&lt;p&gt;The fixed object is not a frozen organism. It is a pattern of recurrence across time scales.&lt;&#x2F;p&gt;
&lt;p&gt;At the fast physiological scale, variables return to viable ranges:&lt;&#x2F;p&gt;
&lt;p&gt;$$x_t\in V.$$&lt;&#x2F;p&gt;
&lt;p&gt;At the developmental scale, cells fall into reproducible fate basins:&lt;&#x2F;p&gt;
&lt;p&gt;$$x_{t+1}=F(x_t;r)\longrightarrow A_r.$$&lt;&#x2F;p&gt;
&lt;p&gt;At the evolutionary scale, lineages that leave viability disappear:&lt;&#x2F;p&gt;
&lt;p&gt;$$\text{trajectory hits death}\Rightarrow\text{removed from future sampling}.$$&lt;&#x2F;p&gt;
&lt;p&gt;At the reproductive scale, the description-interpreter loop repeats:&lt;&#x2F;p&gt;
&lt;p&gt;$$C(G,E)\longrightarrow (C’,G’).$$&lt;&#x2F;p&gt;
&lt;p&gt;These are different invariants. Confusing them makes the thesis vague. Keeping them separate makes the thesis stronger: biology is not one fixed point, but a stack of invariant structures that operate at different time scales.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;life-as-a-double-fixed-point&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#life-as-a-double-fixed-point&quot; aria-label=&quot;Anchor link for: life-as-a-double-fixed-point&quot;&gt;#&lt;&#x2F;a&gt;Life As A Double Fixed Point&lt;&#x2F;h2&gt;
&lt;p&gt;Life is where the two engines meet.&lt;&#x2F;p&gt;
&lt;p&gt;Engine A drags the organism onto dynamical attractors: homeostasis, rhythms, development, tissue identity.&lt;&#x2F;p&gt;
&lt;p&gt;Engine B appears because DNA is self-description embedded inside the system that reads and copies it. A cell contains both a description and the machinery that interprets the description.&lt;&#x2F;p&gt;
&lt;p&gt;In rough form:&lt;&#x2F;p&gt;
&lt;p&gt;$$\operatorname{eval}(\text{genome}) \approx \text{organism containing genome}.$$&lt;&#x2F;p&gt;
&lt;p&gt;That is not a casual metaphor. It is the biological version of the self-reproduction problem studied by von Neumann: tape plus universal constructor. The genome is not the organism, just as a program is not the machine executing it. But the organism contains machinery that reads the genome, constructs the proteins that maintain the machinery, and reproduces the genome into the next system.&lt;&#x2F;p&gt;
&lt;p&gt;A more careful schematic is:&lt;&#x2F;p&gt;
&lt;p&gt;$$C(G,E)\longrightarrow (C’,G’),$$&lt;&#x2F;p&gt;
&lt;p&gt;where $G$ is the genome, $C$ is the cellular machinery, and $E$ is the environment. Reproduction succeeds when:&lt;&#x2F;p&gt;
&lt;p&gt;$$G’\approx G$$&lt;&#x2F;p&gt;
&lt;p&gt;and the new machinery $C’$ can read $G’$ again. The fixed point is therefore not a static object. It is a closed reproductive loop: description produces interpreter, interpreter copies description, and the resulting system can repeat the loop.&lt;&#x2F;p&gt;
&lt;p&gt;Life is a self-describing system that is also a stable attractor of its own dynamics.&lt;&#x2F;p&gt;
&lt;p&gt;That is the double fixed point:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;Dynamically, the organism survives by remaining inside viable attractors.&lt;&#x2F;li&gt;
&lt;li&gt;Recursively, the organism reproduces by carrying an encoded description that participates in constructing another system carrying the description.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;The deep fact about life is not merely that it is stable. Many dead systems are stable. The deep fact is that stability and self-description coincide.&lt;&#x2F;p&gt;
&lt;p&gt;The caveat is important. DNA is not a blueprint in the naive sense. A blueprint can be read by an external builder. A genome is read by machinery that is itself partly produced under genomic control and partly inherited from the previous cell. The interpreter is not outside the system.&lt;&#x2F;p&gt;
&lt;p&gt;That is why the better analogy is not blueprint but quine-like loop.&lt;&#x2F;p&gt;
&lt;p&gt;A quine works because code and interpreter cooperate. A genome works because genome, ribosome, membranes, enzymes, cellular architecture, and environment form a closed enough loop to produce another loop of the same kind.&lt;&#x2F;p&gt;
&lt;p&gt;This is where biology is deeper than ordinary dynamical stability. A whirlpool is an attractor, but it does not encode a description that helps produce future whirlpools. A crystal can replicate structure, but it does not contain an internally interpreted program for building the machinery that continues the process. Life combines:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;attractor structure,&lt;&#x2F;li&gt;
&lt;li&gt;metabolism and dissipation,&lt;&#x2F;li&gt;
&lt;li&gt;inherited description,&lt;&#x2F;li&gt;
&lt;li&gt;an interpreter for that description,&lt;&#x2F;li&gt;
&lt;li&gt;reproduction of both description and interpreter.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;That combination is why life belongs after the self-reference essay. It is more than an example of Engine A: it is the first real-world system in the series where Engine A and Engine B visibly cooperate.&lt;&#x2F;p&gt;
&lt;p&gt;The most precise final statement is:&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;a living system is a dissipative attractor that carries an encoded description participating in the reproduction of another dissipative attractor of the same kind.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;The twelfth lesson:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Life is a double fixed point: a dissipative attractor that also encodes and reproduces the description needed to rebuild itself.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;That sentence is less romantic than “life is a fixed point,” but it is closer to the mathematics.&lt;&#x2F;p&gt;
&lt;p&gt;The invariant summary of this essay is:&lt;&#x2F;p&gt;
&lt;p&gt;$$
x_t\in V
$$&lt;&#x2F;p&gt;
&lt;p&gt;for fast viable physiological variables;&lt;&#x2F;p&gt;
&lt;p&gt;$$
x_{t+1}=F(x_t;r)\longrightarrow A_r
$$&lt;&#x2F;p&gt;
&lt;p&gt;for development and fate basins; and&lt;&#x2F;p&gt;
&lt;p&gt;$$
C(G,E)\longrightarrow(C’,G’),\qquad G’\approx G
$$&lt;&#x2F;p&gt;
&lt;p&gt;for reproduction. Life is where those invariants coexist: a body must remain in viable attractors while carrying an internal description that helps produce another viable body.&lt;&#x2F;p&gt;
&lt;aside class=&quot;toolkit&quot;&gt;
  &lt;p class=&quot;toolkit-label&quot;&gt;Takeaway&lt;&#x2F;p&gt;
  &lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Space:&lt;&#x2F;strong&gt; organism state together with its genome.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Transformation:&lt;&#x2F;strong&gt; dissipative dynamics that hold the body in viable states, plus self-reproduction.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Invariant object:&lt;&#x2F;strong&gt; a double fixed point, an attractor of the body plus a quine-like reproductive loop.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Failure mode:&lt;&#x2F;strong&gt; death, loss of canalization, runaway instability.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;

&lt;&#x2F;aside&gt;
&lt;h2 id=&quot;further-reading&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#further-reading&quot; aria-label=&quot;Anchor link for: further-reading&quot;&gt;#&lt;&#x2F;a&gt;Further Reading&lt;&#x2F;h2&gt;
&lt;ol&gt;
&lt;li&gt;Stuart Kauffman, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Stuart_Kauffman&quot;&gt;&lt;em&gt;The Origins of Order&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;. Attractors, Boolean networks, autocatalysis, and self-organization in biology.&lt;&#x2F;li&gt;
&lt;li&gt;C. H. Waddington, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Conrad_Hal_Waddington&quot;&gt;&lt;em&gt;The Strategy of the Genes&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;. The source of the developmental landscape metaphor.&lt;&#x2F;li&gt;
&lt;li&gt;John Beggs and Dietmar Plenz, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1523&#x2F;JNEUROSCI.23-35-11167.2003&quot;&gt;&lt;em&gt;Neuronal avalanches in neocortical circuits&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (2003). The neural criticality reference.&lt;&#x2F;li&gt;
&lt;li&gt;William Bialek et al., &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1073&#x2F;pnas.1118633109&quot;&gt;&lt;em&gt;Statistical mechanics for natural flocks of birds&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (2012). Scale-free correlations in collective behavior.&lt;&#x2F;li&gt;
&lt;li&gt;John von Neumann, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Theory_of_Self-Reproducing_Automata&quot;&gt;&lt;em&gt;Theory of Self-Reproducing Automata&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;. The computational ancestor of the genome-as-description story.&lt;&#x2F;li&gt;
&lt;li&gt;Per Bak, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Per_Bak&quot;&gt;&lt;em&gt;How Nature Works&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;. The popular route into self-organized criticality.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Logic, Self-Reference, and Category Theory</title>
        <published>2025-06-12T00:00:00+00:00</published>
        <updated>2025-06-12T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://federicocarrone.com/series/fixed-point-ladder/logic-self-reference-and-category-theory/"/>
        <id>https://federicocarrone.com/series/fixed-point-ladder/logic-self-reference-and-category-theory/</id>
        
        <content type="html" xml:base="https://federicocarrone.com/series/fixed-point-ladder/logic-self-reference-and-category-theory/">&lt;p&gt;The &lt;a href=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;series&#x2F;fixed-point-ladder&#x2F;number-theory-and-recurrence&#x2F;&quot;&gt;previous essay&lt;&#x2F;a&gt; followed the first engine, iteration, to its end. A rule applied again and again produces fixed points, attractors, invariant measures, scaling laws, and finally the invariant tori of KAM theory, held together or torn apart by the arithmetic of a single frequency. Through all of it, arithmetic stayed &lt;em&gt;outside&lt;&#x2F;em&gt; the system. Integers counted returns. Continued fractions measured resonance. The numbers were a ruler we held up against the motion.&lt;&#x2F;p&gt;
&lt;p&gt;This essay turns the hinge. It uses arithmetic the second way: not as a ruler held against the system, but as a &lt;em&gt;language the system speaks about itself.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;That turn is the whole subject. The same integers that count returns going around a clock can count symbols inside a formula, because a formula is just a finite string of symbols, and a finite string can be packed into a single number. Once that is possible, a system can encode descriptions of its own statements, rules, and programs, and then act on those descriptions. We call that &lt;strong&gt;representational closure&lt;&#x2F;strong&gt;, and it is the threshold of the second engine: &lt;strong&gt;self-reference&lt;&#x2F;strong&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;The payoff is a new family of fixed points. Not attractors and tori, but Gödel sentences, undecidable programs, quines, the Y combinator, and recursive types. The fixed-point &lt;em&gt;question&lt;&#x2F;em&gt; survives the change of engine intact, “what transformation acts here, and what does it leave invariant?”, even though the machinery that answers it is entirely new. By the end, a single categorical theorem due to Lawvere will show Gödel, Turing, Cantor, and Russell to be one argument in four disguises.&lt;&#x2F;p&gt;
&lt;p&gt;This is the point where the word “fixed point” changes level. Earlier, a fixed point was a state that a rule did not move:&lt;&#x2F;p&gt;
&lt;p&gt;$$
f(x^\star)=x^\star.
$$&lt;&#x2F;p&gt;
&lt;p&gt;Here, a fixed point is a represented object that survives being fed through a rule about its own representation:&lt;&#x2F;p&gt;
&lt;p&gt;$$
\text{object}\simeq\text{transformation}(\text{description of that object}).
$$&lt;&#x2F;p&gt;
&lt;p&gt;That is why the phrase reappears without being redundant. Engine A found fixed points by repeating a rule on states. Engine B finds fixed points, or proves their impossibility, by letting descriptions act on themselves.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-minimum-vocabulary&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#the-minimum-vocabulary&quot; aria-label=&quot;Anchor link for: the-minimum-vocabulary&quot;&gt;#&lt;&#x2F;a&gt;The Minimum Vocabulary&lt;&#x2F;h2&gt;
&lt;p&gt;A &lt;strong&gt;formal system&lt;&#x2F;strong&gt; is a rule-governed language for making proofs. It has symbols, formulas, axioms, and rules of inference that turn formulas into other formulas. Arithmetic, the theory of $0$, successor, addition, and multiplication, is the formal system we will care about, because it is strong enough to be turned on itself.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Encoding&lt;&#x2F;strong&gt; means representing one kind of object as another. The encoding at the heart of this essay is &lt;strong&gt;Gödel numbering&lt;&#x2F;strong&gt;: assigning a number to every formula and every proof, so that statements &lt;em&gt;about&lt;&#x2F;em&gt; formulas become statements &lt;em&gt;about&lt;&#x2F;em&gt; numbers. Once syntax is encoded as arithmetic, arithmetic can talk about syntax.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Diagonalization&lt;&#x2F;strong&gt; is the self-reference move, and it recurs so often it deserves a name. You take a construction meant to range over a collection of objects, and you feed it an object built from itself. Sometimes this produces a useful fixed point. Sometimes it produces a contradiction, and the contradiction becomes an impossibility theorem. Cantor, Gödel, Turing, and Russell are all this one move.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Representational closure&lt;&#x2F;strong&gt; is the threshold condition: the moment a system can represent enough of its own expressions, rules, or maps for self-application to become possible. Below the threshold, self-reference is just informal wordplay. Above it, it is mathematics.&lt;&#x2F;p&gt;
&lt;p&gt;A &lt;strong&gt;category&lt;&#x2F;strong&gt;, introduced near the end, is the bookkeeping of objects, arrows between them, and a way to compose arrows. It is the language in which all the self-reference theorems turn out to be the same theorem.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;two-engines-recalled&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#two-engines-recalled&quot; aria-label=&quot;Anchor link for: two-engines-recalled&quot;&gt;#&lt;&#x2F;a&gt;Two Engines, Recalled&lt;&#x2F;h2&gt;
&lt;p&gt;A quick restating of the architecture, because this essay opens the series’ second half.&lt;&#x2F;p&gt;
&lt;p&gt;The claim has never been that everything is the same object. It is that &lt;strong&gt;two mechanisms keep forcing invariant objects to appear.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;The first is &lt;strong&gt;iteration&lt;&#x2F;strong&gt;: take a rule $x\mapsto f(x)$ and apply it repeatedly. That alone produced the first four essays. The system does not represent itself; it is simply turned.&lt;&#x2F;p&gt;
&lt;p&gt;The second is &lt;strong&gt;self-reference&lt;&#x2F;strong&gt;: a system rich enough to represent its own expressions, maps, or proofs, and then apply transformations to those representations. This is the engine of the present essay.&lt;&#x2F;p&gt;
&lt;p&gt;Both engines run the same discipline:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;choose a &lt;strong&gt;space&lt;&#x2F;strong&gt;,&lt;&#x2F;li&gt;
&lt;li&gt;choose a &lt;strong&gt;transformation&lt;&#x2F;strong&gt;,&lt;&#x2F;li&gt;
&lt;li&gt;apply it repeatedly, or let it act on its own representations,&lt;&#x2F;li&gt;
&lt;li&gt;ask what remains &lt;strong&gt;invariant&lt;&#x2F;strong&gt;,&lt;&#x2F;li&gt;
&lt;li&gt;study whether that invariant is stable, unstable, universal, pathological, or expressive.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;A fixed point is the simplest invariant, $T(x)=x$. But invariance can also mean a set maps into itself, a distribution keeps its shape under rescaling, a torus survives perturbation, a sentence talks about its own code, or a type unfolds into one layer plus another copy of itself.&lt;&#x2F;p&gt;
&lt;p&gt;The two engines are related but not interchangeable, and the difference is exactly representation:&lt;&#x2F;p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Engine&lt;&#x2F;th&gt;&lt;th&gt;Basic act&lt;&#x2F;th&gt;&lt;th&gt;Threshold&lt;&#x2F;th&gt;&lt;th&gt;Fixed objects&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;Iteration&lt;&#x2F;td&gt;&lt;td&gt;apply a rule again&lt;&#x2F;td&gt;&lt;td&gt;nonlinear repeated dynamics&lt;&#x2F;td&gt;&lt;td&gt;attractors, invariant sets, invariant measures, scaling laws&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Self-reference&lt;&#x2F;td&gt;&lt;td&gt;apply a represented rule to itself&lt;&#x2F;td&gt;&lt;td&gt;enough internal representation&lt;&#x2F;td&gt;&lt;td&gt;Gödel sentences, quines, recursive programs, recursive types&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;p&gt;One theorem sits deepest in the self-reference column, and stating it up front gives the rest of the essay something to aim at. It is Lawvere’s, and informally it says:&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;once a system can represent its own maps richly enough, fixed points are unavoidable.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;The contrapositive is just as important, and it is where the impossibility theorems come from:&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;if some transformation has no fixed point, then no representation system can be that complete.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;That single sentence, read forwards and backwards, is the skeleton behind Cantor, Gödel, Turing, and Tarski, whose theorem says a system strong enough for arithmetic cannot define its own truth. Boolean negation, “swap true and false,” has no fixed point. “Do the opposite of whatever the decider says” has no fixed point. “This sentence is not provable” is the same obstruction written in the language of proof. Self-reference is &lt;em&gt;generative&lt;&#x2F;em&gt; when the relevant fixed point exists, and it becomes a &lt;em&gt;limit theorem&lt;&#x2F;em&gt; when the fixed point cannot exist. We will earn that sentence properly by the end.&lt;&#x2F;p&gt;
&lt;p&gt;One honest caveat about the boundary between the engines. Some iterated systems can become powerful enough to compute, and at that point they cross into representation. Rule 110, a one-dimensional cellular automaton with a trivially simple local update, is rich enough to simulate any computation. So the line between “merely iterated” and “self-referential” is not a wall; iteration can climb into representation. But the distinction still earns its keep: chaos is not automatically self-reference, and self-reference is not automatically chaos. Keeping them separate is what let the first four essays stay clean.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;why-logic-suddenly-appears&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#why-logic-suddenly-appears&quot; aria-label=&quot;Anchor link for: why-logic-suddenly-appears&quot;&gt;#&lt;&#x2F;a&gt;Why Logic Suddenly Appears&lt;&#x2F;h2&gt;
&lt;p&gt;Gödel’s discovery, stripped to a sentence, is that &lt;strong&gt;whenever a formal system can talk about its own statements, self-reference appears, and self-reference forces fixed points.&lt;&#x2F;strong&gt; Getting there requires seeing how a system talks about itself, which is the encoding trick.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;encoding-syntax-as-numbers&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#encoding-syntax-as-numbers&quot; aria-label=&quot;Anchor link for: encoding-syntax-as-numbers&quot;&gt;#&lt;&#x2F;a&gt;Encoding syntax as numbers&lt;&#x2F;h3&gt;
&lt;p&gt;Recall what a formal system contains: symbols, formulas (strings of symbols), and proofs (lists of formulas). Gödel’s move was to notice that arithmetic, which obviously talks about numbers, can be made to talk about all of &lt;em&gt;that&lt;&#x2F;em&gt; too, by giving everything a number.&lt;&#x2F;p&gt;
&lt;p&gt;There are two levels in play, and naming them prevents confusion:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;the &lt;strong&gt;object language&lt;&#x2F;strong&gt;, where ordinary arithmetic statements live (“$2+2=4$”),&lt;&#x2F;li&gt;
&lt;li&gt;the &lt;strong&gt;meta-language&lt;&#x2F;strong&gt;, where we talk about formulas, proofs, and provability (“such-and-such string is a valid proof”).&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;Gödel showed that a sufficiently strong arithmetic can internalize part of its own meta-language: it can represent statements about formulas as statements about numbers. That representation is &lt;strong&gt;Gödel numbering&lt;&#x2F;strong&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;The idea is far less mysterious if you first do it crudely. Assign a number to each symbol:&lt;&#x2F;p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Symbol&lt;&#x2F;th&gt;&lt;th&gt;Code&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;$0$&lt;&#x2F;td&gt;&lt;td&gt;1&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;$S$&lt;&#x2F;td&gt;&lt;td&gt;2&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;$+$&lt;&#x2F;td&gt;&lt;td&gt;3&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;$=$&lt;&#x2F;td&gt;&lt;td&gt;4&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;$($&lt;&#x2F;td&gt;&lt;td&gt;5&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;$)$&lt;&#x2F;td&gt;&lt;td&gt;6&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;p&gt;A formula is a finite string of symbols, hence a finite list of these numbers. A proof is a finite list of formulas, hence a finite list of lists of numbers. The only remaining trick is to pack a finite list of numbers into a single number, and there are standard ways to do it. Gödel used prime factorization. The list&lt;&#x2F;p&gt;
&lt;p&gt;$$a_1,a_2,\ldots,a_n$$&lt;&#x2F;p&gt;
&lt;p&gt;becomes&lt;&#x2F;p&gt;
&lt;p&gt;$$2^{a_1}3^{a_2}5^{a_3}\cdots p_n^{a_n}.$$&lt;&#x2F;p&gt;
&lt;p&gt;Because every integer factors into primes in exactly one way, the original list can always be recovered from the product: read off the exponent of $2$, then of $3$, then of $5$, and so on. The encoding is reversible, which is the only property that matters. Any string of syntax can be stored inside a single integer, and pulled back out.&lt;&#x2F;p&gt;
&lt;p&gt;Now the consequence. Once formulas and proofs &lt;em&gt;are&lt;&#x2F;em&gt; numbers, properties of syntax become properties of numbers. “This string is a well-formed formula” becomes an arithmetic property of an integer. “This list of formulas is a valid proof of that formula” becomes an arithmetic relation between two integers. Concretely, write&lt;&#x2F;p&gt;
&lt;p&gt;$$\operatorname{Proof}(p,g)$$&lt;&#x2F;p&gt;
&lt;p&gt;to mean “the number $p$ codes a proof of the formula whose code is $g$.” This looks like a statement about proofs, but after encoding it is an ordinary arithmetic relation, checkable by arithmetic. And then provability itself becomes arithmetic:&lt;&#x2F;p&gt;
&lt;p&gt;$$\operatorname{Provable}(g)\equiv \exists p,\operatorname{Proof}(p,g),$$&lt;&#x2F;p&gt;
&lt;p&gt;read as “there exists some number $p$ that codes a proof of $g$.” This is the crucial turn. Provability sounds like a notion that lives in the meta-language, outside the system. After Gödel numbering, the system can express it internally. Arithmetic can talk about what arithmetic can prove.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;the-diagonal-in-its-rawest-form&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#the-diagonal-in-its-rawest-form&quot; aria-label=&quot;Anchor link for: the-diagonal-in-its-rawest-form&quot;&gt;#&lt;&#x2F;a&gt;The diagonal, in its rawest form&lt;&#x2F;h3&gt;
&lt;p&gt;Before Gödel’s sentence, look at the move underneath it with no logic attached at all. Suppose someone claims to have listed every yes&#x2F;no property of the natural numbers, one property per row:&lt;&#x2F;p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;&lt;&#x2F;th&gt;&lt;th&gt;0&lt;&#x2F;th&gt;&lt;th&gt;1&lt;&#x2F;th&gt;&lt;th&gt;2&lt;&#x2F;th&gt;&lt;th&gt;3&lt;&#x2F;th&gt;&lt;th&gt;…&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;$P_0$&lt;&#x2F;td&gt;&lt;td&gt;1&lt;&#x2F;td&gt;&lt;td&gt;0&lt;&#x2F;td&gt;&lt;td&gt;1&lt;&#x2F;td&gt;&lt;td&gt;1&lt;&#x2F;td&gt;&lt;td&gt;…&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;$P_1$&lt;&#x2F;td&gt;&lt;td&gt;0&lt;&#x2F;td&gt;&lt;td&gt;0&lt;&#x2F;td&gt;&lt;td&gt;1&lt;&#x2F;td&gt;&lt;td&gt;0&lt;&#x2F;td&gt;&lt;td&gt;…&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;$P_2$&lt;&#x2F;td&gt;&lt;td&gt;1&lt;&#x2F;td&gt;&lt;td&gt;1&lt;&#x2F;td&gt;&lt;td&gt;1&lt;&#x2F;td&gt;&lt;td&gt;0&lt;&#x2F;td&gt;&lt;td&gt;…&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;$P_3$&lt;&#x2F;td&gt;&lt;td&gt;0&lt;&#x2F;td&gt;&lt;td&gt;1&lt;&#x2F;td&gt;&lt;td&gt;0&lt;&#x2F;td&gt;&lt;td&gt;0&lt;&#x2F;td&gt;&lt;td&gt;…&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;p&gt;Now build a new property $D$ by walking down the diagonal and flipping each entry:&lt;&#x2F;p&gt;
&lt;p&gt;$$D(n)=1-P_n(n).$$&lt;&#x2F;p&gt;
&lt;p&gt;By construction $D$ disagrees with $P_0$ at input $0$, with $P_1$ at input $1$, with $P_2$ at input $2$, and so on down the list. So $D$ differs from every row in at least one place, which means $D$ was never on the list. The claim to have listed &lt;em&gt;all&lt;&#x2F;em&gt; properties fails. That is Cantor’s diagonal argument, and it is the seed of everything in this essay: take the object indexed by $n$, ask what it says about $n$, and then transform that answer. Diagonalization is the place where representation (indexing objects by $n$) meets self-application (asking object $n$ about $n$).&lt;&#x2F;p&gt;
&lt;h3 id=&quot;godel-s-sentence-as-a-fixed-point&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#godel-s-sentence-as-a-fixed-point&quot; aria-label=&quot;Anchor link for: godel-s-sentence-as-a-fixed-point&quot;&gt;#&lt;&#x2F;a&gt;Gödel’s sentence as a fixed point&lt;&#x2F;h3&gt;
&lt;p&gt;Gödel’s construction is a richer version of that flip. The technical engine is the &lt;strong&gt;diagonal lemma&lt;&#x2F;strong&gt;, which says, roughly, that for any property of codes $\varphi(x)$ you can write down, there is a sentence $G$ that asserts that property &lt;em&gt;of its own code&lt;&#x2F;em&gt;:&lt;&#x2F;p&gt;
&lt;p&gt;$$G \leftrightarrow \varphi(\ulcorner G\urcorner).$$&lt;&#x2F;p&gt;
&lt;p&gt;The corner brackets $\ulcorner G\urcorner$ mean “the code number of the sentence $G$.” So the diagonal lemma is a fixed-point factory: hand it any property of codes, and it returns a sentence that is true exactly when that property holds of itself. The sentence $G$ is a fixed point of the operation “take a code, build a statement about that code.”&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;articles&#x2F;fixed-point-diagonalization.svg&quot; alt=&quot;A diagram showing how a sentence is encoded as a number, fed into a formula template, and becomes a self-referential fixed point&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Now feed the factory the one property that detonates. Let&lt;&#x2F;p&gt;
&lt;p&gt;$$\varphi(x)=\text{``the sentence coded by }x\text{ is not provable.‘’}$$&lt;&#x2F;p&gt;
&lt;p&gt;The diagonal lemma hands back a sentence $G$ with&lt;&#x2F;p&gt;
&lt;p&gt;$$G \leftrightarrow \text{``}G\text{ is not provable.‘’}$$&lt;&#x2F;p&gt;
&lt;p&gt;That is Gödel’s sentence: a statement asserting, in effect, &lt;em&gt;I am not provable in this system.&lt;&#x2F;em&gt; If the system could prove it, the system would prove a falsehood; if the system is sound, meaning it proves only true statements, it cannot prove $G$, so $G$ is true but unprovable. The system is incomplete, not by a gap that better axioms could fill, but because its own capacity for self-reference manufactured a true sentence it cannot reach.&lt;&#x2F;p&gt;
&lt;p&gt;The same diagonal skeleton appears across the subject with the property $\varphi$ swapped out:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Gödel feeds it “not provable” and gets an unprovable truth.&lt;&#x2F;li&gt;
&lt;li&gt;Turing feeds it “the program that halts here does not” and gets the undecidability of the halting problem.&lt;&#x2F;li&gt;
&lt;li&gt;A quine feeds it the print-yourself operation and gets a program that outputs its own source.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Turing’s entry compresses a construction worth seeing once. Suppose a program $H$ could decide halting: given any program $p$ and input $x$, it answers whether $p$ eventually stops when run on $x$. Build a contrarian program $D$ that, handed a program’s code $p$, asks $H$ what $p$ does when fed its own code, and then does the opposite: $D$ loops forever where $H$ predicts halting, and stops where $H$ predicts looping. Now run $D$ on its own code. If $H$ says it halts, it loops; if $H$ says it loops, it halts. Either way $H$ is wrong, so no such $H$ can exist. The halting problem is undecidable, and the proof is Cantor’s flip with “halts on itself” in place of “is on the list.”&lt;&#x2F;p&gt;
&lt;h3 id=&quot;from-logic-to-running-code-quines-and-the-y-combinator&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#from-logic-to-running-code-quines-and-the-y-combinator&quot; aria-label=&quot;Anchor link for: from-logic-to-running-code-quines-and-the-y-combinator&quot;&gt;#&lt;&#x2F;a&gt;From logic to running code: quines and the Y combinator&lt;&#x2F;h3&gt;
&lt;p&gt;The logical version is intimidating; the programming version is friendly, and it is the &lt;em&gt;same&lt;&#x2F;em&gt; fixed point. A &lt;strong&gt;quine&lt;&#x2F;strong&gt; is a program $q$ that prints its own source code. Writing $\operatorname{eval}$ for “run the program,” a quine satisfies&lt;&#x2F;p&gt;
&lt;p&gt;$$\operatorname{eval}(q)=q.$$&lt;&#x2F;p&gt;
&lt;p&gt;It is literally a fixed point of the run-and-print pipeline. The trick is exactly the diagonal lemma’s: the program holds a representation of itself as data, and then uses that data to reconstruct itself. Here is the whole idea in three lines of Python, small enough to read:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;python&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;template&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; =&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt; &amp;#39;template = &lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;{&lt;&#x2F;span&gt;&lt;span class=&quot;z-storage z-type&quot;&gt;!r&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;}\n&lt;&#x2F;span&gt;&lt;span class=&quot;z-string z-punctuation z-definition z-string&quot;&gt;print(template.format(template))&amp;#39;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-support&quot;&gt;print&lt;&#x2F;span&gt;&lt;span&gt;(template.format(template))&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;The string &lt;code&gt;template&lt;&#x2F;code&gt; is a description of the program. The last line inserts that description into itself and prints the result, which is the program’s own source. Nothing mystical happens. The program can refer to itself because it can hold a representation of itself and feed that representation back into its own rule. That is representational closure made small enough to run.&lt;&#x2F;p&gt;
&lt;p&gt;Kleene’s &lt;strong&gt;recursion theorem&lt;&#x2F;strong&gt; is the general statement behind quines: for any computable transformation you might apply to programs, there is a program that obtains its own description and feeds it into that transformation. Programs can always be made to know their own code.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;simulation-diagonal-fixed-point-toy&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#simulation-diagonal-fixed-point-toy&quot; aria-label=&quot;Anchor link for: simulation-diagonal-fixed-point-toy&quot;&gt;#&lt;&#x2F;a&gt;Simulation: Diagonal Fixed Point Toy&lt;&#x2F;h3&gt;
&lt;figure class=&quot;fixed-point-sim-fig&quot;&gt;
  &lt;div class=&quot;fixed-point-sim&quot; data-sim=&quot;diagonal&quot;&gt;
    &lt;noscript&gt;This interactive simulation needs JavaScript enabled.&lt;&#x2F;noscript&gt;
  &lt;&#x2F;div&gt;
  
  &lt;figcaption&gt;A self-referential fixed point appears when a representation is fed back into the rule that interprets it.&lt;&#x2F;figcaption&gt;
  
&lt;&#x2F;figure&gt;
&lt;script defer src=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;js&#x2F;fixed-point-sims.js?h=2f244814799a398bdf5a&quot;&gt;&lt;&#x2F;script&gt;
&lt;p&gt;The most famous fixed point in all of programming is the &lt;strong&gt;Y combinator&lt;&#x2F;strong&gt;, which lives in the lambda calculus, the minimal language of functions. It satisfies&lt;&#x2F;p&gt;
&lt;p&gt;$$Yf=f(Yf).$$&lt;&#x2F;p&gt;
&lt;p&gt;Stare at that for a second: $Yf$ is left unchanged when you apply $f$ to it one more time. It is a genuine fixed-point equation, but for &lt;em&gt;functions&lt;&#x2F;em&gt; rather than numbers. Its purpose is to make recursion possible without ever naming a function. Normally a recursive definition says “define this function in terms of itself,” which seems to require the function to already have a name to refer to. The Y combinator dissolves that apparent circularity into an explicit fixed point: it builds the self-reference out of pure function application. It is the computational sibling of the diagonal lemma, and, as we will see, the type-theoretic sibling of recursive types.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;the-same-move-five-times&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#the-same-move-five-times&quot; aria-label=&quot;Anchor link for: the-same-move-five-times&quot;&gt;#&lt;&#x2F;a&gt;The same move, five times&lt;&#x2F;h3&gt;
&lt;p&gt;So diagonalization keeps reappearing because it is one structural idea, not five coincidences:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;Cantor diagonalizes against lists of real numbers.&lt;&#x2F;li&gt;
&lt;li&gt;Gödel diagonalizes against provability.&lt;&#x2F;li&gt;
&lt;li&gt;Turing diagonalizes against halting deciders.&lt;&#x2F;li&gt;
&lt;li&gt;Quines diagonalize against the separation of source and output.&lt;&#x2F;li&gt;
&lt;li&gt;Lawvere, shortly, abstracts the diagonal itself.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;The common shape is always: a system rich enough to encode its own elements, and a transformation that can be turned back on that encoding.&lt;&#x2F;p&gt;
&lt;p&gt;Here is the dictionary between this essay and the iteration engine of the earlier ones. In dynamics, you repeatedly apply a function to a state, $x\mapsto f(x)$. In logic, you encode a statement as a number and build a new statement about that number, $n\mapsto\varphi(\ulcorner n\urcorner)$. The diagonal step feeds the code of the constructed statement back into the construction, which is self-application, the logical analog of iteration.&lt;&#x2F;p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Dynamics&lt;&#x2F;th&gt;&lt;th&gt;Logic&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;state $x$&lt;&#x2F;td&gt;&lt;td&gt;sentence&#x2F;code $g$&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;rule $f$&lt;&#x2F;td&gt;&lt;td&gt;formula template $\varphi(x)$&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;iterate $f(x)$&lt;&#x2F;td&gt;&lt;td&gt;substitute a code into a formula&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;fixed point $f(x^\star)=x^\star$&lt;&#x2F;td&gt;&lt;td&gt;self-referential sentence $G\leftrightarrow\varphi(\ulcorner G\urcorner)$&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;stability or instability&lt;&#x2F;td&gt;&lt;td&gt;consistency, incompleteness, undecidability&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;p&gt;Different domain, same structure. A system has enough internal expressive power to turn a rule back on its own objects, and once it does, fixed points appear. In dynamics they are attractors and cycles. In logic they are self-referential sentences. In computation they are programs that refer to their own source.&lt;&#x2F;p&gt;
&lt;p&gt;The tenth lesson:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Self-reference generates fixed points in logic just as iteration generates fixed points in dynamics.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;The bridge from number theory to logic is coding. Number theory hands you arithmetic objects; Gödel shows those objects can encode syntax; once syntax is encoded, statements can point at themselves through their own codes. Before Gödel, arithmetic looks like a subject about numbers. After Gödel, arithmetic is also a medium in which a formal system represents its own grammar, a mirror in which it can see its own sentences.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;why-category-theory-appears&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#why-category-theory-appears&quot; aria-label=&quot;Anchor link for: why-category-theory-appears&quot;&gt;#&lt;&#x2F;a&gt;Why Category Theory Appears&lt;&#x2F;h2&gt;
&lt;p&gt;Once you have watched fixed points fall out of Banach contractions, Gödel sentences, Turing machines, fractals, renormalization, programming languages, and recursive types, a natural question forms:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;What is the most general setting in which fixed points must exist?&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;That question is what category theory is for, here. It is not abstraction for sport; it is the search for the smallest assumptions that still force a fixed point.&lt;&#x2F;p&gt;
&lt;p&gt;You do not need a course in category theory for what follows. The only habit to borrow is this: when the objects get too different, compare the arrows. A dynamical map, a program, a proof translation, and a type constructor are not the same kind of thing, but each is a transformation that can be composed with another transformation.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;just-enough-category-theory&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#just-enough-category-theory&quot; aria-label=&quot;Anchor link for: just-enough-category-theory&quot;&gt;#&lt;&#x2F;a&gt;Just enough category theory&lt;&#x2F;h3&gt;
&lt;p&gt;A &lt;strong&gt;category&lt;&#x2F;strong&gt; is a deliberately spare structure:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;objects,&lt;&#x2F;li&gt;
&lt;li&gt;arrows between objects,&lt;&#x2F;li&gt;
&lt;li&gt;a way to compose arrows.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;That is all. In the category of sets, objects are sets and arrows are functions. In a category of types, objects are types and arrows are programs. In a category of spaces, objects are spaces and arrows are structure-preserving maps. The trick of category theory is to study a subject by its arrows rather than by what its objects are made of: not “what is inside this object” but “what maps into it, what it maps to, and how those maps compose.”&lt;&#x2F;p&gt;
&lt;p&gt;That viewpoint fits here because every essay in this series has been about a transformation acting on a space:&lt;&#x2F;p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Essay object&lt;&#x2F;th&gt;&lt;th&gt;Transformation&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;state&lt;&#x2F;td&gt;&lt;td&gt;dynamical map&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;set&lt;&#x2F;td&gt;&lt;td&gt;Hutchinson operator&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;distribution&lt;&#x2F;td&gt;&lt;td&gt;renormalization &#x2F; coarse-graining&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;frequency vector&lt;&#x2F;td&gt;&lt;td&gt;perturbative conjugacy equation&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;sentence code&lt;&#x2F;td&gt;&lt;td&gt;formula template&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;program&lt;&#x2F;td&gt;&lt;td&gt;evaluation&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;type&lt;&#x2F;td&gt;&lt;td&gt;functor&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;p&gt;Category theory keeps the transformation and deliberately forgets the material. Forgetting sounds like a loss, but it is what exposes the skeleton: if you stop asking what the objects are made of and keep only how the maps compose, the parts of the fixed-point arguments that were really the same become visibly the same.&lt;&#x2F;p&gt;
&lt;p&gt;The one operation a category insists on is &lt;strong&gt;composition&lt;&#x2F;strong&gt;. If&lt;&#x2F;p&gt;
&lt;p&gt;$$A\xrightarrow{f}B\xrightarrow{g}C,$$&lt;&#x2F;p&gt;
&lt;p&gt;then there is a composite arrow&lt;&#x2F;p&gt;
&lt;p&gt;$$A\xrightarrow{g\circ f}C.$$&lt;&#x2F;p&gt;
&lt;p&gt;That is already enough to model pipelines, dynamics, program execution, proof translation, and change of coordinates, because each of those is “do one thing, then do the next.”&lt;&#x2F;p&gt;
&lt;h3 id=&quot;functors-and-the-fixed-points-that-are-data-structures&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#functors-and-the-fixed-points-that-are-data-structures&quot; aria-label=&quot;Anchor link for: functors-and-the-fixed-points-that-are-data-structures&quot;&gt;#&lt;&#x2F;a&gt;Functors and the fixed points that are data structures&lt;&#x2F;h3&gt;
&lt;p&gt;A &lt;strong&gt;functor&lt;&#x2F;strong&gt; is a map between categories that preserves this structure. For a programmer, the cleanest mental model is a type constructor that also knows how to map functions. Take&lt;&#x2F;p&gt;
&lt;p&gt;$$F(X)=1+A\times X.$$&lt;&#x2F;p&gt;
&lt;p&gt;Read the right side as a choice: &lt;em&gt;either&lt;&#x2F;em&gt; the single empty case (the $1$), &lt;em&gt;or&lt;&#x2F;em&gt; a pair of an $A$ and an $X$ (the $A\times X$). If $A$ is the type of elements, then $X$ is the placeholder for “the rest of the list.” That is exactly the shape of a list: a list is either empty, or it is one element of type $A$ followed by another list. The functor $F$ captures “one layer of list-ness.”&lt;&#x2F;p&gt;
&lt;p&gt;An &lt;strong&gt;algebra&lt;&#x2F;strong&gt; for a functor $F$ is an object $X$ together with a way to collapse one layer $F(X)$ back down into $X$:&lt;&#x2F;p&gt;
&lt;p&gt;$$F(X)\to X.$$&lt;&#x2F;p&gt;
&lt;p&gt;For lists, that means: given either “empty” or “an element plus a list,” produce a list. An inductive data type is the &lt;em&gt;initial&lt;&#x2F;em&gt; such algebra, where initial means every other algebra receives exactly one structure-respecting map from it; it is the category’s way of saying “the smallest one, with nothing extra added.” The initial algebra is a fixed point of the functor. The type of finite lists, written $\mu F$, satisfies&lt;&#x2F;p&gt;
&lt;p&gt;$$\mu F \cong 1 + A\times \mu F,$$&lt;&#x2F;p&gt;
&lt;p&gt;which is the equation “a list is either empty, or an element of $A$ paired with another list,” now read as a fixed-point equation for &lt;em&gt;types&lt;&#x2F;em&gt;. The symbol $\cong$ means the two sides are the same type up to relabeling.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;articles&#x2F;fixed-point-recursive-types.svg&quot; alt=&quot;A diagram showing the list type as the fixed point of the functor F(X)=1+A times X&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;simulation-recursive-type-unfolding&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#simulation-recursive-type-unfolding&quot; aria-label=&quot;Anchor link for: simulation-recursive-type-unfolding&quot;&gt;#&lt;&#x2F;a&gt;Simulation: Recursive Type Unfolding&lt;&#x2F;h3&gt;
&lt;figure class=&quot;fixed-point-sim-fig&quot;&gt;
  &lt;div class=&quot;fixed-point-sim&quot; data-sim=&quot;recursive&quot;&gt;
    &lt;noscript&gt;This interactive simulation needs JavaScript enabled.&lt;&#x2F;noscript&gt;
  &lt;&#x2F;div&gt;
  
  &lt;figcaption&gt;A finite list is built by repeatedly unfolding List(A) = 1 + A x List(A) until the empty case stops the recursion.&lt;&#x2F;figcaption&gt;
  
&lt;&#x2F;figure&gt;
&lt;script defer src=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;js&#x2F;fixed-point-sims.js?h=2f244814799a398bdf5a&quot;&gt;&lt;&#x2F;script&gt;
&lt;p&gt;The notation $\mu F$ means “the &lt;em&gt;least&lt;&#x2F;em&gt; fixed point of $F$,” and “least” is doing real work. It is the order-theoretic fixed-point story from the &lt;a href=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;series&#x2F;fixed-point-ladder&#x2F;fixed-points-and-attractors&#x2F;&quot;&gt;first essay&lt;&#x2F;a&gt; returning in type form. Knaster and Tarski proved that monotone maps on complete lattices have least and greatest fixed points; Kleene showed that, under the right continuity assumptions, you can &lt;em&gt;build&lt;&#x2F;em&gt; the least one by starting from the bottom and iterating upward. A recursive type is built the same way: start with no values, apply the constructor pattern, apply it again, and take the smallest stable solution.&lt;&#x2F;p&gt;
&lt;p&gt;For lists, the upward construction is concrete and worth seeing:&lt;&#x2F;p&gt;
&lt;div class=&quot;display-math&quot;&gt;$$\begin{aligned}
X_0 &amp;amp;= \varnothing, \\
X_1 &amp;amp;= 1+A\times X_0, \\
X_2 &amp;amp;= 1+A\times X_1, \\
X_3 &amp;amp;= 1+A\times X_2.
\end{aligned}$$&lt;&#x2F;div&gt;
&lt;p&gt;$X_0$ contains no lists at all. $X_1$ contains only the empty list. $X_2$ adds the one-element lists. $X_3$ adds lists of length at most two. Iterating forever, the union of all stages is the least fixed point: exactly the finite lists, and nothing infinite. This is why “least” matters. The same equation $X\cong 1+A\times X$ also has larger solutions if you permit infinite or circular objects; the inductive list type deliberately picks the smallest, which keeps every list finite. It is Kleene’s “iterate up from the bottom” in a different category, and it is the same convergence-from-below picture as a contraction settling onto its fixed point in the first essay.&lt;&#x2F;p&gt;
&lt;p&gt;The pattern is now familiar enough to tabulate:&lt;&#x2F;p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Earlier&lt;&#x2F;th&gt;&lt;th&gt;Category &#x2F; type version&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;number $x$&lt;&#x2F;td&gt;&lt;td&gt;type $X$&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;function $f(x)$&lt;&#x2F;td&gt;&lt;td&gt;functor $F(X)$&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;fixed point $x^\star=f(x^\star)$&lt;&#x2F;td&gt;&lt;td&gt;recursive type $\mu F\cong F(\mu F)$&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;iteration builds convergence&lt;&#x2F;td&gt;&lt;td&gt;constructors build finite data&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;h3 id=&quot;coalgebras-the-same-idea-run-forever&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#coalgebras-the-same-idea-run-forever&quot; aria-label=&quot;Anchor link for: coalgebras-the-same-idea-run-forever&quot;&gt;#&lt;&#x2F;a&gt;Coalgebras: the same idea, run forever&lt;&#x2F;h3&gt;
&lt;p&gt;There is a dual story for &lt;em&gt;infinite&lt;&#x2F;em&gt; behavior. A &lt;strong&gt;coalgebra&lt;&#x2F;strong&gt; has the arrow turned around:&lt;&#x2F;p&gt;
&lt;p&gt;$$X\to F(X).$$&lt;&#x2F;p&gt;
&lt;p&gt;Instead of collapsing one layer into an object, it &lt;em&gt;unfolds&lt;&#x2F;em&gt; an object into one observable layer plus a next state. Streams are the clean example. An infinite stream of values,&lt;&#x2F;p&gt;
&lt;p&gt;$$a_0,a_1,a_2,\ldots,$$&lt;&#x2F;p&gt;
&lt;p&gt;is described by the functor $F(X)=A\times X$ (“a head value, plus the rest”), and a stream is a value of the &lt;em&gt;terminal&lt;&#x2F;em&gt; coalgebra, terminal meaning every other coalgebra maps into it uniquely, the category’s way of saying “the largest one,”&lt;&#x2F;p&gt;
&lt;p&gt;$$\nu F \cong A\times \nu F,$$&lt;&#x2F;p&gt;
&lt;p&gt;read as “a stream is a head element of type $A$ together with another stream.” Unlike a list, there is no empty case to stop it. It unfolds forever.&lt;&#x2F;p&gt;
&lt;p&gt;The practical distinction is simple. An algebra builds finite data by consuming one layer at a time. A coalgebra observes an ongoing system by exposing one layer and a next state. Lists are algebraic; streams, automata, and state machines are coalgebraic.&lt;&#x2F;p&gt;
&lt;p&gt;So the algebra&#x2F;coalgebra split mirrors a distinction the series has circled before: inductive construction builds finite objects from base cases, while coinductive observation describes ongoing processes observed through time. Both are fixed points of functors, $\mu F$ and $\nu F$, the least and the greatest. And the coalgebraic shape, $\text{state}\to\text{observation plus next state}$, is exactly a dynamical system: automata, transition systems, infinite processes, and feedback loops all fit it. Category theory turns out to be the language in which recursive data and ongoing dynamics are two readings of one fixed-point idea, which is why it can sit at the seam between the logic of this essay and the living, trading systems of the next two.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;lawvere-s-theorem-the-bare-diagonal&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#lawvere-s-theorem-the-bare-diagonal&quot; aria-label=&quot;Anchor link for: lawvere-s-theorem-the-bare-diagonal&quot;&gt;#&lt;&#x2F;a&gt;Lawvere’s theorem: the bare diagonal&lt;&#x2F;h3&gt;
&lt;p&gt;Now we can state the result the whole essay has been aiming at. &lt;strong&gt;Lawvere’s fixed-point theorem&lt;&#x2F;strong&gt; abstracts the diagonal argument into pure category theory: under suitable conditions, if a category contains enough self-description, fixed points follow. It is why one theorem family touches Gödel, Turing, Cantor, Russell, and program recursion at once.&lt;&#x2F;p&gt;
&lt;p&gt;The skeleton it isolates is four steps:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;objects can represent maps,&lt;&#x2F;li&gt;
&lt;li&gt;represented maps can be evaluated,&lt;&#x2F;li&gt;
&lt;li&gt;evaluation can be diagonalized,&lt;&#x2F;li&gt;
&lt;li&gt;diagonalization forces a fixed point.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;In less compressed language: if a system can name every operation on itself, then one of those named operations can be fed its own name. That self-application is the diagonal move. Lawvere’s theorem says that, under the right structural assumptions, this move forces a fixed point.&lt;&#x2F;p&gt;
&lt;p&gt;One informal phrasing: &lt;em&gt;if every function $A\to B$ can be represented by some element of $A$, then every map $B\to B$ has a fixed point.&lt;&#x2F;em&gt; Let me earn that in set-theoretic clothing, slowly, because the proof is just the diagonal argument with the decoration stripped off.&lt;&#x2F;p&gt;
&lt;p&gt;Suppose there is a surjective map&lt;&#x2F;p&gt;
&lt;p&gt;$$\phi:A\to B^A,$$&lt;&#x2F;p&gt;
&lt;p&gt;where $B^A$ means “the functions from $A$ to $B$.” Surjective means every such function appears as $\phi(a)$ for some $a$; this is the “enough self-description” hypothesis, that $A$ is rich enough to name all the functions $A\to B$. Now take &lt;em&gt;any&lt;&#x2F;em&gt; map $\alpha:B\to B$ and define a new function&lt;&#x2F;p&gt;
&lt;p&gt;$$g(a)=\alpha(\phi(a)(a)).$$&lt;&#x2F;p&gt;
&lt;p&gt;Read $\phi(a)(a)$ as: take the function named by $a$, and feed it $a$ itself, the diagonal move. Then apply $\alpha$. Since $g$ is a function $A\to B$, and $\phi$ names every such function, we have $g=\phi(a_0)$ for some particular $a_0$. Evaluate everything at that $a_0$:&lt;&#x2F;p&gt;
&lt;p&gt;$$\phi(a_0)(a_0)=g(a_0)=\alpha(\phi(a_0)(a_0)).$$&lt;&#x2F;p&gt;
&lt;p&gt;So the value $b=\phi(a_0)(a_0)$ satisfies $b=\alpha(b)$. It is a fixed point of $\alpha$. We did not assume $\alpha$ had one; the richness of $\phi$ manufactured it.&lt;&#x2F;p&gt;
&lt;p&gt;Now run the implication &lt;em&gt;backwards&lt;&#x2F;em&gt;, and the impossibility theorems fall out for free. Take $B={0,1}$ and let $\alpha$ be Boolean negation, which famously has no fixed point (swap $0$ and $1$ and nothing stays put). Lawvere’s theorem then forbids the hypothesis: there can be &lt;em&gt;no&lt;&#x2F;em&gt; surjection $A\to{0,1}^A$. That is Cantor’s theorem, that no set surjects onto its own power set. Gödel, Turing, and Russell are the same move with a richer $B$ and a different fixed-point-free $\alpha$: negate provability, flip the halting decider, negate membership. Russell’s version is worth one sentence, since the essay has not built it yet: form the set of all sets that do not contain themselves, and ask whether it contains itself. Each answer forces the other. That is the diagonal with membership as the flipped property, and it is why naive set theory had to be rebuilt. One theorem, read forward for the positive fixed points and backward for the impossibility results.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;simulation-lawvere-diagram&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#simulation-lawvere-diagram&quot; aria-label=&quot;Anchor link for: simulation-lawvere-diagram&quot;&gt;#&lt;&#x2F;a&gt;Simulation: Lawvere Diagram&lt;&#x2F;h3&gt;
&lt;figure class=&quot;fixed-point-sim-fig&quot;&gt;
  &lt;div class=&quot;fixed-point-sim&quot; data-sim=&quot;lawvere&quot;&gt;
    &lt;noscript&gt;This interactive simulation needs JavaScript enabled.&lt;&#x2F;noscript&gt;
  &lt;&#x2F;div&gt;
  
  &lt;figcaption&gt;Replay the categorical skeleton: representation gives evaluation, evaluation gives the diagonal, and the diagonal either forces a fixed point or proves that complete self-representation was impossible.&lt;&#x2F;figcaption&gt;
  
&lt;&#x2F;figure&gt;
&lt;script defer src=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;js&#x2F;fixed-point-sims.js?h=2f244814799a398bdf5a&quot;&gt;&lt;&#x2F;script&gt;
&lt;p&gt;The parallel with Gödel is exact once you line them up:&lt;&#x2F;p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Lawvere proof&lt;&#x2F;th&gt;&lt;th&gt;Gödel proof&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;element $a$ represents a function&lt;&#x2F;td&gt;&lt;td&gt;number $g$ represents a formula&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;evaluate $\phi(a)(a)$&lt;&#x2F;td&gt;&lt;td&gt;substitute a formula’s code into itself&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;apply $\alpha:B\to B$&lt;&#x2F;td&gt;&lt;td&gt;negate provability or transform a property&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;surjectivity&#x2F;representation gives a fixed point&lt;&#x2F;td&gt;&lt;td&gt;the diagonal lemma gives $G\leftrightarrow\varphi(\ulcorner G\urcorner)$&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;p&gt;Gödel did not secretly use category theory; historically he could not have. What category theory adds comes later and from a different direction: it isolates the &lt;em&gt;shape&lt;&#x2F;em&gt; of his argument and shows it was never really about formulas, machines, or sets. It was about a structural configuration: objects representing arrows, arrows composing, and a diagonal that feeds representation back into evaluation.&lt;&#x2F;p&gt;
&lt;p&gt;The eleventh lesson:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Category theory is the general language for recurring fixed-point structures.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;The bridge from logic to category theory is forgetting the substrate. Gödel talks about formulas, Turing about machines, programming languages about recursive types, dynamics about iterated maps, renormalization about operators, probability about scale-invariant distributions. Category theory asks what remains once you erase the local material and keep only the arrows. That is abstraction as &lt;em&gt;compression&lt;&#x2F;em&gt;, not decoration: if the same proof shape appears in logic, computation, and set theory, then perhaps the proof was never about any of their particular contents. Depending on the setting, the fixed point it forces shows up as a Gödel sentence, an undecidable program, a recursive definition, a paradox, an initial algebra, or a terminal coalgebra. What is common is the skeleton.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-theoretical-arc-is-complete&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#the-theoretical-arc-is-complete&quot; aria-label=&quot;Anchor link for: the-theoretical-arc-is-complete&quot;&gt;#&lt;&#x2F;a&gt;The Theoretical Arc Is Complete&lt;&#x2F;h2&gt;
&lt;p&gt;We have now seen fixed points as the limits of iteration, the attractors of dynamics, the invariant sets of chaos, the scaling laws of distributions, the small-divisor constraints of arithmetic, and the diagonal fixed points of logic and computation. Both engines have been laid out: iteration, which turns a rule until something invariant survives, and self-reference, which lets a system act on its own description until a fixed point becomes unavoidable.&lt;&#x2F;p&gt;
&lt;p&gt;This is the place to say exactly why the two engines rhyme, and exactly why they are not the same. A Hutchinson attractor contains scaled copies of itself because a contractive rule on compact sets satisfies $K=\mathcal{H}(K)$. A Gödel sentence contains a claim about its own code because arithmetic can encode syntax and feed that code back into a formula template. Both produce an infinite regress from a fixed-point equation: copies inside copies on the geometric side, descriptions of descriptions on the logical side. But the theorems are different. The Hutchinson attractor does not refer to itself; the iterated function system describes nothing. The Gödel sentence does not stretch, fold, or contract a metric space. The ladder connects them because both are fixed-point phenomena, not because they are secretly the same object.&lt;&#x2F;p&gt;
&lt;p&gt;There is one transition left to make carefully, and it is the move from blackboard to world.&lt;&#x2F;p&gt;
&lt;p&gt;Formal self-reference happens when a system contains a description of one of its own expressions and can feed that description back into its rules. Living systems and markets are not formal systems, but they have the same three structural ingredients: an internal description, an interpreter for it, and feedback from the interpreter into the system’s future state.&lt;&#x2F;p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;System&lt;&#x2F;th&gt;&lt;th&gt;Internal description&lt;&#x2F;th&gt;&lt;th&gt;Interpreter&lt;&#x2F;th&gt;&lt;th&gt;Feedback&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;Logic&lt;&#x2F;td&gt;&lt;td&gt;Gödel code of a sentence&lt;&#x2F;td&gt;&lt;td&gt;proof rules&lt;&#x2F;td&gt;&lt;td&gt;provability statements&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Program&lt;&#x2F;td&gt;&lt;td&gt;source code&lt;&#x2F;td&gt;&lt;td&gt;evaluator&#x2F;compiler&lt;&#x2F;td&gt;&lt;td&gt;execution and recursion&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Cell&lt;&#x2F;td&gt;&lt;td&gt;genome&lt;&#x2F;td&gt;&lt;td&gt;cellular machinery&lt;&#x2F;td&gt;&lt;td&gt;development and reproduction&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Market&lt;&#x2F;td&gt;&lt;td&gt;model, price, strategy&lt;&#x2F;td&gt;&lt;td&gt;traders and capital&lt;&#x2F;td&gt;&lt;td&gt;orders changing prices&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;p&gt;This table is the bridge from formal self-reference to the lived world. A cell is not a theorem, and a market is not a lambda term. But each contains descriptions that participate in the very dynamics they describe. That is why the &lt;a href=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;series&#x2F;fixed-point-ladder&#x2F;life-as-a-double-fixed-point&#x2F;&quot;&gt;last two essays&lt;&#x2F;a&gt; are not appendices stapled to a math survey. They are where the two engines visibly run together:&lt;&#x2F;p&gt;
&lt;p&gt;Engine A supplies the attractor structure. Bodies hold themselves inside viable states; markets move through regimes.&lt;&#x2F;p&gt;
&lt;p&gt;Engine B supplies the representational loop. Genomes help build the organisms that carry genomes; market models help create the prices that update the market models.&lt;&#x2F;p&gt;
&lt;p&gt;The final two essays apply this skeleton to the two self-referential systems we actually live inside: biology and markets.&lt;&#x2F;p&gt;
&lt;aside class=&quot;toolkit&quot;&gt;
  &lt;p class=&quot;toolkit-label&quot;&gt;Takeaway&lt;&#x2F;p&gt;
  &lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Space:&lt;&#x2F;strong&gt; syntax encoded as numbers, and categories of types or representable maps.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Transformation:&lt;&#x2F;strong&gt; diagonal self-application, a functor $F$, or Lawvere’s abstract diagonal.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Invariant object:&lt;&#x2F;strong&gt; a self-referential sentence or program, a recursive type $\mu F$ or $\nu F$, a forced fixed point.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Failure mode:&lt;&#x2F;strong&gt; incompleteness, undecidability, paradox, nontermination.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;

&lt;&#x2F;aside&gt;
&lt;h2 id=&quot;further-reading&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#further-reading&quot; aria-label=&quot;Anchor link for: further-reading&quot;&gt;#&lt;&#x2F;a&gt;Further Reading&lt;&#x2F;h2&gt;
&lt;p&gt;For logic, computation, and self-reference:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;Kurt Gödel, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1007&#x2F;BF01700692&quot;&gt;&lt;em&gt;On formally undecidable propositions of Principia Mathematica and related systems&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (1931). The incompleteness paper, where self-reference first becomes a theorem.&lt;&#x2F;li&gt;
&lt;li&gt;Alan Turing, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1112&#x2F;plms&#x2F;s2-42.1.230&quot;&gt;&lt;em&gt;On computable numbers, with an application to the Entscheidungsproblem&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (1936). The halting problem and the modern idea of computation.&lt;&#x2F;li&gt;
&lt;li&gt;Alfred Tarski, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Tarski%27s_undefinability_theorem&quot;&gt;&lt;em&gt;The concept of truth in formalized languages&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (1936). Undefinability: a system strong enough for arithmetic cannot define its own truth.&lt;&#x2F;li&gt;
&lt;li&gt;Douglas Hofstadter, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;G%C3%B6del,_Escher,_Bach&quot;&gt;&lt;em&gt;Gödel, Escher, Bach&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;. Not the most formal source, but still one of the best ways to feel why self-reference matters.&lt;&#x2F;li&gt;
&lt;li&gt;Raymond Smullyan, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Raymond_Smullyan&quot;&gt;&lt;em&gt;Gödel’s Incompleteness Theorems&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;. A gentler logical path into diagonalization.&lt;&#x2F;li&gt;
&lt;li&gt;Haskell Curry and Robert Feys, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Combinatory_logic&quot;&gt;&lt;em&gt;Combinatory Logic&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;. A classical source for fixed-point combinators.&lt;&#x2F;li&gt;
&lt;li&gt;Henk Barendregt, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Lambda_calculus&quot;&gt;&lt;em&gt;The Lambda Calculus&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;. The standard reference for lambda calculus and the Y combinator.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;For category theory and the general shape of fixed points:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;F. William Lawvere, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http:&#x2F;&#x2F;www.tac.mta.ca&#x2F;tac&#x2F;reprints&#x2F;articles&#x2F;15&#x2F;tr15abs.html&quot;&gt;&lt;em&gt;Diagonal arguments and cartesian closed categories&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (1969). The categorical abstraction of diagonalization that unifies Gödel, Turing, and Cantor.&lt;&#x2F;li&gt;
&lt;li&gt;Joachim Lambek, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1007&#x2F;BF01110627&quot;&gt;&lt;em&gt;A fixpoint theorem for complete categories&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (1968). The source of the algebraic view of recursive types.&lt;&#x2F;li&gt;
&lt;li&gt;Steve Awodey, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;global.oup.com&#x2F;academic&#x2F;product&#x2F;category-theory-9780199237180&quot;&gt;&lt;em&gt;Category Theory&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;. A clean modern introduction.&lt;&#x2F;li&gt;
&lt;li&gt;Benjamin Pierce, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Benjamin_C._Pierce&quot;&gt;&lt;em&gt;Basic Category Theory for Computer Scientists&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;. Short, practical, and good for programmers.&lt;&#x2F;li&gt;
&lt;li&gt;Bart Jacobs, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1017&#x2F;CBO9781316823187&quot;&gt;&lt;em&gt;Introduction to Coalgebra&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;. A route from coalgebras to state-based systems and infinite behavior.&lt;&#x2F;li&gt;
&lt;li&gt;Alfred Tarski, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.2140&#x2F;pjm.1955.5.285&quot;&gt;&lt;em&gt;A lattice-theoretical fixpoint theorem and its applications&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (1955). The order-theoretic fixed-point theorem behind many least and greatest fixed-point constructions.&lt;&#x2F;li&gt;
&lt;li&gt;Stephen Kleene, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Stephen_Cole_Kleene&quot;&gt;&lt;em&gt;Introduction to Metamathematics&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;. A classical source for computability and iterative least fixed points.&lt;&#x2F;li&gt;
&lt;li&gt;L. E. J. Brouwer, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1007&#x2F;BF01456931&quot;&gt;&lt;em&gt;Uber Abbildung von Mannigfaltigkeiten&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (1911), and Shizuo Kakutani, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1215&#x2F;S0012-7094-41-00838-4&quot;&gt;&lt;em&gt;A generalization of Brouwer’s fixed point theorem&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (1941). The topological and set-valued fixed-point theorems behind equilibrium arguments.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Number Theory and the Arithmetic of Recurrence</title>
        <published>2025-06-11T00:00:00+00:00</published>
        <updated>2025-06-11T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://federicocarrone.com/series/fixed-point-ladder/number-theory-and-recurrence/"/>
        <id>https://federicocarrone.com/series/fixed-point-ladder/number-theory-and-recurrence/</id>
        
        <content type="html" xml:base="https://federicocarrone.com/series/fixed-point-ladder/number-theory-and-recurrence/">&lt;p&gt;The &lt;a href=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;series&#x2F;fixed-point-ladder&#x2F;fixed-points-and-attractors&#x2F;&quot;&gt;first three essays&lt;&#x2F;a&gt; were about one engine: iteration. A rule is applied again and again, and invariant objects appear. Fixed points. Attractors. Invariant sets. Invariant measures. Scaling laws. None of those systems knew anything about themselves. The logistic map does not contain its own formula. It is a rule being turned, and we watched what the turning left behind.&lt;&#x2F;p&gt;
&lt;p&gt;This essay is still about that engine, but it follows it to a place that looks, at first, like a different subject entirely: number theory.&lt;&#x2F;p&gt;
&lt;p&gt;The reason number theory has to enter is simple once you say it out loud. &lt;strong&gt;The moment a system repeats in time, integers appear.&lt;&#x2F;strong&gt; One cycle. Two cycles. Three. “Come back after $q$ steps.” “Line up after $p$ turns of one oscillator and $q$ turns of another.” Repetition is counting, and counting is arithmetic. So as soon as we take the single trajectory seriously, asking whether it returns, how nearly it returns, and how often, we are doing number theory whether we meant to or not.&lt;&#x2F;p&gt;
&lt;p&gt;That is the whole content of this essay. Whether a motion is stable can come down to whether a single ratio is rational, and if it is irrational, &lt;em&gt;how&lt;&#x2F;em&gt; irrational it is. By the end, a frequency being “hard to approximate by fractions” will be the difference between a structure that survives a disturbance and one that disintegrates.&lt;&#x2F;p&gt;
&lt;p&gt;There is also a second, deeper role for arithmetic waiting at the far end. The same integers that count returns can also be used to &lt;em&gt;encode&lt;&#x2F;em&gt; things: formulas, programs, proofs. When that happens, a system can begin to act on descriptions of itself, and the series changes engines. But that is the &lt;a href=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;series&#x2F;fixed-point-ladder&#x2F;logic-self-reference-and-category-theory&#x2F;&quot;&gt;next essay&lt;&#x2F;a&gt;. Here, arithmetic is still the clock and the ruler of dynamics, not yet a language a system speaks about itself.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-minimum-vocabulary&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#the-minimum-vocabulary&quot; aria-label=&quot;Anchor link for: the-minimum-vocabulary&quot;&gt;#&lt;&#x2F;a&gt;The Minimum Vocabulary&lt;&#x2F;h2&gt;
&lt;p&gt;A &lt;strong&gt;frequency&lt;&#x2F;strong&gt; is a rate of rotation or oscillation: how many full turns or cycles happen per unit of time. A clock hand has a frequency. A planet orbiting the sun has one. A pendulum has one.&lt;&#x2F;p&gt;
&lt;p&gt;Two frequencies are &lt;strong&gt;commensurable&lt;&#x2F;strong&gt; if their ratio is a rational number, like $2&#x2F;3$ or $7&#x2F;4$. They are &lt;strong&gt;incommensurable&lt;&#x2F;strong&gt; if their ratio is irrational, like $\sqrt{2}$ or the golden ratio. This distinction will turn out to decide whether two repeating motions ever line up again exactly.&lt;&#x2F;p&gt;
&lt;p&gt;A &lt;strong&gt;resonance&lt;&#x2F;strong&gt; occurs when integer combinations of frequencies nearly cancel:&lt;&#x2F;p&gt;
&lt;p&gt;$$k\cdot\omega\approx 0.$$&lt;&#x2F;p&gt;
&lt;p&gt;Do not let the notation hide the picture. $\omega$ is a list of frequencies, $k$ is a list of whole numbers, and the dot product asks: is there a small whole-number recipe that makes these frequencies almost cancel out? When the answer is yes, a small push delivered at the right rhythm can build up instead of averaging away. A child on a swing learns this physically: push at the right frequency and small pushes accumulate into a large arc.&lt;&#x2F;p&gt;
&lt;p&gt;For a first intuition from linear algebra, think of solving a system of equations and finding a denominator that is nearly zero. The answer blows up. Near-resonances are exactly the places where the denominators of perturbation theory become nearly zero, and so the corrections blow up. We will make that precise later.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Diophantine approximation&lt;&#x2F;strong&gt; is the part of number theory that asks how well an irrational number can be approximated by fractions $p&#x2F;q$. This is the technical heart of the essay. Near-rational frequencies create near-returns, near-returns create near-resonances, and near-resonances decide stability. So “how close is this number to a fraction?” is not idle arithmetic. It is the control parameter.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;two-engines-and-why-this-one-reaches-arithmetic&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#two-engines-and-why-this-one-reaches-arithmetic&quot; aria-label=&quot;Anchor link for: two-engines-and-why-this-one-reaches-arithmetic&quot;&gt;#&lt;&#x2F;a&gt;Two Engines, And Why This One Reaches Arithmetic&lt;&#x2F;h2&gt;
&lt;p&gt;Before going further, a word on where this essay sits, because the series is about to change character.&lt;&#x2F;p&gt;
&lt;p&gt;The claim of the series has never been that chaos, fractals, power laws, Gödel sentences, and recursive types are secretly the same object. They are not. They live in different mathematical worlds. The claim is narrower and more defensible: &lt;strong&gt;two related mechanisms keep forcing invariant objects to appear.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;The first mechanism is &lt;strong&gt;iteration&lt;&#x2F;strong&gt;. Take a rule,&lt;&#x2F;p&gt;
&lt;p&gt;$$x\mapsto f(x),$$&lt;&#x2F;p&gt;
&lt;p&gt;and apply it over and over. That alone is enough to produce everything in the first three essays: fixed points, attractors, cycles, bifurcations, chaos, fractals, invariant measures, and power-law scaling. The system never represents itself. It is simply turned.&lt;&#x2F;p&gt;
&lt;p&gt;The second mechanism is &lt;strong&gt;self-reference&lt;&#x2F;strong&gt;: a system becomes rich enough to represent its own rules, and then act on those representations. That is the world of Gödel numbering, Turing machines, quines, and recursive types. It is the subject of the next essay, not this one.&lt;&#x2F;p&gt;
&lt;p&gt;This essay is the bridge between them, and number theory is the bridge’s keystone. Here is why. Number theory plays two completely different roles depending on which engine you are running.&lt;&#x2F;p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Role of arithmetic&lt;&#x2F;th&gt;&lt;th&gt;What arithmetic does&lt;&#x2F;th&gt;&lt;th&gt;Engine&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;Timekeeper&lt;&#x2F;td&gt;&lt;td&gt;counts returns, periods, near-returns&lt;&#x2F;td&gt;&lt;td&gt;iteration&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Stability filter&lt;&#x2F;td&gt;&lt;td&gt;controls small denominators in perturbation theory&lt;&#x2F;td&gt;&lt;td&gt;iteration&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Encoding substrate&lt;&#x2F;td&gt;&lt;td&gt;turns formulas and proofs into numbers&lt;&#x2F;td&gt;&lt;td&gt;self-reference&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Self-reference medium&lt;&#x2F;td&gt;&lt;td&gt;lets statements talk about their own codes&lt;&#x2F;td&gt;&lt;td&gt;self-reference&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;p&gt;The top two rows are this essay. Integers count how a repeated motion comes back, and how irrational a frequency is decides whether a structure survives being disturbed. The bottom two rows are the next essay, where the same integers stop being a clock and become an alphabet. Keeping these roles apart is the single most useful habit for reading the rest of the series. The same subject, number theory, hinges the two halves because it can do both jobs.&lt;&#x2F;p&gt;
&lt;p&gt;A fixed point, by itself, is often a dull equation. The mathematics comes alive when you ask how it is reached, how it breaks under a small change, and whether the same shape reappears one level up. That is the spirit of everything below.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;why-number-theory-suddenly-appears&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#why-number-theory-suddenly-appears&quot; aria-label=&quot;Anchor link for: why-number-theory-suddenly-appears&quot;&gt;#&lt;&#x2F;a&gt;Why Number Theory Suddenly Appears&lt;&#x2F;h2&gt;
&lt;p&gt;At first, number theory seems unrelated to dynamics. It is not.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Number theory&lt;&#x2F;strong&gt; is the study of integers and the structures built from them: divisibility, primes, congruences, rational numbers, irrational numbers, and how well one can be approximated by the other. That sounds far from rolling marbles and folding intervals. But recall the observation we started with: the instant a system repeats, integers walk in. One return. Two returns. A motion that closes after $q$ steps. Two oscillators that realign after $p$ turns of one and $q$ of the other. Repetition counts, and counting is the door.&lt;&#x2F;p&gt;
&lt;p&gt;The basic question we need is the simplest one number theory can ask:&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;How close is a real number to a fraction?&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;That is Diophantine approximation, named after Diophantus. We will see that it controls whether a repeating motion comes back near where it started, and how a small disturbance lands when it does.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;a-circle-is-the-simplest-place-repetition-lives&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#a-circle-is-the-simplest-place-repetition-lives&quot; aria-label=&quot;Anchor link for: a-circle-is-the-simplest-place-repetition-lives&quot;&gt;#&lt;&#x2F;a&gt;A circle is the simplest place repetition lives&lt;&#x2F;h3&gt;
&lt;p&gt;To see arithmetic enter, take the cleanest possible repeating system: a point hopping around a circle by a fixed amount each step.&lt;&#x2F;p&gt;
&lt;p&gt;$$\theta_{n+1}=\theta_n+\omega \pmod 1.$$&lt;&#x2F;p&gt;
&lt;p&gt;Read $\theta$ as a position on a clock face, except the clock is normalized so that $0$ and $1$ are the same point, the way 12 o’clock and 0 o’clock are the same place. Each step adds $\omega$ and, when the total passes $1$, wraps back around. The number $\omega$ is the &lt;strong&gt;rotation number&lt;&#x2F;strong&gt;: how far around you move per step. The phrase $\pmod 1$ just means “keep only the fractional part,” because going all the way around brings you back.&lt;&#x2F;p&gt;
&lt;p&gt;This is the one-step version of every clock, orbit, and oscillation in the essay. Everything else is this with more dimensions.&lt;&#x2F;p&gt;
&lt;p&gt;Now ask the only interesting question: does the point ever return exactly to where it started?&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Case one: a rational rotation.&lt;&#x2F;strong&gt; Suppose&lt;&#x2F;p&gt;
&lt;p&gt;$$\omega=\frac{p}{q},$$&lt;&#x2F;p&gt;
&lt;p&gt;a fraction in lowest terms. Then after $q$ steps,&lt;&#x2F;p&gt;
&lt;p&gt;$$\theta_q=\theta_0+q\cdot\frac{p}{q}=\theta_0+p\equiv \theta_0 \pmod 1.$$&lt;&#x2F;p&gt;
&lt;p&gt;The $+p$ is a whole number of full turns, which $\pmod 1$ erases. So the point lands exactly back on its start. The orbit is &lt;strong&gt;periodic&lt;&#x2F;strong&gt;, and its period is the denominator $q$. Rational rotation means exact recurrence. The denominator literally tells you how many steps the cycle takes.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Case two: an irrational rotation.&lt;&#x2F;strong&gt; Suppose $\omega$ is irrational. Then the orbit never returns exactly, because $q\omega$ is never a whole number for any $q$, so $\theta_q$ is never exactly $\theta_0$. But something subtler happens: the orbit comes arbitrarily close to every point on the circle. Given enough steps, it will pass as near as you like to any target. Mathematicians say the orbit is &lt;strong&gt;dense&lt;&#x2F;strong&gt;. It never repeats, yet it eventually visits the whole circle.&lt;&#x2F;p&gt;
&lt;p&gt;So already, from one line of arithmetic, we have three regimes:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;rational rotation: exact recurrence,&lt;&#x2F;li&gt;
&lt;li&gt;irrational rotation: no exact recurrence, but the orbit fills the circle,&lt;&#x2F;li&gt;
&lt;li&gt;&lt;em&gt;well-approximated&lt;&#x2F;em&gt; irrational rotation: no exact recurrence, but very close near-returns.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;The third regime is where the real action is, and it is the one that needs Diophantine approximation to describe. Dynamics often does not care whether a motion returns &lt;em&gt;exactly&lt;&#x2F;em&gt;. It cares whether it returns &lt;em&gt;close enough, often enough,&lt;&#x2F;em&gt; for a small repeated push to add up. That is a question about how well $\omega$ can be approximated by fractions.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;measuring-how-close-to-a-fraction&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#measuring-how-close-to-a-fraction&quot; aria-label=&quot;Anchor link for: measuring-how-close-to-a-fraction&quot;&gt;#&lt;&#x2F;a&gt;Measuring “how close to a fraction”&lt;&#x2F;h3&gt;
&lt;p&gt;For an irrational $\omega$, the precise quantity is&lt;&#x2F;p&gt;
&lt;p&gt;$$|q\omega-p|,$$&lt;&#x2F;p&gt;
&lt;p&gt;asking how small this can be made by choosing integers $p$ and $q$. It measures the gap between $\omega$ and the nearest fraction $p&#x2F;q$, because dividing through by $q$ gives&lt;&#x2F;p&gt;
&lt;p&gt;$$\left|\omega-\frac{p}{q}\right|=\frac{|q\omega-p|}{q}.$$&lt;&#x2F;p&gt;
&lt;p&gt;Why does this number matter dynamically? Because if $|q\omega-p|$ is tiny, then after $q$ rotations the point is extremely close to its start:&lt;&#x2F;p&gt;
&lt;p&gt;$$\theta_q=\theta_0+q\omega\approx \theta_0+p\equiv\theta_0\pmod 1.$$&lt;&#x2F;p&gt;
&lt;p&gt;That is a &lt;strong&gt;near-period&lt;&#x2F;strong&gt;. The motion does not close, but it almost does, and “almost” can be enough. If some small external forcing nudges the system once per rotation, then at a near-period the nudges arrive at nearly the same phase again and again, all pushing in nearly the same direction. Over many near-returns, those aligned pushes accumulate. That accumulation is what “resonance” means, written in the language of arithmetic. A frequency that admits very good rational approximations is a frequency that resonates easily.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;continued-fractions-the-right-ruler-for-irrationality&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#continued-fractions-the-right-ruler-for-irrationality&quot; aria-label=&quot;Anchor link for: continued-fractions-the-right-ruler-for-irrationality&quot;&gt;#&lt;&#x2F;a&gt;Continued fractions: the right ruler for irrationality&lt;&#x2F;h3&gt;
&lt;p&gt;To talk about &lt;em&gt;how well&lt;&#x2F;em&gt; a number can be approximated, we need the right tool. That tool is the &lt;strong&gt;continued fraction&lt;&#x2F;strong&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;Every irrational number has a unique continued fraction expansion, written compactly as&lt;&#x2F;p&gt;
&lt;p&gt;$$\omega=[a_0;a_1,a_2,a_3,\ldots],$$&lt;&#x2F;p&gt;
&lt;p&gt;which unpacks into a nested tower of fractions,&lt;&#x2F;p&gt;
&lt;p&gt;$$\omega=a_0+\cfrac{1}{a_1+\cfrac{1}{a_2+\cfrac{1}{a_3+\cdots}}}.$$&lt;&#x2F;p&gt;
&lt;p&gt;The whole numbers $a_0,a_1,a_2,\ldots$ are called the partial quotients. If you stop the tower early, you get a fraction called a &lt;strong&gt;convergent&lt;&#x2F;strong&gt;, and the convergents are, in a precise sense, the &lt;em&gt;best possible&lt;&#x2F;em&gt; rational approximations of $\omega$ for their size of denominator. They are the fractions a clockmaker would choose.&lt;&#x2F;p&gt;
&lt;p&gt;The crucial fact is that the size of the partial quotients tells you how approximable the number is. A large partial quotient means an unusually good approximation is available, because it means the next convergent barely changes the value while sharply shrinking the error. A number with large partial quotients is &lt;em&gt;easy&lt;&#x2F;em&gt; to approximate by fractions, and so it resonates easily.&lt;&#x2F;p&gt;
&lt;p&gt;Two examples make this concrete:&lt;&#x2F;p&gt;
&lt;p&gt;$$\sqrt{2}=[1;2,2,2,\ldots],\qquad \varphi=[1;1,1,1,\ldots].$$&lt;&#x2F;p&gt;
&lt;p&gt;The golden ratio $\varphi=(1+\sqrt 5)&#x2F;2$ has the smallest possible partial quotients, all ones, forever. Since large partial quotients are what produce exceptionally good rational approximations, having all ones means the golden ratio &lt;em&gt;never&lt;&#x2F;em&gt; offers one. It is, in a precise and provable sense, the hardest irrational number to approximate by fractions. The poetic phrase is that it is “the most irrational number.” The concrete content is that $|q\varphi-p|$ refuses to get small too quickly as $q$ grows.&lt;&#x2F;p&gt;
&lt;p&gt;This is not a curiosity; it is why phyllotaxis works. A sunflower head or an aloe rosette places each new seed or leaf one fixed angle of rotation from the last. If that angle is a rational fraction of a full turn, the seeds line up into a few radial spokes and waste space. The golden angle is a fraction $1&#x2F;\varphi^2$ of a full turn, about $137.5^\circ$, equivalently the complementary turn $1&#x2F;\varphi$ modulo one full rotation. It is the rotation that &lt;em&gt;never&lt;&#x2F;em&gt; lets the seeds line up, so they pack with no preferred direction and no gaps. Phyllotaxis is the circle-rotation map run in a flower, choosing the most irrational rotation number for the most even packing. The same fact that makes the golden ratio fill a seed head evenly will, in a moment, make a particular orbit in the solar system the most robust one.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;articles&#x2F;fixed-point-small-divisors.svg&quot; alt=&quot;A conceptual plot comparing small divisors for the golden ratio and an easily approximated irrational number&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;simulation-small-divisors&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#simulation-small-divisors&quot; aria-label=&quot;Anchor link for: simulation-small-divisors&quot;&gt;#&lt;&#x2F;a&gt;Simulation: Small Divisors&lt;&#x2F;h3&gt;
&lt;figure class=&quot;fixed-point-sim-fig&quot;&gt;
  &lt;div class=&quot;fixed-point-sim&quot; data-sim=&quot;small-divisors&quot;&gt;
    &lt;noscript&gt;This interactive simulation needs JavaScript enabled.&lt;&#x2F;noscript&gt;
  &lt;&#x2F;div&gt;
  
  &lt;figcaption&gt;Small values of |qω - p| are near-resonances. The golden ratio avoids exceptionally small denominators better than many other irrationals.&lt;&#x2F;figcaption&gt;
  
&lt;&#x2F;figure&gt;
&lt;script defer src=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;js&#x2F;fixed-point-sims.js?h=2f244814799a398bdf5a&quot;&gt;&lt;&#x2F;script&gt;
&lt;p&gt;The plot shows&lt;&#x2F;p&gt;
&lt;p&gt;$$|q\omega-p|$$&lt;&#x2F;p&gt;
&lt;p&gt;with $p$ chosen as the nearest integer to $q\omega$, swept over many denominators $q$. Compare the golden ratio against a number engineered to have a very good rational approximation:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;python&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-keyword&quot;&gt;import&lt;&#x2F;span&gt;&lt;span&gt; numpy&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; as&lt;&#x2F;span&gt;&lt;span&gt; np&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-keyword&quot;&gt;import&lt;&#x2F;span&gt;&lt;span&gt; matplotlib.pyplot&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; as&lt;&#x2F;span&gt;&lt;span&gt; plt&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;phi&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; (&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;1&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; +&lt;&#x2F;span&gt;&lt;span&gt; np.sqrt(&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;5&lt;&#x2F;span&gt;&lt;span&gt;))&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; &#x2F;&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt; 2&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;easy&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; np.sqrt(&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;2&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; +&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt; 1&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; &#x2F;&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt; 10_000&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;qs&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; np.arange(&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;1&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt; 400&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-type&quot;&gt;def&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name&quot;&gt; small_divisors&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-parameter z-function&quot;&gt;(omega):&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    ps&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; np.round(qs&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; *&lt;&#x2F;span&gt;&lt;span&gt; omega)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-keyword&quot;&gt;    return&lt;&#x2F;span&gt;&lt;span&gt; np.abs(qs&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; *&lt;&#x2F;span&gt;&lt;span&gt; omega&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; -&lt;&#x2F;span&gt;&lt;span&gt; ps)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;plt.semilogy(qs, small_divisors(phi),&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable&quot;&gt; label&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;golden ratio&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;plt.semilogy(qs, small_divisors(easy),&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable&quot;&gt; label&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;easier approximation&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;plt.xlabel(&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;q&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;plt.ylabel(&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;|qω - p|&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;plt.legend()&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;What the reader should see: irrational numbers are not interchangeable. Some produce denominators that dip dangerously small; the golden ratio keeps its distance. In a moment, those small denominators are exactly where stability breaks.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;the-ruler-is-itself-a-dynamical-system&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#the-ruler-is-itself-a-dynamical-system&quot; aria-label=&quot;Anchor link for: the-ruler-is-itself-a-dynamical-system&quot;&gt;#&lt;&#x2F;a&gt;The ruler is itself a dynamical system&lt;&#x2F;h3&gt;
&lt;p&gt;Here is a loop back to the earlier essays that is too pretty to skip. Continued fractions are not produced by hand. They come out of a dynamical system, the &lt;strong&gt;Gauss map&lt;&#x2F;strong&gt;:&lt;&#x2F;p&gt;
&lt;p&gt;$$G(x)=\left{\frac{1}{x}\right},$$&lt;&#x2F;p&gt;
&lt;p&gt;where ${\cdot}$ means “take the fractional part.” Feed in a number between $0$ and $1$, take its reciprocal, throw away the integer part, and repeat. Each application peels off the next partial quotient of the continued fraction. The tool we use to measure irrationality is itself a rule being iterated.&lt;&#x2F;p&gt;
&lt;p&gt;And like the chaotic maps of the second essay, the Gauss map has an invariant measure, the &lt;strong&gt;Gauss measure&lt;&#x2F;strong&gt;:&lt;&#x2F;p&gt;
&lt;p&gt;$$d\mu(x)=\frac{1}{\log 2}\frac{dx}{1+x}.$$&lt;&#x2F;p&gt;
&lt;p&gt;This is the distribution left unchanged when you push a whole density of starting numbers through $G$ once, exactly the kind of invariant object the &lt;a href=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;series&#x2F;fixed-point-ladder&#x2F;power-laws-extremistan-and-non-ergodicity&#x2F;&quot;&gt;power-laws essay&lt;&#x2F;a&gt; introduced as a fixed point of the operator that moves distributions forward. So continued fractions tie together recurrence, chaos, invariant measures, and arithmetic in one small map. The instrument we built to study the ladder turns out to be another rung of it.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;simulation-gauss-map&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#simulation-gauss-map&quot; aria-label=&quot;Anchor link for: simulation-gauss-map&quot;&gt;#&lt;&#x2F;a&gt;Simulation: Gauss Map&lt;&#x2F;h3&gt;
&lt;figure class=&quot;fixed-point-sim-fig&quot;&gt;
  &lt;div class=&quot;fixed-point-sim&quot; data-sim=&quot;gauss-map&quot;&gt;
    &lt;noscript&gt;This interactive simulation needs JavaScript enabled.&lt;&#x2F;noscript&gt;
  &lt;&#x2F;div&gt;
  
  &lt;figcaption&gt;Move the initial number and replay the orbit. The Gauss map G(x) = {1&amp;#x2F;x} generates continued-fraction digits, showing that rational approximation is itself driven by a chaotic dynamical system.&lt;&#x2F;figcaption&gt;
  
&lt;&#x2F;figure&gt;
&lt;script defer src=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;js&#x2F;fixed-point-sims.js?h=2f244814799a398bdf5a&quot;&gt;&lt;&#x2F;script&gt;
&lt;h2 id=&quot;from-one-frequency-to-many-kam-theory&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#from-one-frequency-to-many-kam-theory&quot; aria-label=&quot;Anchor link for: from-one-frequency-to-many-kam-theory&quot;&gt;#&lt;&#x2F;a&gt;From One Frequency to Many: KAM Theory&lt;&#x2F;h2&gt;
&lt;p&gt;So far there has been one rotation number on one circle. Real mechanical systems, a planet pulled by several others, a set of coupled pendulums, an asteroid between Jupiter and the sun, have several frequencies at once. The question of recurrence becomes the question of whether &lt;em&gt;all&lt;&#x2F;em&gt; of those frequencies realign, and that is where the deepest result in this essay lives: KAM theory, named for Kolmogorov, Arnold, and Moser.&lt;&#x2F;p&gt;
&lt;p&gt;To get there, we need a little of the natural language of mechanics.&lt;&#x2F;p&gt;
&lt;p&gt;The systems of classical mechanics are usually written in &lt;strong&gt;Hamiltonian&lt;&#x2F;strong&gt; form, an energy-preserving bookkeeping invented for exactly these problems. Their state lives in &lt;strong&gt;phase space&lt;&#x2F;strong&gt;, which records not just where things are but how fast they are moving. For one particle in one dimension, phase space has two coordinates,&lt;&#x2F;p&gt;
&lt;p&gt;$$q=\text{position},\qquad p=\text{momentum},$$&lt;&#x2F;p&gt;
&lt;p&gt;and for many moving parts it has many such pairs. A phase-space point is a complete snapshot: positions and momenta together.&lt;&#x2F;p&gt;
&lt;p&gt;A Hamiltonian system is called &lt;strong&gt;integrable&lt;&#x2F;strong&gt; when it is solvable cleanly enough that its motion lies on a smooth surface called an &lt;strong&gt;invariant torus&lt;&#x2F;strong&gt;. A torus is the shape of a donut’s surface, and in higher dimensions it is the product of several circles. The point of the name is that motion on it is &lt;strong&gt;quasi-periodic&lt;&#x2F;strong&gt;: the system winds around the donut with several frequencies at once, like several independent clock hands turning at incommensurable rates, never quite repeating but never wandering off the surface either.&lt;&#x2F;p&gt;
&lt;p&gt;The circle rotation from before is the one-clock version. The torus version is&lt;&#x2F;p&gt;
&lt;p&gt;$$\theta_{n+1}=\theta_n+\omega \pmod 1,\qquad \theta=(\theta_1,\ldots,\theta_d),\quad \omega=(\omega_1,\ldots,\omega_d).$$&lt;&#x2F;p&gt;
&lt;p&gt;Each component is one angle on one circle; each step advances all of them. If the frequencies have rational relations among them, the orbit eventually closes onto a lower-dimensional loop. If they do not, it winds quasi-periodically and fills the torus, the multi-clock version of the dense orbit on a single circle.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;the-question-kam-answers&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#the-question-kam-answers&quot; aria-label=&quot;Anchor link for: the-question-kam-answers&quot;&gt;#&lt;&#x2F;a&gt;The question KAM answers&lt;&#x2F;h3&gt;
&lt;p&gt;Integrable systems are rare and special. Real systems are integrable systems plus a small disturbance: the planets would trace perfect ellipses if they only felt the sun, but they also tug faintly on each other. The natural question is whether the beautiful invariant tori survive that tug, or whether the smallest perturbation tears them apart and lets the system wander freely, which over astronomical time would mean the solar system is not stable.&lt;&#x2F;p&gt;
&lt;p&gt;KAM theory’s answer is strange and precise: &lt;strong&gt;it depends on arithmetic.&lt;&#x2F;strong&gt; Tori whose frequencies are “sufficiently irrational” survive a small perturbation. Tori whose frequencies are close to a resonance are destroyed first. Stability is sorted not by energy or size but by how well a frequency vector can be approximated by integer relations.&lt;&#x2F;p&gt;
&lt;p&gt;For this section, keep one picture in mind: a torus is a smooth track in phase space, and KAM asks whether that track survives when the system is nudged. The arithmetic enters because repeated nudges are harmless when they arrive out of phase, but dangerous when they keep arriving almost in sync.&lt;&#x2F;p&gt;
&lt;p&gt;A resonance among several frequencies is the multi-dimensional version of the near-period. It occurs when&lt;&#x2F;p&gt;
&lt;p&gt;$$k\cdot \omega \approx 0$$&lt;&#x2F;p&gt;
&lt;p&gt;for some vector of integers $k$ that is not all zeros. Written out in two dimensions,&lt;&#x2F;p&gt;
&lt;p&gt;$$k_1\omega_1+k_2\omega_2\approx 0,$$&lt;&#x2F;p&gt;
&lt;p&gt;which says one frequency is nearly a whole-number multiple of the other; the two clocks nearly relock. The dot product $k\cdot\omega$ is the multi-frequency generalization of the quantity $q\omega-p$ from the circle. Exactly zero is an exact resonance; nearly zero is a near-resonance.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;why-near-resonance-is-dangerous-small-divisors&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#why-near-resonance-is-dangerous-small-divisors&quot; aria-label=&quot;Anchor link for: why-near-resonance-is-dangerous-small-divisors&quot;&gt;#&lt;&#x2F;a&gt;Why near-resonance is dangerous: small divisors&lt;&#x2F;h3&gt;
&lt;p&gt;This is the mechanism, and the technical core of the whole essay, so it pays to go slowly.&lt;&#x2F;p&gt;
&lt;p&gt;When physicists want to understand a slightly-perturbed system, they try to “change coordinates” to make the perturbation disappear, one Fourier piece at a time. A typical piece of the perturbation looks like a wave around the torus,&lt;&#x2F;p&gt;
&lt;p&gt;$$a_k, e^{i k\cdot\theta},$$&lt;&#x2F;p&gt;
&lt;p&gt;and the coordinate change that cancels it comes out looking like&lt;&#x2F;p&gt;
&lt;p&gt;$$\frac{a_k}{i,k\cdot\omega}, e^{i k\cdot\theta}.$$&lt;&#x2F;p&gt;
&lt;p&gt;The exact details vary by system, but the shape is robust and is all we need: the correction has $k\cdot\omega$ in the &lt;strong&gt;denominator&lt;&#x2F;strong&gt;. Now read off the three cases.&lt;&#x2F;p&gt;
&lt;p&gt;If $k\cdot\omega$ is comfortably away from zero, the correction is small and controlled. The perturbation can be absorbed.&lt;&#x2F;p&gt;
&lt;p&gt;If $k\cdot\omega$ is tiny, the correction is enormous, because we are dividing by a near-zero number. A small perturbation produces a large response.&lt;&#x2F;p&gt;
&lt;p&gt;If $k\cdot\omega$ is exactly zero, the correction is infinite. The perturbation is in perfect resonance with the motion and cannot be removed by any small change of coordinates at all.&lt;&#x2F;p&gt;
&lt;p&gt;This is the &lt;strong&gt;small-divisor problem&lt;&#x2F;strong&gt;, and it is the same arithmetic we met on the circle, now with stakes. There, $|q\omega-p|$ being small meant a near-period. Here, $|k\cdot\omega|$ being small means a near-resonance that perturbation theory divides by. The survival of a geometric structure, an entire invariant torus in phase space, comes down to whether these denominators can be kept away from zero.&lt;&#x2F;p&gt;
&lt;p&gt;The engineering analogy is resonance in a bridge or circuit. A tiny input is not dangerous by itself; it becomes dangerous when the timing lines up so the response adds instead of cancels. KAM is the high-dimensional, geometric version of that timing problem.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;the-diophantine-condition&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#the-diophantine-condition&quot; aria-label=&quot;Anchor link for: the-diophantine-condition&quot;&gt;#&lt;&#x2F;a&gt;The Diophantine condition&lt;&#x2F;h3&gt;
&lt;p&gt;So KAM needs frequencies whose small divisors stay controlled. The precise requirement is a &lt;strong&gt;Diophantine condition&lt;&#x2F;strong&gt;:&lt;&#x2F;p&gt;
&lt;p&gt;$$|k\cdot \omega| \geq \frac{\gamma}{|k|^\tau}\quad\text{for all nonzero integer vectors }k.$$&lt;&#x2F;p&gt;
&lt;p&gt;In words: resonances are allowed to creep closer to zero as the integer vector $k$ grows larger, but not too fast. The constants $\gamma$ and $\tau$ measure how stubbornly irrational the frequency vector is. This inequality is not decorative. It is the promise that keeps the denominators in the coordinate change from collapsing, which is exactly what KAM needs to prove a torus survives.&lt;&#x2F;p&gt;
&lt;p&gt;Which frequencies satisfy it best? The maximally irrational ones. In two dimensions, the most robust torus of all is the one whose frequency ratio is the golden ratio,&lt;&#x2F;p&gt;
&lt;p&gt;$$\varphi=\frac{1+\sqrt 5}{2}=[1;1,1,1,\ldots].$$&lt;&#x2F;p&gt;
&lt;p&gt;Its all-ones continued fraction makes it the hardest number to approximate by rationals, which makes its small divisors the largest, which makes its torus the last to break. The golden torus is robust not because gold is mystical but because the arithmetic of $\varphi$ is the worst possible case for resonance. This is the same fact that packed the sunflower; here it stabilizes an orbit.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;what-the-surviving-phase-space-looks-like&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#what-the-surviving-phase-space-looks-like&quot; aria-label=&quot;Anchor link for: what-the-surviving-phase-space-looks-like&quot;&gt;#&lt;&#x2F;a&gt;What the surviving phase space looks like&lt;&#x2F;h3&gt;
&lt;p&gt;KAM does not promise a clean split into “all stable” or “all chaotic.” It promises a &lt;em&gt;mixture&lt;&#x2F;em&gt;, and the mixture has an arithmetic skeleton. Sufficiently irrational tori survive as smooth barriers. Tori near resonances dissolve, and around each resonance appear islands and thin chaotic layers. Between them, the surviving Diophantine tori act as walls that trajectories cannot cross. Discrete arithmetic facts, which ratios are near rational and which are stubbornly irrational, carve continuous geometric structure into the phase space. That is one of the most beautiful statements in mathematical physics: a number-theoretic property of a frequency decides a geometric property of a flow. Saturn’s rings make the same point visible from a backyard telescope. The dark Cassini Division in the photograph at the top of this essay is a band swept nearly empty because particles orbiting there would fall into a 2:1 resonance with the moon Mimas, the same nudge arriving at nearly the same phase orbit after orbit until it accumulates.&lt;&#x2F;p&gt;
&lt;p&gt;There is a standard way to write the setup. Start from an integrable system in action-angle coordinates, where the unperturbed motion is just rotation,&lt;&#x2F;p&gt;
&lt;p&gt;$$\dot{\theta}=\omega(I),\qquad \dot{I}=0,$$&lt;&#x2F;p&gt;
&lt;p&gt;so the angles turn at frequencies $\omega$ and the actions $I$ stay fixed, pinning the motion to a torus. Now add a small perturbation,&lt;&#x2F;p&gt;
&lt;p&gt;$$H(I,\theta)=H_0(I)+\epsilon H_1(I,\theta).$$&lt;&#x2F;p&gt;
&lt;p&gt;Removing it order by order produces exactly the small-divisor denominators $k\cdot\omega$ described above. Where those denominators stay large, the expansion converges and the torus survives, slightly bent. Where they vanish, the expansion breaks and the torus is destroyed.&lt;&#x2F;p&gt;
&lt;p&gt;There is a principle here that reaches well past celestial mechanics: what survives a repeated disturbance often stays &lt;em&gt;out of phase&lt;&#x2F;em&gt; with it. Resonance, things lining up, is one road to catastrophe; refusing to line up is one road to robustness. The same shape recurs wherever a system has to survive repeated shocks. A sunflower avoids wasted spokes by giving every seed an irrational turn. A portfolio survives a crash by holding positions that do not all move together. A financial system survives a shock when its institutions run &lt;em&gt;different&lt;&#x2F;em&gt; risk models, and detonates when they run the same one and deleverage in unison, the &lt;a href=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;series&#x2F;edge-of-chaos&#x2F;when-risk-models-create-risk&#x2F;&quot;&gt;monoculture failure&lt;&#x2F;a&gt; that closes the companion series. Diversification, biodiversity, and a surviving KAM torus are not the same mechanism, but they share a defensive shape: avoid alignment, and a shock that would amplify in unison arrives scattered instead.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;kam-as-a-fixed-point-statement&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#kam-as-a-fixed-point-statement&quot; aria-label=&quot;Anchor link for: kam-as-a-fixed-point-statement&quot;&gt;#&lt;&#x2F;a&gt;KAM as a fixed-point statement&lt;&#x2F;h3&gt;
&lt;p&gt;This connects back to the spine of the series; it is another fixed-point story wearing unfamiliar clothes.&lt;&#x2F;p&gt;
&lt;p&gt;KAM does not say the old tori sit unchanged. It says many of them &lt;em&gt;deform&lt;&#x2F;em&gt; into nearby tori, and asks whether there exists a change of coordinates that carries the perturbed motion back to clean quasi-periodic rotation on the deformed torus. In fixed-point language, you are solving for an invariant object: a map $K$ that embeds an abstract torus into the real phase space so that running the physical dynamics matches simply rotating the abstract torus. Schematically,&lt;&#x2F;p&gt;
&lt;p&gt;$$\text{flow}\circ K = K\circ \text{rotation}_\omega.$$&lt;&#x2F;p&gt;
&lt;p&gt;Read it as: embed the torus, then flow, and you get the same result as rotating first, then embedding. The unknown $K$ is not a number, and not even a point. It is a whole geometric surface left invariant by the dynamics. KAM is the question of whether that invariant surface survives perturbation, and the answer is decided by the arithmetic of $\omega$.&lt;&#x2F;p&gt;
&lt;p&gt;The takeaway is modest but important: KAM is not asking a student to memorize a theorem. It is showing that stability can depend on arithmetic. Two systems can look physically similar, but the one whose frequencies avoid near-integer relations can keep a smooth invariant torus while the resonant one breaks into islands and chaos.&lt;&#x2F;p&gt;
&lt;p&gt;The ninth lesson:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Number theory shapes phase space because arithmetic controls resonance.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-bridge-from-non-ergodicity-to-recurrence&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#the-bridge-from-non-ergodicity-to-recurrence&quot; aria-label=&quot;Anchor link for: the-bridge-from-non-ergodicity-to-recurrence&quot;&gt;#&lt;&#x2F;a&gt;The Bridge: From Non-Ergodicity to Recurrence&lt;&#x2F;h2&gt;
&lt;p&gt;Why does number theory belong &lt;em&gt;here&lt;&#x2F;em&gt;, right after the &lt;a href=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;series&#x2F;fixed-point-ladder&#x2F;power-laws-extremistan-and-non-ergodicity&#x2F;&quot;&gt;previous essay&lt;&#x2F;a&gt; on non-ergodicity, rather than as a detour?&lt;&#x2F;p&gt;
&lt;p&gt;That essay ended with a warning: an ensemble average can be the wrong object when the lived path is a single trajectory through time. The instant the single trajectory becomes the thing you care about, recurrence becomes the question. Does the path return near where it started? Does it revisit a region often enough for averages to settle? Does it miss whole regions entirely? Does a small periodic forcing keep hitting the system at nearly the same phase?&lt;&#x2F;p&gt;
&lt;p&gt;These are time questions first. They become number-theory questions the moment the motion is rotational, oscillatory, or quasi-periodic, because then “return near the start” translates directly into arithmetic. For the circle rotation,&lt;&#x2F;p&gt;
&lt;p&gt;$$\theta_n=\theta_0+n\omega \pmod 1,$$&lt;&#x2F;p&gt;
&lt;p&gt;a near return means $\theta_n\approx\theta_0$, which after subtracting $\theta_0$ becomes $n\omega\approx p$ for some integer $p$, that is,&lt;&#x2F;p&gt;
&lt;p&gt;$$|n\omega-p|\approx 0.$$&lt;&#x2F;p&gt;
&lt;p&gt;So the lived-path question “does this trajectory come back near where it started?” is the same question as “how well can $\omega$ be approximated by rationals?” That is the concrete reason recurrence drags arithmetic onto the ladder. A rational ratio gives eventual exact closure. An irrational ratio gives no closure, but irrationality is not one thing: some irrationals are easy to approximate and resonate readily, while others, the golden ratio chief among them, resist. That difference controls near-recurrence; near-recurrence controls resonance; resonance controls stability.&lt;&#x2F;p&gt;
&lt;p&gt;So the chain is tight. Once time matters, repeated motion matters. Once repeated motion matters, the question is whether cycles line up, nearly line up, or never line up, and that question is arithmetic. The integer vector $k$ is not decorative notation. It is the bookkeeper of every possible way the frequencies could realign.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;arithmetic-as-the-hinge&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#arithmetic-as-the-hinge&quot; aria-label=&quot;Anchor link for: arithmetic-as-the-hinge&quot;&gt;#&lt;&#x2F;a&gt;Arithmetic As The Hinge&lt;&#x2F;h2&gt;
&lt;p&gt;This is the point where the series is about to change engines, and number theory is the hinge it turns on.&lt;&#x2F;p&gt;
&lt;p&gt;Everything above used arithmetic in one way: as the &lt;strong&gt;timekeeper and stability filter&lt;&#x2F;strong&gt; of dynamics. Integers count returns. Fractions describe frequency ratios. Continued fractions measure near-resonance. Diophantine inequalities decide which structures survive a disturbance. In every case, arithmetic stayed &lt;em&gt;outside&lt;&#x2F;em&gt; the system, a ruler we held up against the motion.&lt;&#x2F;p&gt;
&lt;p&gt;But arithmetic can be used a second way, and the difference is the whole pivot of the series.&lt;&#x2F;p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Role of arithmetic&lt;&#x2F;th&gt;&lt;th&gt;What arithmetic does&lt;&#x2F;th&gt;&lt;th&gt;Example&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;Timekeeper&lt;&#x2F;td&gt;&lt;td&gt;counts returns, periods, resonances&lt;&#x2F;td&gt;&lt;td&gt;$q\omega\approx p$&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Stability filter&lt;&#x2F;td&gt;&lt;td&gt;controls small denominators&lt;&#x2F;td&gt;&lt;td&gt;$\lvert k\cdot\omega\rvert\geq\gamma&#x2F;\lvert k\rvert^\tau$&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Encoding substrate&lt;&#x2F;td&gt;&lt;td&gt;turns syntax into numbers&lt;&#x2F;td&gt;&lt;td&gt;Gödel numbering&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Self-reference medium&lt;&#x2F;td&gt;&lt;td&gt;lets statements refer to their own codes&lt;&#x2F;td&gt;&lt;td&gt;the diagonal lemma&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;p&gt;The first two rows are this essay, the iteration engine. The bottom two rows are the next essay, the self-reference engine, and they rest on a single new idea: the same integers that count symbols going around a clock can also count symbols inside a formula. A statement, a proof, a program is just a finite string of symbols, and a finite string of symbols can be packed into a single integer. Once that is done, arithmetic stops being a ruler held up against the system and becomes a &lt;em&gt;language the system can speak about itself.&lt;&#x2F;em&gt; Numbers can encode statements about numbers. A rule can be fed its own description.&lt;&#x2F;p&gt;
&lt;p&gt;That is the threshold of representational closure, and it is where iteration’s invariant objects, attractors and tori, give way to a new family: Gödel sentences, halting problems, quines, the Y combinator, and recursive types. The same fixed-point question carries across, but the engine driving it is different.&lt;&#x2F;p&gt;
&lt;p&gt;We have now followed the iteration engine as far as it goes, from a number pulled toward $1$ all the way to an invariant torus held together by the golden ratio. The &lt;a href=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;series&#x2F;fixed-point-ladder&#x2F;logic-self-reference-and-category-theory&#x2F;&quot;&gt;next essay&lt;&#x2F;a&gt; turns the hinge: it lets arithmetic encode syntax, and watches self-reference become the second engine that manufactures fixed points.&lt;&#x2F;p&gt;
&lt;aside class=&quot;toolkit&quot;&gt;
  &lt;p class=&quot;toolkit-label&quot;&gt;Takeaway&lt;&#x2F;p&gt;
  &lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Space:&lt;&#x2F;strong&gt; the invariant tori of phase space, the multi-clock version of a circle.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Transformation:&lt;&#x2F;strong&gt; a perturbed Hamiltonian flow, an integrable system plus a small tug.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Invariant object:&lt;&#x2F;strong&gt; the quasi-periodic tori whose frequencies are sufficiently irrational to survive.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Failure mode:&lt;&#x2F;strong&gt; resonance and small denominators, which tear the near-rational tori apart.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;

&lt;&#x2F;aside&gt;
&lt;h2 id=&quot;further-reading&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#further-reading&quot; aria-label=&quot;Anchor link for: further-reading&quot;&gt;#&lt;&#x2F;a&gt;Further Reading&lt;&#x2F;h2&gt;
&lt;p&gt;For number theory inside dynamics:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;Andrey Kolmogorov, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Kolmogorov%E2%80%93Arnold%E2%80%93Moser_theorem&quot;&gt;&lt;em&gt;On conservation of conditionally periodic motions for a small change in Hamilton’s function&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (1954). The original KAM note, the K in KAM.&lt;&#x2F;li&gt;
&lt;li&gt;Vladimir Arnold, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Mathematical_Methods_of_Classical_Mechanics&quot;&gt;&lt;em&gt;Mathematical Methods of Classical Mechanics&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;. The canonical route into Hamiltonian mechanics, action-angle variables, and the small-divisor problem.&lt;&#x2F;li&gt;
&lt;li&gt;Jurgen Moser, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;J%C3%BCrgen_Moser&quot;&gt;&lt;em&gt;Stable and Random Motions in Dynamical Systems&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;. A classic treatment of KAM ideas and the survival of invariant tori.&lt;&#x2F;li&gt;
&lt;li&gt;Hendrik Broer and Floris Takens, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1007&#x2F;978-1-4419-6870-8&quot;&gt;&lt;em&gt;Dynamical Systems and Chaos&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;. Useful for connecting invariant tori, resonance, and Diophantine conditions to bifurcations.&lt;&#x2F;li&gt;
&lt;li&gt;A. Ya. Khinchin, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Continued_fraction&quot;&gt;&lt;em&gt;Continued Fractions&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;. The short classic on continued fractions, convergents, and how well numbers can be approximated by rationals.&lt;&#x2F;li&gt;
&lt;li&gt;G. H. Hardy and E. M. Wright, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;An_Introduction_to_the_Theory_of_Numbers&quot;&gt;&lt;em&gt;An Introduction to the Theory of Numbers&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;. Background on Diophantine approximation and the special role of the golden ratio.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Power Laws, Extremistan, and Non-Ergodicity</title>
        <published>2025-06-10T00:00:00+00:00</published>
        <updated>2025-06-10T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://federicocarrone.com/series/fixed-point-ladder/power-laws-extremistan-and-non-ergodicity/"/>
        <id>https://federicocarrone.com/series/fixed-point-ladder/power-laws-extremistan-and-non-ergodicity/</id>
        
        <content type="html" xml:base="https://federicocarrone.com/series/fixed-point-ladder/power-laws-extremistan-and-non-ergodicity/">&lt;p&gt;The &lt;a href=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;series&#x2F;fixed-point-ladder&#x2F;chaos-fractals-and-renormalization&#x2F;&quot;&gt;previous essay&lt;&#x2F;a&gt; ended with fractals: objects whose structure survives repeated zooming. This essay turns that geometric statement into a statistical one.&lt;&#x2F;p&gt;
&lt;p&gt;If an object has no characteristic length scale, then counting it often produces a power law. If a distribution has a power-law tail, then extremes stop being negligible. If extremes stop being negligible, then averages become unstable. If the process is multiplicative or has absorbing ruin states, then the average over many possible worlds can become irrelevant to the trajectory one person actually lives.&lt;&#x2F;p&gt;
&lt;p&gt;That is the path:&lt;&#x2F;p&gt;
&lt;p&gt;$$\text{scale invariance}\to\text{power laws}\to\text{fat tails}\to\text{non-ergodicity}.$$&lt;&#x2F;p&gt;
&lt;p&gt;This is where Mandelbrot, Taleb, Peters, Kelly, Wilson, Bak, and the central limit theorem start belonging to the same conversation.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-minimum-vocabulary&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#the-minimum-vocabulary&quot; aria-label=&quot;Anchor link for: the-minimum-vocabulary&quot;&gt;#&lt;&#x2F;a&gt;The Minimum Vocabulary&lt;&#x2F;h2&gt;
&lt;p&gt;A &lt;strong&gt;distribution&lt;&#x2F;strong&gt; tells you how likely different outcomes are. For a continuous variable, the density $p(x)$ describes probability per unit of $x$. The survival function:&lt;&#x2F;p&gt;
&lt;p&gt;$$P(X&amp;gt;x)$$&lt;&#x2F;p&gt;
&lt;p&gt;asks for the probability of seeing an outcome larger than $x$.&lt;&#x2F;p&gt;
&lt;p&gt;A &lt;strong&gt;tail&lt;&#x2F;strong&gt; is the far end of a distribution: rare large values. A &lt;strong&gt;thin-tailed&lt;&#x2F;strong&gt; distribution, like a Gaussian, makes very large events disappear extremely fast. A &lt;strong&gt;fat-tailed&lt;&#x2F;strong&gt; distribution makes them disappear slowly enough that extremes remain structurally important.&lt;&#x2F;p&gt;
&lt;p&gt;A &lt;strong&gt;power law&lt;&#x2F;strong&gt; is a scaling relationship:&lt;&#x2F;p&gt;
&lt;p&gt;$$P(X&amp;gt;x)\sim Cx^{-\alpha}.$$&lt;&#x2F;p&gt;
&lt;p&gt;Multiplying $x$ by a constant multiplies the probability by another constant. There is no preferred scale.&lt;&#x2F;p&gt;
&lt;p&gt;An &lt;strong&gt;ensemble average&lt;&#x2F;strong&gt; averages across many possible worlds or many parallel copies of a process. A &lt;strong&gt;time average&lt;&#x2F;strong&gt; follows one process through time and averages along that single trajectory.&lt;&#x2F;p&gt;
&lt;p&gt;A process is &lt;strong&gt;ergodic&lt;&#x2F;strong&gt; when the time average and ensemble average agree in the relevant long-run sense. It is &lt;strong&gt;non-ergodic&lt;&#x2F;strong&gt; when they do not. Multiplicative wealth, ruin, and path-dependent systems are often non-ergodic.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;from-scale-invariance-to-power-laws&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#from-scale-invariance-to-power-laws&quot; aria-label=&quot;Anchor link for: from-scale-invariance-to-power-laws&quot;&gt;#&lt;&#x2F;a&gt;From Scale Invariance to Power Laws&lt;&#x2F;h2&gt;
&lt;p&gt;Now zoom into a fractal.&lt;&#x2F;p&gt;
&lt;p&gt;It looks similar.&lt;&#x2F;p&gt;
&lt;p&gt;Zoom again.&lt;&#x2F;p&gt;
&lt;p&gt;Still similar.&lt;&#x2F;p&gt;
&lt;p&gt;Again.&lt;&#x2F;p&gt;
&lt;p&gt;Still similar.&lt;&#x2F;p&gt;
&lt;p&gt;There is no characteristic scale. That is scale invariance.&lt;&#x2F;p&gt;
&lt;p&gt;This section is sometimes summarized as “fractals create power laws,” but that sentence is too crude. The real implication is:&lt;&#x2F;p&gt;
&lt;p&gt;$$\text{scale invariance}\Rightarrow\text{power-law form}.$$&lt;&#x2F;p&gt;
&lt;p&gt;Fractals are one geometric source of scale invariance. They are not the only source, and not every fractal measurement gives a clean power law. Markets, cities, earthquakes, languages, and networks can produce scaling through mechanisms that are not literally fractal geometry: preferential attachment, multiplicative growth, criticality, mixtures of regimes, and renormalization. The common object is not “fractal” but “no preferred scale.”&lt;&#x2F;p&gt;
&lt;p&gt;A &lt;strong&gt;characteristic scale&lt;&#x2F;strong&gt; is a typical size. Human adult height has a characteristic scale. You can talk about a normal height. Earthquake size, city size, wealth, firm size, and market crashes often do not behave that way. There are many small events, fewer medium events, and rare enormous events, with no single size that organizes the whole distribution.&lt;&#x2F;p&gt;
&lt;p&gt;A &lt;strong&gt;power law&lt;&#x2F;strong&gt; is a relationship where multiplying the input by a fixed amount multiplies the output by a fixed amount. The simplest form is:&lt;&#x2F;p&gt;
&lt;p&gt;$$y=Cx^{-\alpha}.$$&lt;&#x2F;p&gt;
&lt;p&gt;If you double $x$, then:&lt;&#x2F;p&gt;
&lt;p&gt;$$y(2x)=C(2x)^{-\alpha}=2^{-\alpha}Cx^{-\alpha}=2^{-\alpha}y(x).$$&lt;&#x2F;p&gt;
&lt;p&gt;So every doubling of size reduces frequency by the same factor. That is what “no characteristic scale” means in practice. The distribution does not care whether you move from $10$ to $20$, $100$ to $200$, or $1000$ to $2000$. The multiplicative relationship is the same.&lt;&#x2F;p&gt;
&lt;p&gt;Scale invariance has a simple mathematical form. Suppose a distribution $P(x)$ satisfies:&lt;&#x2F;p&gt;
&lt;p&gt;$$P(\lambda x)=\lambda^{-\alpha}P(x).$$&lt;&#x2F;p&gt;
&lt;p&gt;The solutions are power laws:&lt;&#x2F;p&gt;
&lt;p&gt;$$P(x)=Cx^{-\alpha}.$$&lt;&#x2F;p&gt;
&lt;p&gt;Here is the more general derivation. Scale invariance first says that rescaling $x$ changes $P$ only by a scale-dependent multiplier:&lt;&#x2F;p&gt;
&lt;p&gt;$$P(\lambda x)=c(\lambda)P(x).$$&lt;&#x2F;p&gt;
&lt;p&gt;Now rescale twice. Scaling by $\mu$ and then by $\lambda$ must agree with scaling once by $\lambda\mu$:&lt;&#x2F;p&gt;
&lt;p&gt;$$P(\lambda\mu x)=c(\lambda)c(\mu)P(x).$$&lt;&#x2F;p&gt;
&lt;p&gt;But the same left-hand side is also:&lt;&#x2F;p&gt;
&lt;p&gt;$$P(\lambda\mu x)=c(\lambda\mu)P(x).$$&lt;&#x2F;p&gt;
&lt;p&gt;So:&lt;&#x2F;p&gt;
&lt;p&gt;$$c(\lambda\mu)=c(\lambda)c(\mu).$$&lt;&#x2F;p&gt;
&lt;p&gt;The regular solutions of this multiplicative equation are:&lt;&#x2F;p&gt;
&lt;p&gt;$$c(\lambda)=\lambda^{-\alpha}.$$&lt;&#x2F;p&gt;
&lt;p&gt;Therefore:&lt;&#x2F;p&gt;
&lt;p&gt;$$P(\lambda x)=\lambda^{-\alpha}P(x),$$&lt;&#x2F;p&gt;
&lt;p&gt;and the compatible shapes are power laws:&lt;&#x2F;p&gt;
&lt;p&gt;$$P(x)=Cx^{-\alpha}.$$&lt;&#x2F;p&gt;
&lt;p&gt;So the power law does not come from visual roughness by itself. It comes from consistency under repeated rescaling.&lt;&#x2F;p&gt;
&lt;p&gt;Here I am using $P(x)$ informally for a scale-dependent quantity. In probability, one has to distinguish two related exponents. If the &lt;strong&gt;density&lt;&#x2F;strong&gt; behaves like $p(x)\sim Cx^{-\beta}$, then the &lt;strong&gt;survival function&lt;&#x2F;strong&gt; behaves like:&lt;&#x2F;p&gt;
&lt;p&gt;$$P(X&amp;gt;x)\sim C’x^{-(\beta-1)}.$$&lt;&#x2F;p&gt;
&lt;p&gt;The survival exponent is often called the &lt;strong&gt;tail index&lt;&#x2F;strong&gt;. In the next section, when I write:&lt;&#x2F;p&gt;
&lt;p&gt;$$P(X&amp;gt;x)\sim x^{-\alpha},$$&lt;&#x2F;p&gt;
&lt;p&gt;$\alpha$ is the tail index, not the density exponent. This convention is common in discussions of Pareto tails, but it is worth making explicit because the two exponents differ by one.&lt;&#x2F;p&gt;
&lt;p&gt;You can see this by taking logarithms. If:&lt;&#x2F;p&gt;
&lt;p&gt;$$P(x)=Cx^{-\alpha},$$&lt;&#x2F;p&gt;
&lt;p&gt;then:&lt;&#x2F;p&gt;
&lt;p&gt;$$\log P(x)=\log C-\alpha \log x.$$&lt;&#x2F;p&gt;
&lt;p&gt;So on log-log axes, the distribution becomes a straight line.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;articles&#x2F;fixed-point-scale-invariance.svg&quot; alt=&quot;A log-log chart showing a power law as a straight line and a Gaussian tail bending downward&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;graph-power-law-versus-gaussian&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#graph-power-law-versus-gaussian&quot; aria-label=&quot;Anchor link for: graph-power-law-versus-gaussian&quot;&gt;#&lt;&#x2F;a&gt;Graph: Power Law Versus Gaussian&lt;&#x2F;h3&gt;
&lt;figure class=&quot;fixed-point-sim-fig&quot;&gt;
  &lt;div class=&quot;fixed-point-sim&quot; data-sim=&quot;power-law&quot;&gt;
    &lt;noscript&gt;This interactive simulation needs JavaScript enabled.&lt;&#x2F;noscript&gt;
  &lt;&#x2F;div&gt;
  
  &lt;figcaption&gt;On log-log axes, a power law is a straight line. Thin-tailed distributions bend downward because their large events vanish much faster.&lt;&#x2F;figcaption&gt;
  
&lt;&#x2F;figure&gt;
&lt;script defer src=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;js&#x2F;fixed-point-sims.js?h=2f244814799a398bdf5a&quot;&gt;&lt;&#x2F;script&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;python&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-keyword&quot;&gt;import&lt;&#x2F;span&gt;&lt;span&gt; numpy&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; as&lt;&#x2F;span&gt;&lt;span&gt; np&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-keyword&quot;&gt;import&lt;&#x2F;span&gt;&lt;span&gt; matplotlib.pyplot&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; as&lt;&#x2F;span&gt;&lt;span&gt; plt&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;x&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; np.logspace(&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;0&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt; 3&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt; 400&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;power&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; x&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; ** -&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;1.7&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;gaussian_tail&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; np.exp(&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;-&lt;&#x2F;span&gt;&lt;span&gt;x&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;**&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;2&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; &#x2F;&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt; 2_000&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;plt.loglog(x, power,&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable&quot;&gt; label&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;power law&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;plt.loglog(x, gaussian_tail,&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable&quot;&gt; label&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;Gaussian-like tail&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;plt.legend()&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h3 id=&quot;simulation-power-law-sampling&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#simulation-power-law-sampling&quot; aria-label=&quot;Anchor link for: simulation-power-law-sampling&quot;&gt;#&lt;&#x2F;a&gt;Simulation: Power-Law Sampling&lt;&#x2F;h3&gt;
&lt;figure class=&quot;fixed-point-sim-fig&quot;&gt;
  &lt;div class=&quot;fixed-point-sim&quot; data-sim=&quot;sampling&quot;&gt;
    &lt;noscript&gt;This interactive simulation needs JavaScript enabled.&lt;&#x2F;noscript&gt;
  &lt;&#x2F;div&gt;
  
  &lt;figcaption&gt;The Gaussian running mean settles. The Pareto running mean keeps being rewritten by new extremes.&lt;&#x2F;figcaption&gt;
  
&lt;&#x2F;figure&gt;
&lt;script defer src=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;js&#x2F;fixed-point-sims.js?h=2f244814799a398bdf5a&quot;&gt;&lt;&#x2F;script&gt;
&lt;p&gt;Compare running sample means from Gaussian and Pareto draws.&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;python&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-keyword&quot;&gt;import&lt;&#x2F;span&gt;&lt;span&gt; numpy&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; as&lt;&#x2F;span&gt;&lt;span&gt; np&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-keyword&quot;&gt;import&lt;&#x2F;span&gt;&lt;span&gt; matplotlib.pyplot&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; as&lt;&#x2F;span&gt;&lt;span&gt; plt&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;rng&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; np.random.default_rng(&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;4&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;n&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; =&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt; 50_000&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;gaussian&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; rng.normal(&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable&quot;&gt;loc&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;1.0&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable&quot;&gt; scale&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;1.0&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable&quot;&gt; size&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;=&lt;&#x2F;span&gt;&lt;span&gt;n)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;pareto&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; rng.pareto(&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable&quot;&gt;a&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;1.4&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable&quot;&gt; size&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;=&lt;&#x2F;span&gt;&lt;span&gt;n)&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; +&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt; 1&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;gaussian_mean&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; np.cumsum(gaussian)&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; &#x2F;&lt;&#x2F;span&gt;&lt;span&gt; np.arange(&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;1&lt;&#x2F;span&gt;&lt;span&gt;, n&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; +&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt; 1&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;pareto_mean&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; np.cumsum(pareto)&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; &#x2F;&lt;&#x2F;span&gt;&lt;span&gt; np.arange(&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;1&lt;&#x2F;span&gt;&lt;span&gt;, n&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; +&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt; 1&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;plt.plot(gaussian_mean,&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable&quot;&gt; label&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;Gaussian running mean&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;plt.plot(pareto_mean,&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable&quot;&gt; label&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;Pareto running mean&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;plt.legend()&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;What the reader should see: the Gaussian mean stabilizes. The Pareto mean keeps jumping when a new extreme appears. More data does not necessarily make a fat-tailed average feel calm.&lt;&#x2F;p&gt;
&lt;p&gt;Fractals are geometric scale invariance. Power laws are statistical scale invariance.&lt;&#x2F;p&gt;
&lt;p&gt;Same phenomenon.&lt;&#x2F;p&gt;
&lt;p&gt;Different viewpoint.&lt;&#x2F;p&gt;
&lt;p&gt;The sixth lesson:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Power laws are the probability version of scale invariance. Fractals are one geometric route to that invariance, not the whole story.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;There is another way to see why scale invariance forces power laws. Let:&lt;&#x2F;p&gt;
&lt;p&gt;$$Q(t)=\log P(e^t).$$&lt;&#x2F;p&gt;
&lt;p&gt;The scaling law:&lt;&#x2F;p&gt;
&lt;p&gt;$$P(\lambda x)=\lambda^{-\alpha}P(x)$$&lt;&#x2F;p&gt;
&lt;p&gt;becomes, with $\lambda=e^s$ and $x=e^t$:&lt;&#x2F;p&gt;
&lt;p&gt;$$Q(t+s)=Q(t)-\alpha s.$$&lt;&#x2F;p&gt;
&lt;p&gt;The only continuous solutions are affine:&lt;&#x2F;p&gt;
&lt;p&gt;$$Q(t)=C-\alpha t.$$&lt;&#x2F;p&gt;
&lt;p&gt;Returning to $x=e^t$ gives:&lt;&#x2F;p&gt;
&lt;p&gt;$$P(x)=e^C x^{-\alpha}.$$&lt;&#x2F;p&gt;
&lt;p&gt;So a power law is not an arbitrary curve. It is the unique distributional shape compatible with translation invariance in log-space. Zooming becomes shifting. Self-similarity becomes linearity.&lt;&#x2F;p&gt;
&lt;p&gt;There is one more principled derivation, and it is the cleanest of all: maximum entropy. Fix only one thing about a positive quantity, its mean &lt;em&gt;logarithm&lt;&#x2F;em&gt; $\mathbb{E}[\log x]$. That is the natural constraint when the quantity spans many orders of magnitude, where what stays stable is the typical number of digits rather than the typical value. Among all densities on $x\ge x_{\min}$ that honor that constraint, the one assuming nothing further is the maximum-entropy density: maximize $-\int p\log p$ subject to normalization and fixed $\mathbb{E}[\log x]$. The Lagrange conditions give&lt;&#x2F;p&gt;
&lt;p&gt;$$p(x)\propto \exp(-\beta\log x)=x^{-\beta},$$&lt;&#x2F;p&gt;
&lt;p&gt;a power law, with $\beta$ the multiplier that enforces the constraint and $\beta&amp;gt;1$ so the density normalizes above $x_{\min}$. Fix the mean of $x$ instead and you get an exponential; fix the mean of $x^2$ on the whole real line and you get a Gaussian. The power law is simply what minimal commitment looks like when the natural ruler is logarithmic. It is the informational twin of the renormalization picture: scale invariance forces power laws geometrically, and a log-scale constraint forces them by entropy.&lt;&#x2F;p&gt;
&lt;p&gt;Log-space linearity is also why power laws are so often the statistical shadow of renormalization. If the system looks the same after coarse-graining, its observables often become eigenfunctions of a scaling operator. The exponent $\alpha$ is the eigenvalue written in statistical form.&lt;&#x2F;p&gt;
&lt;p&gt;If that sentence feels too compressed, read it this way: when zooming out leaves the system with the same form, the quantities you measure must transform predictably under zooming. The simplest predictable transformation is multiplication by a constant. Power laws are exactly the functions that do that.&lt;&#x2F;p&gt;
&lt;p&gt;The canonical physics example is Wilson’s renormalization group for second-order phase transitions. Near a critical point, a magnet, fluid, or lattice model can look statistically similar after coarse-graining. Details of the microscopic system wash out; critical exponents remain. This is the same kind of universality that Feigenbaum found in period doubling, now appearing in equilibrium statistical physics.&lt;&#x2F;p&gt;
&lt;p&gt;Self-organized criticality is another route. In Bak, Tang, and Wiesenfeld’s sandpile model, grains are added slowly until the system organizes itself near a critical state. Avalanches of many sizes appear. The point is not that every power law comes from a sandpile, but that repeated local rules can create scale-free statistics without an external planner tuning the system by hand.&lt;&#x2F;p&gt;
&lt;p&gt;Preferential attachment is a third route, and it is probably the one readers meet most often. If new links, people, capital, or attention attach preferentially to nodes that already have many links, people, capital, or attention, then the large get larger faster. This is the Yule-Simon or rich-get-richer mechanism. It appears in city sizes, word frequencies, citation networks, wealth distributions, internet links, and firm sizes.&lt;&#x2F;p&gt;
&lt;p&gt;The toy rule is simple. If node $i$ has size $k_i$, then the probability that the next unit attaches to it is proportional to $k_i$:&lt;&#x2F;p&gt;
&lt;p&gt;$$P(i)=\frac{k_i}{\sum_j k_j}.$$&lt;&#x2F;p&gt;
&lt;p&gt;That one reinforcement rule can create a heavy-tailed distribution without invoking fractal geometry or a sandpile. The connection to the ladder is still the same: a repeated local transformation changes the distribution, and the long-run distribution approaches a scale-free fixed shape.&lt;&#x2F;p&gt;
&lt;p&gt;There is also a direct probability version of renormalization: the central limit theorem.&lt;&#x2F;p&gt;
&lt;p&gt;Take two independent copies of a random variable, add them, and rescale:&lt;&#x2F;p&gt;
&lt;p&gt;$$X\mapsto \frac{X_1+X_2}{\sqrt{2}}.$$&lt;&#x2F;p&gt;
&lt;p&gt;Repeat this operation. For distributions with finite variance, the Gaussian is the attracting fixed point. That is why sums of many small independent effects so often look normal.&lt;&#x2F;p&gt;
&lt;p&gt;But if the variance is infinite, the Gaussian is no longer the right attractor. The fixed points become Lévy stable laws, many of which have power-law tails. Fat tails are not merely “failed Gaussians.” They belong to a different basin of attraction in distribution space.&lt;&#x2F;p&gt;
&lt;p&gt;The rescaling exponent is the tell. To keep a finite-variance sum fixed you divide by $\sqrt{n}=n^{1&#x2F;2}$; a stable law with tail index $\alpha$ instead rescales like $n^{1&#x2F;\alpha}$. That exponent is not new. It is the same $n^{1&#x2F;\alpha}$ that governs how fast the maximum grows in the next section. The way fat-tailed sums refuse to shrink and the way fat-tailed maxima refuse to stay small are one fact wearing two faces.&lt;&#x2F;p&gt;
&lt;p&gt;This is one of the cleanest ways to understand Extremistan. A Gaussian world and a power-law world are governed by different renormalization fixed points.&lt;&#x2F;p&gt;
&lt;p&gt;The bridge from fractals to power laws is measurement.&lt;&#x2F;p&gt;
&lt;p&gt;A fractal is scale invariance seen as shape. A power law is scale invariance seen as counting. If a coastline, river network, fault system, market cascade, or city system has structure across many scales, then counting “how many things of size at least $x$?” often produces a power law.&lt;&#x2F;p&gt;
&lt;p&gt;The important connection is that both are fixed points of a rescaling operation.&lt;&#x2F;p&gt;
&lt;p&gt;For a fractal, rescale the picture and the shape is statistically similar.&lt;&#x2F;p&gt;
&lt;p&gt;For a power law, rescale the variable and the distribution changes only by a multiplicative factor:&lt;&#x2F;p&gt;
&lt;p&gt;$$P(\lambda x)=\lambda^{-\alpha}P(x).$$&lt;&#x2F;p&gt;
&lt;p&gt;This is not a metaphor. It is the same mathematical form: an object is transformed by zooming, and its essential structure survives. The zoom operation is the transformation; the fractal or power-law distribution is the invariant object.&lt;&#x2F;p&gt;
&lt;p&gt;The geometry and the probability are not separate mysteries. They are two ways of observing the same lack of characteristic scale.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;power-laws-create-extremistan&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#power-laws-create-extremistan&quot; aria-label=&quot;Anchor link for: power-laws-create-extremistan&quot;&gt;#&lt;&#x2F;a&gt;Power Laws Create Extremistan&lt;&#x2F;h2&gt;
&lt;p&gt;This is where Taleb enters.&lt;&#x2F;p&gt;
&lt;p&gt;In a Gaussian world:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;averages matter,&lt;&#x2F;li&gt;
&lt;li&gt;variance is finite,&lt;&#x2F;li&gt;
&lt;li&gt;large events are rare enough to ignore most of the time.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;In a power-law world:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;extremes dominate,&lt;&#x2F;li&gt;
&lt;li&gt;variance may not exist,&lt;&#x2F;li&gt;
&lt;li&gt;averages can remain unstable for a very long time.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;For a Pareto tail:&lt;&#x2F;p&gt;
&lt;p&gt;$$P(X&amp;gt;x)\sim x^{-\alpha}.$$&lt;&#x2F;p&gt;
&lt;p&gt;This means: the probability that $X$ exceeds $x$ falls like a power of $x$. The symbol $\sim$ means “asymptotically proportional to.” It does not say the equality is exact at every size. It says the tail behaves like that for large values.&lt;&#x2F;p&gt;
&lt;p&gt;The mean exists only when:&lt;&#x2F;p&gt;
&lt;p&gt;$$\alpha&amp;gt;1.$$&lt;&#x2F;p&gt;
&lt;p&gt;The variance exists only when:&lt;&#x2F;p&gt;
&lt;p&gt;$$\alpha&amp;gt;2.$$&lt;&#x2F;p&gt;
&lt;p&gt;So if $1&amp;lt;\alpha\leq 2$, the average exists but the variance is infinite. If $\alpha\leq 1$, even the mean does not exist. This is not a small technicality. It changes what evidence means.&lt;&#x2F;p&gt;
&lt;p&gt;In a thin-tailed world, more samples stabilize your estimate quickly. In a fat-tailed world, one new observation can dominate the entire history.&lt;&#x2F;p&gt;
&lt;p&gt;One earthquake dominates a century.&lt;&#x2F;p&gt;
&lt;p&gt;One company dominates a market.&lt;&#x2F;p&gt;
&lt;p&gt;One city dominates a country.&lt;&#x2F;p&gt;
&lt;p&gt;One idea dominates an era.&lt;&#x2F;p&gt;
&lt;p&gt;The seventh lesson:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Power laws move importance from the average to the extreme.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;The operational difference can be seen in the maximum.&lt;&#x2F;p&gt;
&lt;p&gt;For $n$ Gaussian observations, the maximum grows slowly, roughly like:&lt;&#x2F;p&gt;
&lt;p&gt;$$\sqrt{2\log n}.$$&lt;&#x2F;p&gt;
&lt;p&gt;For $n$ Pareto observations with tail index $\alpha$, the maximum grows like:&lt;&#x2F;p&gt;
&lt;p&gt;$$n^{1&#x2F;\alpha}.$$&lt;&#x2F;p&gt;
&lt;p&gt;That is the whole Extremistan difference. In Mediocristan, the maximum grows like the square root of a logarithm. In Extremistan, it grows as a power of sample size. More observations do not merely refine the average. They create room for a new dominant event.&lt;&#x2F;p&gt;
&lt;p&gt;This is why the sample mean can look stable for a while and then jump. It was not converging in the way your Gaussian-trained intuition expected. It was waiting for a new maximum.&lt;&#x2F;p&gt;
&lt;p&gt;The bridge from power laws to Extremistan is dominance.&lt;&#x2F;p&gt;
&lt;p&gt;In a Gaussian world, no single observation is allowed to matter too much. The central limit theorem is the mathematical expression of this. Many small independent contributions add up, and the aggregate becomes stable. Individual terms disappear into the average.&lt;&#x2F;p&gt;
&lt;p&gt;In a power-law world, the largest observation can be the story. The aggregate is not a democratic sum of comparable pieces. It is often an aristocracy of extremes.&lt;&#x2F;p&gt;
&lt;p&gt;This changes what it means to understand a system. In Mediocristan, the typical case is informative. If you understand the average human height, you understand a lot about human height. In Extremistan, the typical case can be almost irrelevant. The typical startup does not explain venture returns. The typical earthquake does not explain geological damage. The typical word does not explain language frequency. The typical city does not explain urban concentration.&lt;&#x2F;p&gt;
&lt;p&gt;So instead of asking what the ordinary case looks like, you ask:&lt;&#x2F;p&gt;
&lt;p&gt;$$\frac{\text{largest few observations}}{\text{total mass}}.$$&lt;&#x2F;p&gt;
&lt;p&gt;If that ratio is large, then averages become summaries of extremes, not summaries of typicality.&lt;&#x2F;p&gt;
&lt;p&gt;This is the statistical version of the earlier attractor story. In dynamics, the attractor organizes trajectories. In Extremistan, the tail organizes the sample. The center is no longer sovereign. The edge is.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;extremistan-breaks-ergodicity&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#extremistan-breaks-ergodicity&quot; aria-label=&quot;Anchor link for: extremistan-breaks-ergodicity&quot;&gt;#&lt;&#x2F;a&gt;Extremistan Breaks Ergodicity&lt;&#x2F;h2&gt;
&lt;p&gt;Now introduce time.&lt;&#x2F;p&gt;
&lt;p&gt;An ensemble average asks what happens across many parallel worlds. A time average asks what happens to one system as it moves through time.&lt;&#x2F;p&gt;
&lt;p&gt;These are not the same question.&lt;&#x2F;p&gt;
&lt;p&gt;An &lt;strong&gt;ergodic&lt;&#x2F;strong&gt; system is one where, roughly, watching one typical trajectory for a long time gives you the same statistics as looking at many copies of the system at one time.&lt;&#x2F;p&gt;
&lt;p&gt;A clean mathematical version is this. Suppose a system evolves by a transformation $T$, and suppose $g(x)$ is some quantity you measure at state $x$. The time average along one trajectory is:&lt;&#x2F;p&gt;
&lt;p&gt;$$\frac{1}{N}\sum_{n=0}^{N-1}g(T^n x).$$&lt;&#x2F;p&gt;
&lt;p&gt;The ensemble average is:&lt;&#x2F;p&gt;
&lt;p&gt;$$\int g(x),d\mu(x),$$&lt;&#x2F;p&gt;
&lt;p&gt;where $\mu$ is the probability distribution over states.&lt;&#x2F;p&gt;
&lt;p&gt;Ergodicity says that, under the right conditions:&lt;&#x2F;p&gt;
&lt;p&gt;$$\lim_{N\to\infty}\frac{1}{N}\sum_{n=0}^{N-1}g(T^n x)=\int g(x),d\mu(x).$$&lt;&#x2F;p&gt;
&lt;p&gt;Do not worry about the measure-theory details. The practical meaning is simple: one long-lived path eventually samples the space fairly.&lt;&#x2F;p&gt;
&lt;p&gt;This is the content of Birkhoff’s ergodic theorem. It is one of the theorems that makes the phrase “time average equals ensemble average” mathematically precise.&lt;&#x2F;p&gt;
&lt;p&gt;Non-ergodicity means this fails. One path through time is not equivalent to many parallel samples.&lt;&#x2F;p&gt;
&lt;p&gt;There is another fixed-point object nearby. In a Markov chain, a stationary distribution $\pi$ satisfies:&lt;&#x2F;p&gt;
&lt;p&gt;$$\pi=\pi P,$$&lt;&#x2F;p&gt;
&lt;p&gt;where $P$ is the transition matrix. So the long-run distribution is a fixed point of the operator that pushes distributions forward one step.&lt;&#x2F;p&gt;
&lt;p&gt;For deterministic chaotic maps, the analogous object is an invariant measure. Instead of asking where one point goes, ask how a whole density of points moves. The transfer, or Perron-Frobenius, operator sends today’s density to tomorrow’s density. An invariant density $\rho$ satisfies:&lt;&#x2F;p&gt;
&lt;p&gt;$$\mathcal{P}\rho=\rho.$$&lt;&#x2F;p&gt;
&lt;p&gt;For the logistic map at $r=4$, the natural invariant density is:&lt;&#x2F;p&gt;
&lt;p&gt;$$\rho(x)=\frac{1}{\pi\sqrt{x(1-x)}}.$$&lt;&#x2F;p&gt;
&lt;p&gt;This connects chaos back to ergodicity. A chaotic map can be unpredictable point by point while still having a stable statistical distribution. The point trajectory is unstable; the measure is the fixed object.&lt;&#x2F;p&gt;
&lt;p&gt;Suppose wealth evolves multiplicatively:&lt;&#x2F;p&gt;
&lt;p&gt;$$W_{t+1}=W_t(1+R_t).$$&lt;&#x2F;p&gt;
&lt;p&gt;The ensemble object is:&lt;&#x2F;p&gt;
&lt;p&gt;$$\mathbb{E}[W_t].$$&lt;&#x2F;p&gt;
&lt;p&gt;The time-growth object is:&lt;&#x2F;p&gt;
&lt;p&gt;$$\lim_{T\to\infty}\frac{1}{T}\log\left(\frac{W_T}{W_0}\right)=\mathbb{E}[\log(1+R)].$$&lt;&#x2F;p&gt;
&lt;p&gt;The logarithm appears because repeated multiplication becomes repeated addition in log space.&lt;&#x2F;p&gt;
&lt;p&gt;If the system has fat tails, ruin states, or rare dominating events, a single trajectory does not sample all possibilities in any useful way. The ensemble average becomes a bad guide to the lived path.&lt;&#x2F;p&gt;
&lt;p&gt;That is non-ergodicity:&lt;&#x2F;p&gt;
&lt;p&gt;$$\text{time average}\neq \text{ensemble average}.$$&lt;&#x2F;p&gt;
&lt;p&gt;This is why Taleb, Peters, Kelly, and ergodicity economics care so much about fat tails. A strategy can look good in expectation and still be fatal through time.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;simulation-ensemble-versus-time&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#simulation-ensemble-versus-time&quot; aria-label=&quot;Anchor link for: simulation-ensemble-versus-time&quot;&gt;#&lt;&#x2F;a&gt;Simulation: Ensemble Versus Time&lt;&#x2F;h3&gt;
&lt;figure class=&quot;fixed-point-sim-fig&quot;&gt;
  &lt;div class=&quot;fixed-point-sim&quot; data-sim=&quot;ergodicity&quot;&gt;
    &lt;noscript&gt;This interactive simulation needs JavaScript enabled.&lt;&#x2F;noscript&gt;
  &lt;&#x2F;div&gt;
  
  &lt;figcaption&gt;The ensemble mean can rise while the median lived path stagnates. Time averages and ensemble averages are different objects.&lt;&#x2F;figcaption&gt;
  
&lt;&#x2F;figure&gt;
&lt;script defer src=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;js&#x2F;fixed-point-sims.js?h=2f244814799a398bdf5a&quot;&gt;&lt;&#x2F;script&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;python&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-keyword&quot;&gt;import&lt;&#x2F;span&gt;&lt;span&gt; numpy&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; as&lt;&#x2F;span&gt;&lt;span&gt; np&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;rng&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; np.random.default_rng(&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;7&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;n_paths&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; =&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt; 20_000&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;n_steps&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; =&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt; 300&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-comment z-comment&quot;&gt;# Mostly small gains, rare large losses.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;returns&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; np.where(&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    rng.random((n_paths, n_steps))&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; &amp;lt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt; 0.01&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-keyword&quot;&gt;    -&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;0.55&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-constant&quot;&gt;    0.008&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;wealth&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; np.cumprod(&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;1&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; +&lt;&#x2F;span&gt;&lt;span&gt; returns,&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable&quot;&gt; axis&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;1&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;ensemble_mean&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; wealth.mean(&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable&quot;&gt;axis&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;0&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;median_path&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; np.median(wealth,&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable&quot;&gt; axis&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;0&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;time_growth&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; np.log(wealth[:,&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; -&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;1&lt;&#x2F;span&gt;&lt;span&gt;]).mean()&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; &#x2F;&lt;&#x2F;span&gt;&lt;span&gt; n_steps&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Plot the ensemble mean and the median path. They separate. The average gets pulled by winners. The typical path is governed by survival and multiplicative compounding.&lt;&#x2F;p&gt;
&lt;p&gt;To make the graph explicit:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;python&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-keyword&quot;&gt;import&lt;&#x2F;span&gt;&lt;span&gt; matplotlib.pyplot&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; as&lt;&#x2F;span&gt;&lt;span&gt; plt&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;plt.plot(ensemble_mean,&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable&quot;&gt; label&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;ensemble mean&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;plt.plot(median_path,&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable&quot;&gt; label&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;median path&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;plt.yscale(&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;log&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;plt.xlabel(&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;time&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;plt.ylabel(&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;wealth&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;plt.legend()&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;What the reader should see: the ensemble mean can rise while the typical path stagnates or dies. In multiplicative systems, the average path and the lived path are different mathematical objects.&lt;&#x2F;p&gt;
&lt;p&gt;The eighth lesson:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Power laws often make systems non-ergodic because rare events dominate long-run outcomes.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;A minimal two-outcome example makes the ensemble&#x2F;time split sharper.&lt;&#x2F;p&gt;
&lt;p&gt;Suppose a gamble multiplies wealth by $1.5$ with probability $1&#x2F;2$ and by $0.6$ with probability $1&#x2F;2$.&lt;&#x2F;p&gt;
&lt;p&gt;The ensemble-average multiplier is:&lt;&#x2F;p&gt;
&lt;p&gt;$$\mathbb{E}[M]=\frac{1.5+0.6}{2}=1.05.$$&lt;&#x2F;p&gt;
&lt;p&gt;Across parallel worlds, average wealth rises by 5 percent per round. But the time-average growth rate is:&lt;&#x2F;p&gt;
&lt;p&gt;$$g=\frac{1}{2}\log(1.5)+\frac{1}{2}\log(0.6)=\log\sqrt{0.9}&amp;lt;0.$$&lt;&#x2F;p&gt;
&lt;p&gt;One person repeating the gamble goes broke exponentially almost surely, even though the ensemble average grows. The fixed point has moved again: it is now the long-run growth rate of a repeated multiplicative process, and the logarithm is the coordinate system that reveals it.&lt;&#x2F;p&gt;
&lt;p&gt;This is why repeated transformation is the right primitive. A one-shot gamble and a repeated gamble are different mathematical objects. Expected value answers the first badly enough in some cases. It answers the second catastrophically when multiplication, ruin, and fat tails enter.&lt;&#x2F;p&gt;
&lt;p&gt;The bridge from Extremistan to non-ergodicity is the single path.&lt;&#x2F;p&gt;
&lt;p&gt;Power laws tell you that extremes dominate the ensemble. Non-ergodicity asks whether one trajectory gets to experience the ensemble in the right proportions. Often it does not.&lt;&#x2F;p&gt;
&lt;p&gt;This is a deeper shift than it first appears. Probability theory often starts by imagining many possible outcomes side by side. But life is not side by side. Life is sequential. You do not get to average over parallel versions of yourself after ruin. You move through one path, in order.&lt;&#x2F;p&gt;
&lt;p&gt;That order matters. Multiplicative systems remember losses differently from gains. A 50 percent loss followed by a 50 percent gain is not zero:&lt;&#x2F;p&gt;
&lt;p&gt;$$1.0 \times 0.5 \times 1.5 = 0.75.$$&lt;&#x2F;p&gt;
&lt;p&gt;The arithmetic average return is zero, but the path lost 25 percent. The logarithm sees this because logarithms turn multiplication into addition:&lt;&#x2F;p&gt;
&lt;p&gt;$$\log(ab)=\log a+\log b.$$&lt;&#x2F;p&gt;
&lt;p&gt;So the correct invariant for repeated wealth dynamics is not expected return. It is expected log growth, survival probability, and drawdown structure.&lt;&#x2F;p&gt;
&lt;p&gt;If the rare event kills the process, the process stops before it can average anything. If the rare event creates a giant winner, the ensemble mean may be dominated by paths you will almost surely not live. Time is not a neutral sampling device. It has order, survival, and path dependence.&lt;&#x2F;p&gt;
&lt;p&gt;This connects back to attractors. In an ergodic system, a single long trajectory eventually explores the relevant space in the right proportions. In a non-ergodic system, the trajectory gets trapped, ruined, amplified, or path-dependent. The basin you fall into matters more than the ensemble average over all basins.&lt;&#x2F;p&gt;
&lt;p&gt;The invariant summary of this essay is:&lt;&#x2F;p&gt;
&lt;p&gt;$$
P(\lambda x)=\lambda^{-\alpha}P(x)
\quad\Rightarrow\quad
P(x)\propto x^{-\alpha}.
$$&lt;&#x2F;p&gt;
&lt;p&gt;Scale invariance does not always come from fractals. It can come from renormalization, multiplicative growth, preferential attachment, criticality, or self-organized criticality. The shared object is the absence of a characteristic scale.&lt;&#x2F;p&gt;
&lt;p&gt;Once those scale-free distributions enter repeated multiplicative processes, the relevant invariant is not the ensemble expectation:&lt;&#x2F;p&gt;
&lt;p&gt;$$
\mathbb{E}[W_t],
$$&lt;&#x2F;p&gt;
&lt;p&gt;but the time-average growth rate:&lt;&#x2F;p&gt;
&lt;p&gt;$$
\lim_{T\to\infty}\frac{1}{T}\log\frac{W_T}{W_0}.
$$&lt;&#x2F;p&gt;
&lt;p&gt;The next essay asks why recurrence and self-reference force arithmetic into the story.&lt;&#x2F;p&gt;
&lt;aside class=&quot;toolkit&quot;&gt;
  &lt;p class=&quot;toolkit-label&quot;&gt;Takeaway&lt;&#x2F;p&gt;
  &lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Space:&lt;&#x2F;strong&gt; probability distributions, and wealth paths followed through time.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Transformation:&lt;&#x2F;strong&gt; rescaling the variable, $x\mapsto\lambda x$; and multiplication through time.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Invariant object:&lt;&#x2F;strong&gt; a scale-invariant tail, $x^{-\alpha}$; and the time-average growth rate.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Failure mode:&lt;&#x2F;strong&gt; unstable averages, ensemble mean diverging from the lived path, ruin.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;

&lt;&#x2F;aside&gt;
&lt;h2 id=&quot;further-reading&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#further-reading&quot; aria-label=&quot;Anchor link for: further-reading&quot;&gt;#&lt;&#x2F;a&gt;Further Reading&lt;&#x2F;h2&gt;
&lt;ol&gt;
&lt;li&gt;Benoit Mandelbrot, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;The_Fractal_Geometry_of_Nature&quot;&gt;&lt;em&gt;The Fractal Geometry of Nature&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;. The classic source for fractals and scaling.&lt;&#x2F;li&gt;
&lt;li&gt;Mark Newman, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;arxiv.org&#x2F;abs&#x2F;cond-mat&#x2F;0412004&quot;&gt;&lt;em&gt;Power laws, Pareto distributions and Zipf’s law&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (2005). A careful first paper on power-law distributions.&lt;&#x2F;li&gt;
&lt;li&gt;Aaron Clauset, Cosma Shalizi, and Mark Newman, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;arxiv.org&#x2F;abs&#x2F;0706.1062&quot;&gt;&lt;em&gt;Power-law distributions in empirical data&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (2009). The statistical cautionary reference.&lt;&#x2F;li&gt;
&lt;li&gt;Kenneth Wilson, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1103&#x2F;RevModPhys.55.583&quot;&gt;&lt;em&gt;The renormalization group and critical phenomena&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (1983 Nobel lecture). The clean conceptual source for renormalization and critical exponents.&lt;&#x2F;li&gt;
&lt;li&gt;Edwin Jaynes, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1103&#x2F;PhysRev.106.620&quot;&gt;&lt;em&gt;Information theory and statistical mechanics&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (1957). The maximum-entropy principle, behind the entropy derivation of power laws.&lt;&#x2F;li&gt;
&lt;li&gt;Ole Peters, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1038&#x2F;s41567-019-0732-0&quot;&gt;&lt;em&gt;The ergodicity problem in economics&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (2019). A direct route into time averages, ensemble averages, and multiplicative wealth.&lt;&#x2F;li&gt;
&lt;li&gt;Ole Peters and Murray Gell-Mann, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1063&#x2F;1.4940236&quot;&gt;&lt;em&gt;Evaluating gambles using dynamics&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (2016). The sharpest single statement of the time-average argument.&lt;&#x2F;li&gt;
&lt;li&gt;John Kelly, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1002&#x2F;j.1538-7305.1956.tb03809.x&quot;&gt;&lt;em&gt;A new interpretation of information rate&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (1956). The original Kelly criterion paper.&lt;&#x2F;li&gt;
&lt;li&gt;Geoffrey West, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=jOnWowd-7HQ&quot;&gt;&lt;em&gt;Why Cities Keep on Growing, Corporations Always Die, and Life Gets Faster&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (The Long Now Foundation). A talk on the scaling laws and power-law exponents that run across biology, cities, and companies.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Chaos, Fractals, and Renormalization</title>
        <published>2025-06-09T00:00:00+00:00</published>
        <updated>2025-06-09T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://federicocarrone.com/series/fixed-point-ladder/chaos-fractals-and-renormalization/"/>
        <id>https://federicocarrone.com/series/fixed-point-ladder/chaos-fractals-and-renormalization/</id>
        
        <content type="html" xml:base="https://federicocarrone.com/series/fixed-point-ladder/chaos-fractals-and-renormalization/">&lt;p&gt;The &lt;a href=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;series&#x2F;fixed-point-ladder&#x2F;fixed-points-and-attractors&#x2F;&quot;&gt;previous essay&lt;&#x2F;a&gt; built the local picture. Repeated rules can converge to fixed points, and fixed points can organize nearby trajectories into attractors. But the real subject of this series is not only convergence. It is what happens when convergence starts to fail.&lt;&#x2F;p&gt;
&lt;p&gt;The logistic map gives the cleanest path into the failure:&lt;&#x2F;p&gt;
&lt;p&gt;$$x_{n+1}=r x_n(1-x_n).$$&lt;&#x2F;p&gt;
&lt;p&gt;At small parameter values, the map settles. Increase the parameter, and the attracting fixed point loses stability. The system does not become random immediately. It first becomes periodic. Then the period doubles. Then it doubles again. The road to chaos begins as a sequence of broken attractors.&lt;&#x2F;p&gt;
&lt;p&gt;This essay follows that road from bifurcation to chaos, and then from chaos to geometry. The main surprise is that fractals are not decorative pictures attached to chaos after the fact. They are invariant objects produced by repeated stretching, folding, deleting, rescaling, and returning.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-minimum-vocabulary&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#the-minimum-vocabulary&quot; aria-label=&quot;Anchor link for: the-minimum-vocabulary&quot;&gt;#&lt;&#x2F;a&gt;The Minimum Vocabulary&lt;&#x2F;h2&gt;
&lt;p&gt;A &lt;strong&gt;parameter&lt;&#x2F;strong&gt; is a number inside the rule that changes the rule without changing the state variable. In the logistic map:&lt;&#x2F;p&gt;
&lt;p&gt;$$x_{n+1}=r x_n(1-x_n),$$&lt;&#x2F;p&gt;
&lt;p&gt;$x_n$ is the state and $r$ is the parameter. Changing $x_n$ means moving through the system. Changing $r$ means changing the system itself.&lt;&#x2F;p&gt;
&lt;p&gt;A &lt;strong&gt;bifurcation&lt;&#x2F;strong&gt; is a qualitative change in long-run behavior as a parameter changes. The equation may still make sense, and the old fixed point may still exist algebraically, but its stability can change. That is why existence and stability must be separated.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Chaos&lt;&#x2F;strong&gt; means deterministic unpredictability. The rule has no random term, but nearby starting points separate exponentially. The linear-algebra analogy is an eigenvalue larger than one: a small component in an expanding direction gets amplified. In a nonlinear chaotic system, expansion and folding coexist.&lt;&#x2F;p&gt;
&lt;p&gt;A &lt;strong&gt;fractal&lt;&#x2F;strong&gt; is a set with structure across scales. Often its dimension is not an integer. The word should not mean “complicated picture.” The important fact is scale structure: zooming reveals new detail rather than a smooth tangent line.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Renormalization&lt;&#x2F;strong&gt; means changing scale and asking what remains the same. Instead of studying one orbit, you study a transformation on whole systems. A renormalization fixed point is an object that keeps the same form after coarse-graining or rescaling.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;bifurcations-cascade-into-chaos&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#bifurcations-cascade-into-chaos&quot; aria-label=&quot;Anchor link for: bifurcations-cascade-into-chaos&quot;&gt;#&lt;&#x2F;a&gt;Bifurcations Cascade Into Chaos&lt;&#x2F;h2&gt;
&lt;p&gt;Keep increasing the parameter.&lt;&#x2F;p&gt;
&lt;p&gt;The logistic map does not jump straight from order to total disorder. It walks through a very specific cascade:&lt;&#x2F;p&gt;
&lt;p&gt;$$1,2,4,8,16,\ldots$$&lt;&#x2F;p&gt;
&lt;p&gt;The period doubles. Then doubles again. Then doubles again. The parameter intervals between doublings shrink by a universal ratio:&lt;&#x2F;p&gt;
&lt;p&gt;$$\delta \approx 4.669201609\ldots$$&lt;&#x2F;p&gt;
&lt;p&gt;This is Feigenbaum’s constant.&lt;&#x2F;p&gt;
&lt;p&gt;Period doubling is not the only route to chaos. It is the one this essay uses because it gives the cleanest fixed-point story in function space.&lt;&#x2F;p&gt;
&lt;p&gt;The other classical routes are:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Quasiperiodic route.&lt;&#x2F;strong&gt; A system lives on a torus with two or more incommensurate frequencies, then the torus breaks down. This is associated with Ruelle and Takens.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Intermittency route.&lt;&#x2F;strong&gt; A system alternates between long quiet phases and irregular bursts. Pomeau and Manneville studied this route; it often produces power-law-distributed waiting times.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Crisis route.&lt;&#x2F;strong&gt; A chaotic attractor suddenly changes size or disappears when it collides with an unstable set.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;So “bifurcations create chaos” is shorthand. More precisely: changing parameters can destroy simple attractors and produce chaotic invariant sets through several mechanisms. Period doubling is the one where the scaling law is easiest to see.&lt;&#x2F;p&gt;
&lt;p&gt;By &lt;strong&gt;chaos&lt;&#x2F;strong&gt;, I do not mean “random.” A chaotic system is deterministic, but tiny differences in initial conditions grow so fast that long-term prediction becomes impossible in practice.&lt;&#x2F;p&gt;
&lt;p&gt;The usual phrase is &lt;strong&gt;sensitive dependence on initial conditions&lt;&#x2F;strong&gt;. If two starting points differ by a tiny amount $\epsilon$, after $n$ steps their distance can grow roughly like:&lt;&#x2F;p&gt;
&lt;p&gt;$$\epsilon e^{\lambda n}$$&lt;&#x2F;p&gt;
&lt;p&gt;for some positive number $\lambda$. That $\lambda$ is the Lyapunov exponent. Positive Lyapunov exponent means nearby points separate exponentially.&lt;&#x2F;p&gt;
&lt;p&gt;So chaos is not absence of rule. It is rule applied so repeatedly that information about the initial state gets amplified beyond usefulness.&lt;&#x2F;p&gt;
&lt;p&gt;The logistic map shows this with almost offensive simplicity. For $r=4$:&lt;&#x2F;p&gt;
&lt;p&gt;$$x_{n+1}=4x_n(1-x_n).$$&lt;&#x2F;p&gt;
&lt;p&gt;Two initial conditions that agree for many decimal places can eventually produce unrelated-looking futures. The rule is deterministic. There is no noise term. But the map repeatedly stretches the interval and folds it back. Each iteration reveals another bit of information about the initial condition and then amplifies it into visible difference.&lt;&#x2F;p&gt;
&lt;p&gt;There is even an exact relationship between the fully chaotic logistic map and the tent map. If:&lt;&#x2F;p&gt;
&lt;p&gt;$$x=\sin^2(\pi\theta),$$&lt;&#x2F;p&gt;
&lt;p&gt;then the logistic map at $r=4$ corresponds to doubling the angle:&lt;&#x2F;p&gt;
&lt;p&gt;$$\theta\mapsto 2\theta \pmod 1.$$&lt;&#x2F;p&gt;
&lt;p&gt;That map is the simplest model of chaos. It shifts binary digits. If:&lt;&#x2F;p&gt;
&lt;p&gt;$$\theta=0.b_1b_2b_3\ldots$$&lt;&#x2F;p&gt;
&lt;p&gt;then:&lt;&#x2F;p&gt;
&lt;p&gt;$$2\theta \pmod 1 = 0.b_2b_3b_4\ldots$$&lt;&#x2F;p&gt;
&lt;p&gt;Each iteration discards the first digit and promotes the next digit. A tiny difference far out in the binary expansion eventually moves to the front. This is sensitive dependence in one line.&lt;&#x2F;p&gt;
&lt;p&gt;This is why chaos is connected to information. The initial condition contains infinitely many digits. The dynamics acts like a machine that reads those digits over time. Finite measurement gives you only finitely many digits, so after enough iterations prediction fails.&lt;&#x2F;p&gt;
&lt;p&gt;The shocking part is not that this number appears in the logistic map. The shocking part is that it appears in many unrelated systems. Fluids, electronic circuits, population models, chemical reactions, and one-dimensional maps with a single hump can all approach chaos through the same ratio.&lt;&#x2F;p&gt;
&lt;p&gt;Why?&lt;&#x2F;p&gt;
&lt;p&gt;Because the resemblance runs deeper than ordinary physical space: the systems are approaching the same fixed point in &lt;strong&gt;function space&lt;&#x2F;strong&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;Renormalization is the operation. You rescale the map around its critical point, compose it with itself, and ask what function remains invariant under that transformation. Feigenbaum found a fixed point not of a number, but of an operator acting on functions.&lt;&#x2F;p&gt;
&lt;p&gt;That is the birth of universality.&lt;&#x2F;p&gt;
&lt;p&gt;The deeper statement is that Feigenbaum’s discovery is a renormalization fixed point.&lt;&#x2F;p&gt;
&lt;p&gt;Take a unimodal map, meaning a one-dimensional map with one hump. Near the onset of chaos, look at every second iterate:&lt;&#x2F;p&gt;
&lt;p&gt;$$f^2=f\circ f.$$&lt;&#x2F;p&gt;
&lt;p&gt;Then rescale space so the picture fits back into the same frame. This defines a renormalization operator on maps:&lt;&#x2F;p&gt;
&lt;p&gt;$$\mathcal{R}(f)(x)= -\alpha f(f(-x&#x2F;\alpha)),$$&lt;&#x2F;p&gt;
&lt;p&gt;where $\alpha$ is the spatial scaling factor. The exact convention varies, but the idea does not: compose the map with itself, zoom back in, and ask what shape remains.&lt;&#x2F;p&gt;
&lt;p&gt;This is the same idea as looking at a coastline from farther away, then rescaling the picture to compare it with the original. The renormalization operator says:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;compress many small steps into one larger step,&lt;&#x2F;li&gt;
&lt;li&gt;rescale the coordinates,&lt;&#x2F;li&gt;
&lt;li&gt;compare the new rule with the old rule.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;Universality means there is a function $g$ satisfying:&lt;&#x2F;p&gt;
&lt;p&gt;$$\mathcal{R}(g)=g.$$&lt;&#x2F;p&gt;
&lt;p&gt;That is not a fixed point of the original dynamical system. It is a fixed point of an operator acting on dynamical systems. Feigenbaum’s $\delta$ is the expanding eigenvalue of the linearization of $\mathcal{R}$ around $g$. More concretely, if $r_n$ is the parameter value where period $2^n$ first appears, then:&lt;&#x2F;p&gt;
&lt;p&gt;$$\delta=\lim_{n\to\infty}\frac{r_{n-1}-r_{n-2}}{r_n-r_{n-1}}.$$&lt;&#x2F;p&gt;
&lt;p&gt;The constant is universal because the same renormalization fixed point controls the approach to chaos across a whole class of maps. The details wash out. The operator’s fixed point remains.&lt;&#x2F;p&gt;
&lt;p&gt;This is the first moment where the essay should make the reader stop. We began with $x=f(x)$. Now the object satisfying the fixed-point equation is not a number. It is a function. The transformation acts on a space of rules.&lt;&#x2F;p&gt;
&lt;p&gt;The logistic map is the concrete picture behind that abstract sentence. Its bifurcation diagram contains smaller copies of itself. Between chaotic regions there are periodic windows. Inside those windows, period doubling begins again. The same route repeats at smaller scales.&lt;&#x2F;p&gt;
&lt;p&gt;So the logistic map connects three levels at once:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;state level:&lt;&#x2F;strong&gt; points move by $x_{n+1}=rx_n(1-x_n)$,&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;orbit level:&lt;&#x2F;strong&gt; fixed points become cycles and cycles double,&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;rule level:&lt;&#x2F;strong&gt; the whole family of maps approaches a renormalization fixed point.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;Fractality enters because the third level feeds back into the second. The repeated branching of attractors is governed by a self-similar scaling law. Zoom into the diagram and you do not get smoothness. You get more structure.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;simulation-feigenbaum-ratios&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#simulation-feigenbaum-ratios&quot; aria-label=&quot;Anchor link for: simulation-feigenbaum-ratios&quot;&gt;#&lt;&#x2F;a&gt;Simulation: Feigenbaum Ratios&lt;&#x2F;h3&gt;
&lt;figure class=&quot;fixed-point-sim-fig&quot;&gt;
  &lt;div class=&quot;fixed-point-sim&quot; data-sim=&quot;feigenbaum&quot;&gt;
    &lt;noscript&gt;This interactive simulation needs JavaScript enabled.&lt;&#x2F;noscript&gt;
  &lt;&#x2F;div&gt;
  
  &lt;figcaption&gt;Successive period-doubling intervals shrink toward Feigenbaum&amp;#x27;s universal constant delta ≈ 4.669.&lt;&#x2F;figcaption&gt;
  
&lt;&#x2F;figure&gt;
&lt;script defer src=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;js&#x2F;fixed-point-sims.js?h=2f244814799a398bdf5a&quot;&gt;&lt;&#x2F;script&gt;
&lt;p&gt;Numerically locate the first few period-doubling parameters:&lt;&#x2F;p&gt;
&lt;p&gt;$$r_1,r_2,r_3,\ldots$$&lt;&#x2F;p&gt;
&lt;p&gt;Then compute:&lt;&#x2F;p&gt;
&lt;p&gt;$$\frac{r_{n-1}-r_{n-2}}{r_n-r_{n-1}}.$$&lt;&#x2F;p&gt;
&lt;p&gt;These ratios should approach:&lt;&#x2F;p&gt;
&lt;p&gt;$$\delta\approx 4.669.$$&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;python&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-comment z-comment&quot;&gt;# Approximate known period-doubling parameters for the logistic map.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;rs&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; np.array([&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-constant&quot;&gt;    3.0000000000&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-constant&quot;&gt;    3.4494897428&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-constant&quot;&gt;    3.5440903500&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-constant&quot;&gt;    3.5644072661&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-constant&quot;&gt;    3.5687594000&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-constant&quot;&gt;    3.5696916090&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;])&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;ratios&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; []&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-keyword&quot;&gt;for&lt;&#x2F;span&gt;&lt;span&gt; n&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; in&lt;&#x2F;span&gt;&lt;span class=&quot;z-support&quot;&gt; range&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;2&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;span class=&quot;z-support&quot;&gt; len&lt;&#x2F;span&gt;&lt;span&gt;(rs)):&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    ratios.append((rs[n&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; -&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt; 1&lt;&#x2F;span&gt;&lt;span&gt;]&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; -&lt;&#x2F;span&gt;&lt;span&gt; rs[n&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; -&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt; 2&lt;&#x2F;span&gt;&lt;span&gt;])&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; &#x2F;&lt;&#x2F;span&gt;&lt;span&gt; (rs[n]&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; -&lt;&#x2F;span&gt;&lt;span&gt; rs[n&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; -&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt; 1&lt;&#x2F;span&gt;&lt;span&gt;]))&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-support&quot;&gt;print&lt;&#x2F;span&gt;&lt;span&gt;(ratios)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;What the reader should see: the cascade is not arbitrary. Its intervals shrink at a universal rate. The fixed point has moved from state space to function space.&lt;&#x2F;p&gt;
&lt;p&gt;The fourth lesson:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Chaos can appear when bifurcations accumulate around a fixed point in function space.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;The bridge from bifurcation to chaos is accumulation.&lt;&#x2F;p&gt;
&lt;p&gt;One bifurcation is a structural change. A cascade of bifurcations is a machine for producing arbitrarily fine distinctions in long-run behavior. At period one, the system remembers almost nothing. At period two, it has two phases. At period four, four phases. After many doublings, the number of distinguishable phases becomes too large for finite observation to resolve.&lt;&#x2F;p&gt;
&lt;p&gt;This matters because chaos is often described psychologically as “disorder.” The Feigenbaum route shows the opposite. Chaos is not a failure of determinism. It is determinism iterated through a hierarchy of increasingly fine distinctions.&lt;&#x2F;p&gt;
&lt;p&gt;There is a second bridge here: the object of study moves up one level.&lt;&#x2F;p&gt;
&lt;p&gt;At first we studied points:&lt;&#x2F;p&gt;
&lt;p&gt;$$x\mapsto f(x).$$&lt;&#x2F;p&gt;
&lt;p&gt;Then we studied attractors made of orbits.&lt;&#x2F;p&gt;
&lt;p&gt;Now Feigenbaum asks us to study maps themselves:&lt;&#x2F;p&gt;
&lt;p&gt;$$f\mapsto \mathcal{R}(f).$$&lt;&#x2F;p&gt;
&lt;p&gt;That is a categorical move in spirit, even before category theory enters explicitly. We take the rule that used to act on points and make rules themselves into points of a larger space. The fixed point is no longer a number. It is a universal shape of a function under renormalization.&lt;&#x2F;p&gt;
&lt;p&gt;When the intervals between structural changes shrink geometrically, there is no last simple regime. Order does not disappear because the rule is abandoned. Order dissolves because the rule recursively creates more and more structure than finite measurement can track.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;chaos-leaves-fractals-behind&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#chaos-leaves-fractals-behind&quot; aria-label=&quot;Anchor link for: chaos-leaves-fractals-behind&quot;&gt;#&lt;&#x2F;a&gt;Chaos Leaves Fractals Behind&lt;&#x2F;h2&gt;
&lt;p&gt;Chaotic systems stretch and fold.&lt;&#x2F;p&gt;
&lt;p&gt;Stretch.&lt;&#x2F;p&gt;
&lt;p&gt;Fold.&lt;&#x2F;p&gt;
&lt;p&gt;Stretch.&lt;&#x2F;p&gt;
&lt;p&gt;Fold.&lt;&#x2F;p&gt;
&lt;p&gt;Like kneading dough.&lt;&#x2F;p&gt;
&lt;p&gt;Stretching separates nearby points. Folding keeps the system bounded. Do both forever and a smooth region becomes an infinitely layered object.&lt;&#x2F;p&gt;
&lt;p&gt;This is why strange attractors are fractal. The Lorenz attractor is the geometry left behind by repeated stretching and folding, not a decorative butterfly shape. Points that begin close together separate, loop around, get folded back, and separate again.&lt;&#x2F;p&gt;
&lt;p&gt;Since this essay mostly uses discrete-time maps, the Hénon map is an even better strange-attractor example:&lt;&#x2F;p&gt;
&lt;p&gt;$$x_{n+1}=1-a x_n^2+y_n,$$&lt;&#x2F;p&gt;
&lt;p&gt;$$y_{n+1}=b x_n.$$&lt;&#x2F;p&gt;
&lt;p&gt;For the classical parameters $a=1.4$ and $b=0.3$, the orbit settles onto a thin folded set in the plane. It is not a curve and not an area. It is a strange attractor produced by repeated stretching, folding, and contraction.&lt;&#x2F;p&gt;
&lt;p&gt;A &lt;strong&gt;fractal&lt;&#x2F;strong&gt; is an object whose detail does not disappear when you zoom in. A smooth curve becomes simpler at small scales. A fractal keeps producing structure. The word often gets abused, but the basic idea is simple: the object has meaningful structure across many scales.&lt;&#x2F;p&gt;
&lt;p&gt;Graphically, the simplest fractal is the Cantor set. Start with the interval $[0,1]$. Remove the middle third. Then remove the middle third of each remaining interval. Then repeat forever.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;articles&#x2F;fixed-point-cantor-set.svg&quot; alt=&quot;Four stages of the Cantor set construction showing repeated middle-third removal&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;simulation-cantor-construction&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#simulation-cantor-construction&quot; aria-label=&quot;Anchor link for: simulation-cantor-construction&quot;&gt;#&lt;&#x2F;a&gt;Simulation: Cantor Construction&lt;&#x2F;h3&gt;
&lt;figure class=&quot;fixed-point-sim-fig&quot;&gt;
  &lt;div class=&quot;fixed-point-sim&quot; data-sim=&quot;cantor&quot;&gt;
    &lt;noscript&gt;This interactive simulation needs JavaScript enabled.&lt;&#x2F;noscript&gt;
  &lt;&#x2F;div&gt;
  
  &lt;figcaption&gt;Move the stage count. The Cantor set is made by repeating the same removal rule, leaving two scaled copies at every stage.&lt;&#x2F;figcaption&gt;
  
&lt;&#x2F;figure&gt;
&lt;script defer src=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;js&#x2F;fixed-point-sims.js?h=2f244814799a398bdf5a&quot;&gt;&lt;&#x2F;script&gt;
&lt;p&gt;One way to measure this is dimension. A line has dimension 1. A filled square has dimension 2. Some fractals live in between. The Cantor set, for example, has dimension:&lt;&#x2F;p&gt;
&lt;p&gt;$$\frac{\log 2}{\log 3}.$$&lt;&#x2F;p&gt;
&lt;p&gt;Why? At each stage it becomes two copies of itself, each scaled by a factor of $1&#x2F;3$. If dimension $D$ means “mass scales like length to the $D$,” then:&lt;&#x2F;p&gt;
&lt;p&gt;$$2\left(\frac{1}{3}\right)^D=1,$$&lt;&#x2F;p&gt;
&lt;p&gt;so:&lt;&#x2F;p&gt;
&lt;p&gt;$$D=\frac{\log 2}{\log 3}.$$&lt;&#x2F;p&gt;
&lt;p&gt;Here is the deeper connection back to Banach.&lt;&#x2F;p&gt;
&lt;p&gt;The Cantor set is a fixed point of a contraction operator acting on sets, not only the product of a recursive drawing trick.&lt;&#x2F;p&gt;
&lt;p&gt;Define two contractions:&lt;&#x2F;p&gt;
&lt;p&gt;$$S_0(x)=\frac{x}{3},\qquad S_1(x)=\frac{x+2}{3}.$$&lt;&#x2F;p&gt;
&lt;p&gt;Given a compact set $K$, meaning closed and bounded, define the Hutchinson operator:&lt;&#x2F;p&gt;
&lt;p&gt;$$\mathcal{H}(K)=S_0(K)\cup S_1(K).$$&lt;&#x2F;p&gt;
&lt;p&gt;Read this as: take the whole set, make two shrunken copies of it, and union those copies. The input is a shape; the output is the next approximation to the shape.&lt;&#x2F;p&gt;
&lt;p&gt;The Cantor set $C$ satisfies:&lt;&#x2F;p&gt;
&lt;p&gt;$$C=\mathcal{H}(C).$$&lt;&#x2F;p&gt;
&lt;p&gt;That is a fixed-point equation. The difference is that the object is no longer a number. It is a compact set.&lt;&#x2F;p&gt;
&lt;p&gt;The space of compact sets can be given a distance called the Hausdorff metric. It measures how far two shapes are from each other by asking how much one shape must be thickened before it covers the other, and vice versa. Under that metric, $\mathcal{H}$ is a contraction. So Banach’s fixed-point theorem applies again:&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;repeated contraction produces a unique fixed point.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;This is the cleanest possible bridge between the beginning of the essay and fractals. The Cantor set, Sierpiński triangle, and Barnsley fern are fixed points of contractions on spaces of sets. Many of them are literally Banach fixed points in a richer space, not just aesthetic relatives of one.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;why-roughness-is-generic&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#why-roughness-is-generic&quot; aria-label=&quot;Anchor link for: why-roughness-is-generic&quot;&gt;#&lt;&#x2F;a&gt;Why roughness is generic&lt;&#x2F;h3&gt;
&lt;p&gt;A natural objection: if fractals are just Banach fixed points, why are these fixed points rough rather than smooth? Nothing about contraction sounds jagged, and the fixed points of the first essay were tame.&lt;&#x2F;p&gt;
&lt;p&gt;The answer is a comparison of requirements. A smooth invariant set asks a lot of a map. The set must map into itself, &lt;em&gt;and&lt;&#x2F;em&gt; the map must respect the set’s differentiable structure, carrying tangent directions to tangent directions at every point. That is a strong compatibility condition between the dynamics and the geometry. A fractal invariant set asks for much less: contraction, copying, folding, splitting, and invariance. No tangent structure has to survive.&lt;&#x2F;p&gt;
&lt;p&gt;The dimension equation makes the comparison concrete, because the Hutchinson fixed point is not automatically fractal, and the exceptions are what explain the rule. The two maps $x&#x2F;2$ and $x&#x2F;2+1&#x2F;2$ have the whole interval $[0,1]$ as their fixed point. Four corner maps at contraction ratio $r=1&#x2F;2$ fill a solid square. Smooth answers happen exactly when the scaled copies tile perfectly, with no gaps and no overlaps. In the equal-ratio dimension equation $N r^D=1$, that perfect tiling is the arithmetic coincidence that makes $D=\log N&#x2F;\log(1&#x2F;r)$ come out an integer: two copies at ratio $1&#x2F;2$, four copies at ratio $1&#x2F;2$. The formula gives the Hausdorff dimension when the copies do not overlap too much, precisely when they satisfy the open set condition; if the pieces overlap badly, the simple count can fail. Almost any non-overlapping choice of $N$ and $r$ gives a non-integer. The number $D$ is the similarity dimension: it tells you how the amount of detail changes when you zoom. When $D$ is not an integer, the set is too large to be a cloud of points or a smooth curve, but too thin to fill an ordinary area. So rough self-similar sets are not exotic decorations bolted onto dynamics after the fact. They are often the ordinary fixed points of dissipative nonlinear rules, and the smooth cases are the ones that need an explanation.&lt;&#x2F;p&gt;
&lt;p&gt;The Mandelbrot set is another fixed-point object in disguise. For each complex number $c$, iterate:&lt;&#x2F;p&gt;
&lt;p&gt;$$z_{n+1}=z_n^2+c,\qquad z_0=0.$$&lt;&#x2F;p&gt;
&lt;p&gt;The question is whether the orbit stays bounded. The boundary is infinitely detailed because the same iterative question is being asked at every scale.&lt;&#x2F;p&gt;
&lt;p&gt;The link to fixed points is exact, not decorative. The large heart-shaped region, the main cardioid, is precisely the set of $c$ for which $z^2+c$ has an attracting fixed point: a point $z^\star$ with $z^\star=z^{\star 2}+c$ and multiplier $|2z^\star|&amp;lt;1$. That is the same stability criterion $|f’(x^\star)|&amp;lt;1$ from the logistic map, now in the complex plane. The round buds attached to the cardioid are the parameters where an attracting cycle has replaced the attracting fixed point. The Mandelbrot set is a map of where $z^2+c$ has a stable fixed point, then a stable two-cycle, then four, which is period doubling once again.&lt;&#x2F;p&gt;
&lt;p&gt;The logistic bifurcation diagram is fractal for a closely related reason. For each value of $r$, you iterate the same map many times and plot the long-run values of $x_n$. The horizontal axis is the parameter $r$. The vertical axis is the attractor.&lt;&#x2F;p&gt;
&lt;p&gt;At first the diagram has one branch: one attracting fixed point.&lt;&#x2F;p&gt;
&lt;p&gt;Then two branches: a period-two attractor.&lt;&#x2F;p&gt;
&lt;p&gt;Then four.&lt;&#x2F;p&gt;
&lt;p&gt;Then eight.&lt;&#x2F;p&gt;
&lt;p&gt;Then a dense-looking chaotic region.&lt;&#x2F;p&gt;
&lt;p&gt;But inside the chaotic region, order returns in windows. A famous one is the period-three window. Inside that window, the same story happens again: period three becomes period six, then twelve, then twenty-four, then chaos. Zoom further and similar structures reappear.&lt;&#x2F;p&gt;
&lt;p&gt;There is a famous theorem hiding behind that sentence. Li and Yorke proved that “period three implies chaos” for interval maps. Sharkovskii’s theorem is even stronger: the existence of a period-three orbit forces the existence of orbits of every other period. So the period-three window is not just a curiosity in a picture. It is a sign that the map has crossed into a regime where periodic structure of all orders is available.&lt;&#x2F;p&gt;
&lt;p&gt;This is not exactly self-similarity like the ideal Cantor set, where each copy is perfectly scaled. It is asymptotic and organized by universal constants. But the philosophical point is the same: iteration produces structure at many scales, and renormalization explains why those scales are related.&lt;&#x2F;p&gt;
&lt;p&gt;The logistic map therefore gives a direct path from a one-line recurrence to a fractal-looking object:&lt;&#x2F;p&gt;
&lt;p&gt;$$x_{n+1}=rx_n(1-x_n)$$&lt;&#x2F;p&gt;
&lt;p&gt;becomes:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;fixed point,&lt;&#x2F;li&gt;
&lt;li&gt;cycle,&lt;&#x2F;li&gt;
&lt;li&gt;bifurcation cascade,&lt;&#x2F;li&gt;
&lt;li&gt;chaos,&lt;&#x2F;li&gt;
&lt;li&gt;self-similar bifurcation diagram,&lt;&#x2F;li&gt;
&lt;li&gt;fractal invariant sets.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;This is the reason it deserves so much attention. It is the whole ladder before the ladder becomes abstract.&lt;&#x2F;p&gt;
&lt;p&gt;The stretch-fold mechanism can be made brutally concrete with the tent map:&lt;&#x2F;p&gt;
&lt;p&gt;$$T(x)=1-2|x-\tfrac{1}{2}|.$$&lt;&#x2F;p&gt;
&lt;p&gt;It stretches the unit interval by a factor of two, then folds it back onto itself. The baker’s map does the same thing in two dimensions: stretch a square, cut it, stack it. Repeated forever, the map creates sensitivity to initial conditions because the stretching separates nearby points exponentially.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;simulation-stretch-and-fold&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#simulation-stretch-and-fold&quot; aria-label=&quot;Anchor link for: simulation-stretch-and-fold&quot;&gt;#&lt;&#x2F;a&gt;Simulation: Stretch And Fold&lt;&#x2F;h3&gt;
&lt;figure class=&quot;fixed-point-sim-fig&quot;&gt;
  &lt;div class=&quot;fixed-point-sim&quot; data-sim=&quot;tent&quot;&gt;
    &lt;noscript&gt;This interactive simulation needs JavaScript enabled.&lt;&#x2F;noscript&gt;
  &lt;&#x2F;div&gt;
  
  &lt;figcaption&gt;The tent map stretches nearby points apart and folds them back into the interval. That is the basic geometry of bounded chaos.&lt;&#x2F;figcaption&gt;
  
&lt;&#x2F;figure&gt;
&lt;script defer src=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;js&#x2F;fixed-point-sims.js?h=2f244814799a398bdf5a&quot;&gt;&lt;&#x2F;script&gt;
&lt;p&gt;Iterate the tent map from many nearby starting points.&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;python&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-keyword&quot;&gt;import&lt;&#x2F;span&gt;&lt;span&gt; numpy&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; as&lt;&#x2F;span&gt;&lt;span&gt; np&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-keyword&quot;&gt;import&lt;&#x2F;span&gt;&lt;span&gt; matplotlib.pyplot&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; as&lt;&#x2F;span&gt;&lt;span&gt; plt&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-type&quot;&gt;def&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name&quot;&gt; tent&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-parameter z-function&quot;&gt;(x):&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-keyword&quot;&gt;    return&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt; 1&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; -&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt; 2&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; *&lt;&#x2F;span&gt;&lt;span&gt; np.abs(x&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; -&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt; 0.5&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;xs&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; np.linspace(&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;0.1&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt; 0.1001&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt; 50&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;paths&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; [xs]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-keyword&quot;&gt;for&lt;&#x2F;span&gt;&lt;span&gt; _&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; in&lt;&#x2F;span&gt;&lt;span class=&quot;z-support&quot;&gt; range&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;30&lt;&#x2F;span&gt;&lt;span&gt;):&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    paths.append(tent(paths[&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;-&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;1&lt;&#x2F;span&gt;&lt;span&gt;]))&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;paths&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; np.array(paths)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;plt.plot(paths,&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable&quot;&gt; alpha&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;0.35&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;plt.xlabel(&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;iteration&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;plt.ylabel(&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;x&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;What the reader should see: points that start almost indistinguishably close separate quickly. Stretching creates sensitivity; folding keeps the values inside the interval; repetition creates fine structure.&lt;&#x2F;p&gt;
&lt;p&gt;That exponential separation is measured by a Lyapunov exponent:&lt;&#x2F;p&gt;
&lt;p&gt;$$\lambda=\lim_{n\to\infty}\frac{1}{n}\log |(f^n)’(x)|.$$&lt;&#x2F;p&gt;
&lt;p&gt;If $\lambda&amp;gt;0$, nearby initial conditions separate on average. Prediction decays exponentially. But folding keeps the motion bounded, so the system does not simply fly apart. It stays in a finite region while continually producing new distinguishable detail.&lt;&#x2F;p&gt;
&lt;p&gt;For the tent map, this is exact. Away from the folding point, the slope has absolute value $2$, so after $n$ iterates the derivative magnitude is roughly $2^n$. Therefore:&lt;&#x2F;p&gt;
&lt;p&gt;$$\lambda=\lim_{n\to\infty}\frac{1}{n}\log(2^n)=\log 2.$$&lt;&#x2F;p&gt;
&lt;p&gt;The fully chaotic logistic map at $r=4$ has the same Lyapunov exponent, $\log 2$, after the change of variables $x=\sin^2(\pi\theta)$. This is a good example of an abstract definition becoming a number you can actually compute.&lt;&#x2F;p&gt;
&lt;p&gt;That is the geometric recipe for a strange attractor:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;stretch to create sensitivity,&lt;&#x2F;li&gt;
&lt;li&gt;fold to keep boundedness,&lt;&#x2F;li&gt;
&lt;li&gt;repeat to generate fine structure.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;The fractal is the invariant set of that operation.&lt;&#x2F;p&gt;
&lt;p&gt;The fifth lesson:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Fractals are the geometry left behind by repeated stretching and folding.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;The bridge from chaos to fractals is bounded instability.&lt;&#x2F;p&gt;
&lt;p&gt;If nearby points separate and nothing folds them back, the system just disperses. If folding happens without stretching, the system just settles. A strange attractor needs both: expansion to create detail, folding to keep the detail in a bounded region.&lt;&#x2F;p&gt;
&lt;p&gt;This is why chaos leaves geometry behind. Sensitive dependence is a statement about trajectories. A fractal attractor is the spatial trace of that sensitivity after infinitely many rounds of stretching and folding. The dynamics says:&lt;&#x2F;p&gt;
&lt;p&gt;$$\text{nearby states separate}.$$&lt;&#x2F;p&gt;
&lt;p&gt;The geometry says:&lt;&#x2F;p&gt;
&lt;p&gt;$$\text{the invariant set has structure at every scale}.$$&lt;&#x2F;p&gt;
&lt;p&gt;Those are two views of the same process. The first view follows points through time. The second view looks at the set that survives after the process has acted forever.&lt;&#x2F;p&gt;
&lt;p&gt;That is why chaotic attractors often have non-integer dimension. They are not curves, because stretching has multiplied their internal detail. They are not areas, because folding and dissipation keep them thinner than a filled region. A fractal is what remains when instability is trapped.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;why-fractals-are-the-default&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#why-fractals-are-the-default&quot; aria-label=&quot;Anchor link for: why-fractals-are-the-default&quot;&gt;#&lt;&#x2F;a&gt;Why Fractals Are the Default&lt;&#x2F;h2&gt;
&lt;p&gt;A question has been hiding under this whole essay: why does nature keep producing these objects? River deltas like the one in this essay’s header, lungs, coastlines, mountain ranges, price charts. The standard answer is that growth repeats the same rule at different scales. That is true and explains nothing, because it restates the observation. The better question is why repeated rules leave behind self-similar sets rather than smooth ones.&lt;&#x2F;p&gt;
&lt;p&gt;Start with what self-similarity actually is. If $K=\mathcal{H}(K)$, then $K$ contains scaled copies of itself, and those copies contain scaled copies, without end. Here $\mathcal{H}$ is the set-valued rule from above: take a shape, shrink it, copy it, and put the copies together. Zooming reveals the same structure because the equation says it must. The infinite regress is not a decoration on the answer. It is the content of the fixed-point equation, read geometrically.&lt;&#x2F;p&gt;
&lt;p&gt;The dynamics is what supplies the contractions, and here the essay’s recipe returns. Dissipation alone collapses everything to a point; that is contraction with nothing opposing it. Bounded chaos needs stretch plus fold, and stretch-and-fold applied forever is the Hutchinson picture drawn by the dynamics itself: the strange attractor is the set the kneading leaves invariant. In complex dynamics this becomes sharp. For rational maps of degree at least two, maps of the complex plane built from ratios of polynomials, with $z\mapsto z^2+c$ as the standard family, the boundary between starting points with different long-run fates is the Julia set, and apart from classified exceptional families it is fractal: circles, Chebyshev intervals, and Lattès-type examples are the cases where the roughness is absent or unusually regular. The unit circle, left invariant by $z\mapsto z^2$, is the clean toy exception. In real systems the statement is a strong tendency rather than a law: a double-well gradient flow, a ball rolling with friction on a landscape with two valleys, has two attractors, one valley bottom each, separated by a perfectly smooth basin boundary, the ridge line. The boundary turns fractal when a chaotic saddle lives inside it, an unstable invariant set on which the dynamics is itself chaotic, a tangle that scrambles which side a nearby start will fall to. Forced nonlinear systems arrange that readily. So the lesson is not that every boundary between basins is fractal. It is narrower and stronger: once expansion, folding, and multiple long-run fates coexist, smooth separating surfaces are fragile, and fractal boundaries are the natural outcome.&lt;&#x2F;p&gt;
&lt;p&gt;That is why the same geometry recurs across nature. A branching rule, split into $N$ copies at ratio $r$, is an iterated function system by construction, and lungs and trees run it because its fixed point packs enormous exchange surface into bounded volume. Eroding terrain and growing snowflakes are shaped by their process rates the way $N$ and $r$ set $D$, which is why measured terrain dimensions land between 2 and 3 rather than on either. Price records are self-affine in time, meaning the vertical and horizontal axes rescale differently but the roughness still has no characteristic scale; Mandelbrot saw it in cotton prices in 1963, and the next essay follows that thread into power laws. The cosmic web looks fractal over a finite range of scales and smooths out at the largest. Every one of these is approximate and finite-range, like every empirical scaling in this series. None of them needs a designer of detail. Each needs only a rule with expansion and contraction, applied again.&lt;&#x2F;p&gt;
&lt;p&gt;One boundary should be drawn while the picture is fresh. This is still the iteration engine, not self-reference in the logical sense. A fractal repeats because a geometric rule is iterated on sets. A Gödel sentence, several essays ahead, refers to itself because a formal system can encode its own syntax. Those are different mechanisms. What they share is the fixed-point shape: an object is fed through a transformation and returns as itself, possibly one level up. Later essays use the same abstract shape for syntax, programs, types, life, and markets, and the two engines should not be collapsed into each other.&lt;&#x2F;p&gt;
&lt;p&gt;So the conclusion runs backwards from the intuition. Fractals are not the exotic case; smooth geometry is. Iterate a nonlinear rule with both expanding and contracting directions, the ordinary situation for an interesting dynamical system, and structure at every scale is the default outcome. The real question was never why fractals are everywhere. It is why we expected smoothness, the fine-tuned case, to be the norm.&lt;&#x2F;p&gt;
&lt;p&gt;The invariant summary of this essay is:&lt;&#x2F;p&gt;
&lt;p&gt;$$
\text{stretch}+\text{fold}+\text{repeat}\Rightarrow\text{fractal invariant set}.
$$&lt;&#x2F;p&gt;
&lt;p&gt;At the Feigenbaum level the fixed point is no longer a point in state space. It is a function left unchanged by a renormalization operator:&lt;&#x2F;p&gt;
&lt;p&gt;$$
\mathcal{R}(g)=g.
$$&lt;&#x2F;p&gt;
&lt;p&gt;At the fractal level the fixed point may be a set left unchanged by an iterated-function-system operator:&lt;&#x2F;p&gt;
&lt;p&gt;$$
\mathcal{H}(K)=K.
$$&lt;&#x2F;p&gt;
&lt;p&gt;The point has moved up one level. The next essay moves it up again: from invariant sets to invariant scaling laws and probability tails.&lt;&#x2F;p&gt;
&lt;aside class=&quot;toolkit&quot;&gt;
  &lt;p class=&quot;toolkit-label&quot;&gt;Takeaway&lt;&#x2F;p&gt;
  &lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Space:&lt;&#x2F;strong&gt; a space of states, and one level up, a space of maps.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Transformation:&lt;&#x2F;strong&gt; stretch-and-fold dynamics on states; renormalization on maps.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Invariant object:&lt;&#x2F;strong&gt; a fractal strange attractor; and a renormalization fixed-point function, $\mathcal{R}(g)=g$.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Failure mode:&lt;&#x2F;strong&gt; sensitive dependence on initial conditions and the prediction horizon it imposes.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;

&lt;&#x2F;aside&gt;
&lt;h2 id=&quot;further-reading&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#further-reading&quot; aria-label=&quot;Anchor link for: further-reading&quot;&gt;#&lt;&#x2F;a&gt;Further Reading&lt;&#x2F;h2&gt;
&lt;ol&gt;
&lt;li&gt;Mitchell Feigenbaum, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1007&#x2F;BF01020332&quot;&gt;&lt;em&gt;Quantitative universality for a class of nonlinear transformations&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (1978). The period-doubling universality paper.&lt;&#x2F;li&gt;
&lt;li&gt;Tien-Yien Li and James Yorke, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1080&#x2F;00029890.1975.11994008&quot;&gt;&lt;em&gt;Period three implies chaos&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (1975). The paper that gave chaos its modern mathematical name in one-dimensional dynamics.&lt;&#x2F;li&gt;
&lt;li&gt;Robert Devaney, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.routledge.com&#x2F;An-Introduction-to-Chaotic-Dynamical-Systems&#x2F;Devaney&#x2F;p&#x2F;book&#x2F;9780367235994&quot;&gt;&lt;em&gt;An Introduction to Chaotic Dynamical Systems&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;. A clear path through symbolic dynamics, chaos, and fractals.&lt;&#x2F;li&gt;
&lt;li&gt;Michael Barnsley, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Michael_Barnsley&quot;&gt;&lt;em&gt;Fractals Everywhere&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;. The standard reference for iterated function systems and the Hutchinson operator.&lt;&#x2F;li&gt;
&lt;li&gt;Edward Lorenz, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1175&#x2F;1520-0469(1963)020%3C0130:DNF%3E2.0.CO;2&quot;&gt;&lt;em&gt;Deterministic nonperiodic flow&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (1963). The continuous-time strange-attractor classic.&lt;&#x2F;li&gt;
&lt;li&gt;David Ruelle and Floris Takens, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1007&#x2F;BF01646553&quot;&gt;&lt;em&gt;On the nature of turbulence&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (1971). The paper that named the strange attractor.&lt;&#x2F;li&gt;
&lt;li&gt;Jean-Pierre Eckmann and David Ruelle, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1103&#x2F;RevModPhys.57.617&quot;&gt;&lt;em&gt;Ergodic theory of chaos and strange attractors&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (1985). The canonical review tying chaos, Lyapunov exponents, and invariant measures together.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Fixed Points and Attractors</title>
        <published>2025-06-08T00:00:00+00:00</published>
        <updated>2025-06-08T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://federicocarrone.com/series/fixed-point-ladder/fixed-points-and-attractors/"/>
        <id>https://federicocarrone.com/series/fixed-point-ladder/fixed-points-and-attractors/</id>
        
        <content type="html" xml:base="https://federicocarrone.com/series/fixed-point-ladder/fixed-points-and-attractors/">&lt;p&gt;Start with something small: a number, a rule, and the patience to apply the rule again.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;What happens when you repeatedly apply a rule?&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;That question is small enough to fit into a first course in analysis, but it opens into a surprising amount of modern mathematics. A repeated rule can settle into a fixed point. A fixed point can become an attractor. An attractor can split. Repeated splitting can become chaos. Chaos can leave behind fractal geometry. Fractal geometry can show up statistically as power laws. Power laws can make averages unstable. Once time and recurrence matter, number theory enters. Once a system can encode and act on itself, logic and computation enter. Once you want the same pattern without caring whether the objects are numbers, programs, proofs, or types, category theory enters.&lt;&#x2F;p&gt;
&lt;p&gt;I will keep the level deliberately concrete. Whenever a bigger word appears, the word should earn its keep.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-minimum-vocabulary&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#the-minimum-vocabulary&quot; aria-label=&quot;Anchor link for: the-minimum-vocabulary&quot;&gt;#&lt;&#x2F;a&gt;The Minimum Vocabulary&lt;&#x2F;h2&gt;
&lt;p&gt;A &lt;strong&gt;dynamical system&lt;&#x2F;strong&gt; is a system whose state changes according to a rule.&lt;&#x2F;p&gt;
&lt;p&gt;The state is the information you need in order to know where the system is. For a one-dimensional example, the state might be a single number $x$. For a planet, the state might include position and velocity. For a market, it might include prices, inventories, leverage, and beliefs. For a program, it might include memory, registers, and input.&lt;&#x2F;p&gt;
&lt;p&gt;The set of all possible states is called the &lt;strong&gt;state space&lt;&#x2F;strong&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;If time moves in discrete steps, the rule usually looks like:&lt;&#x2F;p&gt;
&lt;p&gt;$$x_{n+1}=f(x_n).$$&lt;&#x2F;p&gt;
&lt;p&gt;Read this as:&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;the next state equals a function of the current state.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;The sequence:&lt;&#x2F;p&gt;
&lt;p&gt;$$x_0,x_1,x_2,x_3,\ldots$$&lt;&#x2F;p&gt;
&lt;p&gt;is called the &lt;strong&gt;orbit&lt;&#x2F;strong&gt; or &lt;strong&gt;trajectory&lt;&#x2F;strong&gt; of the starting point $x_0$.&lt;&#x2F;p&gt;
&lt;p&gt;So the whole question becomes:&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;If I start here and keep applying the same function, where does the orbit go?&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;That is all a discrete dynamical system is.&lt;&#x2F;p&gt;
&lt;p&gt;If time is continuous instead, the rule is usually written as a differential equation:&lt;&#x2F;p&gt;
&lt;p&gt;$$\frac{dx}{dt}=F(x).$$&lt;&#x2F;p&gt;
&lt;p&gt;Read this as:&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;the velocity of the state is determined by the current state.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;This article mostly uses the discrete version because it is easier to see the fixed-point structure. But the same ideas apply to differential equations.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;articles&#x2F;fixed-point-ladder.svg&quot; alt=&quot;A vertical ladder connecting repeated transformations, fixed points, attractors, bifurcations, chaos, fractals, power laws, non-ergodicity, number theory, logic, and category theory&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;repetition-creates-fixed-points&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#repetition-creates-fixed-points&quot; aria-label=&quot;Anchor link for: repetition-creates-fixed-points&quot;&gt;#&lt;&#x2F;a&gt;Repetition Creates Fixed Points&lt;&#x2F;h2&gt;
&lt;p&gt;Start with the simplest possible dynamical system:&lt;&#x2F;p&gt;
&lt;p&gt;$$x_{n+1} = f(x_n).$$&lt;&#x2F;p&gt;
&lt;p&gt;You choose an initial condition $x_0$, apply the rule once, get $x_1$, apply the same rule again, get $x_2$, and keep going. Eventually one of three things can happen:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;the sequence converges,&lt;&#x2F;li&gt;
&lt;li&gt;the sequence cycles,&lt;&#x2F;li&gt;
&lt;li&gt;the sequence becomes chaotic.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;The cleanest case is convergence. Take:&lt;&#x2F;p&gt;
&lt;p&gt;$$f(x)=\frac{x+1}{2}.$$&lt;&#x2F;p&gt;
&lt;p&gt;The fixed point is the value $x^\star$ satisfying:&lt;&#x2F;p&gt;
&lt;p&gt;$$x^\star = f(x^\star).$$&lt;&#x2F;p&gt;
&lt;p&gt;So:&lt;&#x2F;p&gt;
&lt;p&gt;$$x^\star = \frac{x^\star+1}{2}$$&lt;&#x2F;p&gt;
&lt;p&gt;and therefore:&lt;&#x2F;p&gt;
&lt;p&gt;$$x^\star = 1.$$&lt;&#x2F;p&gt;
&lt;p&gt;The star in $x^\star$ is just notation. It means “the special value we are solving for.” Nothing mystical.&lt;&#x2F;p&gt;
&lt;p&gt;What matters is not that $1$ solves the equation, but that every starting point gets pulled there. If $e_n=x_n-1$ is the distance from the fixed point, then:&lt;&#x2F;p&gt;
&lt;p&gt;$$e_{n+1}=\frac{x_n+1}{2}-1=\frac{x_n-1}{2}=\frac{e_n}{2}.$$&lt;&#x2F;p&gt;
&lt;p&gt;So the error halves every step:&lt;&#x2F;p&gt;
&lt;p&gt;$$e_n = 2^{-n}e_0.$$&lt;&#x2F;p&gt;
&lt;p&gt;That is a &lt;strong&gt;contraction&lt;&#x2F;strong&gt;. A contraction is a function that always brings points closer together. If two inputs are one unit apart, their images might be only half a unit apart. Apply the function again and they are a quarter unit apart. Keep going and the distance collapses.&lt;&#x2F;p&gt;
&lt;p&gt;Banach formalized the general theorem: if a map brings points closer together in a complete metric space, repeated application converges to a unique fixed point.&lt;&#x2F;p&gt;
&lt;p&gt;The theorem is worth stating because it is the cleanest version of the whole ladder.&lt;&#x2F;p&gt;
&lt;p&gt;Let $(X,d)$ be a complete metric space, and let $f:X\to X$ satisfy:&lt;&#x2F;p&gt;
&lt;p&gt;$$d(f(x),f(y))\leq q,d(x,y)$$&lt;&#x2F;p&gt;
&lt;p&gt;for every $x,y\in X$ and some constant $0&amp;lt;q&amp;lt;1$. Then there exists a unique fixed point $x^\star$ such that:&lt;&#x2F;p&gt;
&lt;p&gt;$$f(x^\star)=x^\star,$$&lt;&#x2F;p&gt;
&lt;p&gt;and for every starting point $x_0$:&lt;&#x2F;p&gt;
&lt;p&gt;$$x_n=f^n(x_0)\to x^\star.$$&lt;&#x2F;p&gt;
&lt;p&gt;Here is the notation unpacked:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;$X$ is the state space.&lt;&#x2F;li&gt;
&lt;li&gt;$d(x,y)$ is the distance between two states.&lt;&#x2F;li&gt;
&lt;li&gt;Complete means Cauchy sequences actually converge inside the space. For this essay, you can think “no missing limit points.”&lt;&#x2F;li&gt;
&lt;li&gt;$f^n(x_0)$ means apply $f$ repeatedly $n$ times.&lt;&#x2F;li&gt;
&lt;li&gt;$q&amp;lt;1$ is the contraction factor.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;The proof is the mechanism. Successive iterates form a Cauchy sequence because the jumps shrink geometrically:&lt;&#x2F;p&gt;
&lt;p&gt;$$d(x_{n+1},x_n)\leq q^n d(x_1,x_0).$$&lt;&#x2F;p&gt;
&lt;p&gt;Completeness says the sequence has a limit. Continuity of $f$ says the limit must satisfy $f(x^\star)=x^\star$. The contraction inequality says there cannot be two such points, because if $x^\star$ and $y^\star$ were both fixed:&lt;&#x2F;p&gt;
&lt;p&gt;$$d(x^\star,y^\star)=d(f(x^\star),f(y^\star))\leq qd(x^\star,y^\star),$$&lt;&#x2F;p&gt;
&lt;p&gt;which is impossible unless the distance is zero.&lt;&#x2F;p&gt;
&lt;p&gt;This is the basic fixed-point machine: contraction plus completeness produces existence, uniqueness, and convergence. Later the same pattern gets harder to recognize because the space is no longer a line. It might be a space of functions, proofs, programs, measures, or types. But the question stays the same: what operation is being repeated, and what does it leave invariant?&lt;&#x2F;p&gt;
&lt;p&gt;Banach is not the only fixed-point theorem. It is just the cleanest one to start with because the mechanism is visible: distances shrink.&lt;&#x2F;p&gt;
&lt;p&gt;There are other families:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Brouwer fixed points.&lt;&#x2F;strong&gt; A continuous map from a disk to itself has a fixed point. No contraction is required. This is the topological theorem behind many equilibrium arguments.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Kakutani fixed points.&lt;&#x2F;strong&gt; A set-valued version of Brouwer. This is one route to Nash equilibria in game theory.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Knaster-Tarski fixed points.&lt;&#x2F;strong&gt; A monotone function is one that preserves order: if $a\leq b$, then $f(a)\leq f(b)$. On a complete lattice, meaning an ordered collection where every subcollection has a least upper bound and a greatest lower bound, such a function has least and greatest fixed points. This is fundamental in logic, semantics, and recursive definitions.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Kleene fixed points.&lt;&#x2F;strong&gt; Under continuity conditions on ordered spaces, the least fixed point can be built by iterating from the bottom element.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;These theorems differ in what kind of structure they require: metric contraction, topology, convexity, or order. But they all answer the same question: when is a rule forced to leave something unchanged?&lt;&#x2F;p&gt;
&lt;p&gt;The order-theoretic case returns later as the notation $\mu F$: the least fixed point of a functor or type constructor. In programming-language semantics, a recursive datatype is built by iterating from the empty approximation upward, exactly the Kleene picture in a different category.&lt;&#x2F;p&gt;
&lt;p&gt;One familiar application is PageRank. A web-surfer distribution is repeatedly multiplied by a transition matrix. The ranking is the stationary vector:&lt;&#x2F;p&gt;
&lt;p&gt;$$\pi=\pi P.$$&lt;&#x2F;p&gt;
&lt;p&gt;That is a fixed point. Google’s original insight was not only “links are votes”; it was that importance can be defined as the stable distribution of a repeated navigation process.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;articles&#x2F;fixed-point-iteration.svg&quot; alt=&quot;Three initial values converging toward the same fixed point under repeated averaging&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;simulation-contraction&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#simulation-contraction&quot; aria-label=&quot;Anchor link for: simulation-contraction&quot;&gt;#&lt;&#x2F;a&gt;Simulation: Contraction&lt;&#x2F;h3&gt;
&lt;figure class=&quot;fixed-point-sim-fig&quot;&gt;
  &lt;div class=&quot;fixed-point-sim&quot; data-sim=&quot;contraction&quot;&gt;
    &lt;noscript&gt;This interactive simulation needs JavaScript enabled.&lt;&#x2F;noscript&gt;
  &lt;&#x2F;div&gt;
  
  &lt;figcaption&gt;Several starting values collapse toward the same fixed point. The distance to x* = 1 halves at every step.&lt;&#x2F;figcaption&gt;
  
&lt;&#x2F;figure&gt;
&lt;script defer src=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;js&#x2F;fixed-point-sims.js?h=2f244814799a398bdf5a&quot;&gt;&lt;&#x2F;script&gt;
&lt;p&gt;The whole phenomenon fits in a few lines:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;python&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-type&quot;&gt;def&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name&quot;&gt; iterate&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-parameter z-function&quot;&gt;(f, x0, n&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;20&lt;&#x2F;span&gt;&lt;span&gt;):&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    xs&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; [x0]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-keyword&quot;&gt;    for&lt;&#x2F;span&gt;&lt;span&gt; _&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; in&lt;&#x2F;span&gt;&lt;span class=&quot;z-support&quot;&gt; range&lt;&#x2F;span&gt;&lt;span&gt;(n):&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        xs.append(f(xs[&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;-&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;1&lt;&#x2F;span&gt;&lt;span&gt;]))&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-keyword&quot;&gt;    return&lt;&#x2F;span&gt;&lt;span&gt; xs&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;f&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-storage z-type&quot;&gt; = lambda&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-parameter z-function&quot;&gt; x: (x&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; +&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt; 1&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; &#x2F;&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt; 2&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;paths&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; [iterate(f, x0)&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; for&lt;&#x2F;span&gt;&lt;span&gt; x0&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; in&lt;&#x2F;span&gt;&lt;span&gt; [&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;-&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;0.5&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt; 0.0&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt; 1.25&lt;&#x2F;span&gt;&lt;span&gt;]]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Plot those paths. Every one collapses onto $1$. The rule acts repeatedly, and repetition reveals the fixed point.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;newton-s-method-practical-fixed-point-iteration&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#newton-s-method-practical-fixed-point-iteration&quot; aria-label=&quot;Anchor link for: newton-s-method-practical-fixed-point-iteration&quot;&gt;#&lt;&#x2F;a&gt;Newton’s Method: Practical Fixed-Point Iteration&lt;&#x2F;h3&gt;
&lt;p&gt;The contraction example is deliberately simple. A more practical fixed-point iteration is Newton’s method.&lt;&#x2F;p&gt;
&lt;p&gt;Suppose you want to solve:&lt;&#x2F;p&gt;
&lt;p&gt;$$g(x)=0.$$&lt;&#x2F;p&gt;
&lt;p&gt;Newton’s method replaces the equation with an iteration:&lt;&#x2F;p&gt;
&lt;p&gt;$$x_{n+1}=x_n-\frac{g(x_n)}{g’(x_n)}.$$&lt;&#x2F;p&gt;
&lt;p&gt;Define:&lt;&#x2F;p&gt;
&lt;p&gt;$$N(x)=x-\frac{g(x)}{g’(x)}.$$&lt;&#x2F;p&gt;
&lt;p&gt;Then Newton’s method is:&lt;&#x2F;p&gt;
&lt;p&gt;$$x_{n+1}=N(x_n).$$&lt;&#x2F;p&gt;
&lt;p&gt;A root of $g$ is a fixed point of $N$, because if $g(x^\star)=0$, then:&lt;&#x2F;p&gt;
&lt;p&gt;$$N(x^\star)=x^\star.$$&lt;&#x2F;p&gt;
&lt;p&gt;When Newton’s method works well, it converges extremely fast. Near a simple root, the error squares at each step. This is called quadratic convergence.&lt;&#x2F;p&gt;
&lt;p&gt;But Newton’s method also foreshadows fractals. In the complex plane, if a polynomial has several roots, each starting point flows toward one of them. Color each initial point by the root it reaches. The basins of attraction often have fractal boundaries. Newton fractals tie together fixed points, attractors, basins, and fractal geometry in one practical algorithm.&lt;&#x2F;p&gt;
&lt;p&gt;A modern version of the same idea is gradient descent:&lt;&#x2F;p&gt;
&lt;p&gt;$$x_{n+1}=x_n-\eta\nabla L(x_n).$$&lt;&#x2F;p&gt;
&lt;p&gt;The rule moves downhill on a loss landscape. Fixed points satisfy:&lt;&#x2F;p&gt;
&lt;p&gt;$$\nabla L(x^\star)=0.$$&lt;&#x2F;p&gt;
&lt;p&gt;So local minima, saddle points, and flat critical regions are fixed points of the optimization dynamics. This is one reason the language of stability, basins, and attractors shows up naturally in machine learning.&lt;&#x2F;p&gt;
&lt;p&gt;The first lesson:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Repeated transformations create fixed points.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Before moving on, notice something subtle. The fixed point is not an extra object imported from outside the system. It is produced by the rule itself. You do not choose $1$ as the destination for $f(x)=(x+1)&#x2F;2$. The rule chooses it. This matters because every later example follows the same pattern. The long-run object is not separately designed. It is the invariant object exposed by repetition.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;fixed-points-create-attractors&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#fixed-points-create-attractors&quot; aria-label=&quot;Anchor link for: fixed-points-create-attractors&quot;&gt;#&lt;&#x2F;a&gt;Fixed Points Create Attractors&lt;&#x2F;h2&gt;
&lt;p&gt;Now stop thinking about isolated numbers and think geometrically.&lt;&#x2F;p&gt;
&lt;p&gt;Imagine a state space. A point moves through it. The rule tells it where to go next. Instead of a number being updated by a formula, imagine a marble rolling on a landscape.&lt;&#x2F;p&gt;
&lt;p&gt;The valleys are attractors.&lt;&#x2F;p&gt;
&lt;p&gt;An &lt;strong&gt;attractor&lt;&#x2F;strong&gt; is a long-run destination for many starting points.&lt;&#x2F;p&gt;
&lt;p&gt;A fixed point is the static equation:&lt;&#x2F;p&gt;
&lt;p&gt;$$f(x)=x.$$&lt;&#x2F;p&gt;
&lt;p&gt;An attractor is the dynamic limit:&lt;&#x2F;p&gt;
&lt;p&gt;$$f^n(x)\to A.$$&lt;&#x2F;p&gt;
&lt;p&gt;This notation means: apply $f$ to $x$ again and again, and the result approaches the set $A$.&lt;&#x2F;p&gt;
&lt;p&gt;The first statement says a point stays still when the rule is applied. The second says a whole region of starting points eventually gets pulled into the same structure.&lt;&#x2F;p&gt;
&lt;p&gt;That structure does not have to be a single point. It can be:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;a point attractor,&lt;&#x2F;li&gt;
&lt;li&gt;a periodic orbit,&lt;&#x2F;li&gt;
&lt;li&gt;a strange attractor.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;The fixed point is the smallest member of a larger family. It is an attractor with no internal motion.&lt;&#x2F;p&gt;
&lt;p&gt;The extra object you need is the &lt;strong&gt;basin of attraction&lt;&#x2F;strong&gt;:&lt;&#x2F;p&gt;
&lt;p&gt;$$B(A)={x\in X:\operatorname{dist}(f^n(x),A)\to 0}.$$&lt;&#x2F;p&gt;
&lt;p&gt;This formula says: the basin of $A$ is the set of starting points that eventually get pulled into $A$.&lt;&#x2F;p&gt;
&lt;p&gt;This set is often more important than the attractor itself. It tells you which initial conditions end up in the same long-run regime. In a system with one basin, prediction is mostly about speed of convergence. In a system with several basins, prediction becomes about boundaries. A tiny perturbation near a basin boundary can send the same system into a different future.&lt;&#x2F;p&gt;
&lt;p&gt;That is why attractors are already political, economic, and psychological objects, not just mathematical ones. A habit, a market regime, a cultural equilibrium, a protocol standard, a language ecosystem, a personal addiction, all can be understood as basins. More than a destination, the attractor is what pulls many different histories into the same shape.&lt;&#x2F;p&gt;
&lt;p&gt;This also explains why “fixed point” is too small a phrase for many real systems. A society may never settle to one literal state. A market never stops moving. A mind never freezes. But the trajectory can still be confined to a region, a style, a recurring pattern. The fixed point has become an invariant form of motion.&lt;&#x2F;p&gt;
&lt;p&gt;The second lesson:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Attractors are fixed points viewed dynamically.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;The bridge from fixed points to attractors is the bridge from algebra to geometry.&lt;&#x2F;p&gt;
&lt;p&gt;Algebra asks:&lt;&#x2F;p&gt;
&lt;p&gt;$$f(x)=x.$$&lt;&#x2F;p&gt;
&lt;p&gt;Geometry asks:&lt;&#x2F;p&gt;
&lt;p&gt;$$f^n(U)\to A,$$&lt;&#x2F;p&gt;
&lt;p&gt;where $U$ is a whole region of initial conditions.&lt;&#x2F;p&gt;
&lt;p&gt;Those are different questions. The first question identifies a point. The second identifies the long-run fate of a neighborhood. A fixed point can exist algebraically and still be dynamically irrelevant. If nearby points move away from it, then the point solves the equation but does not explain the behavior of the system.&lt;&#x2F;p&gt;
&lt;p&gt;This is the first major upgrade in the ladder. We stop asking only whether an invariant object exists and start asking whether the surrounding space is organized by that object. In analysis, the fixed point is a solution. In dynamics, the fixed point becomes a force field around a solution. The equation is still there, but now the real object is the basin: the set of histories that end up sharing the same fate.&lt;&#x2F;p&gt;
&lt;p&gt;So after fixed points, the next natural question is not “what solves $f(x)=x$?” but “what pulls nearby points toward it?”&lt;&#x2F;p&gt;
&lt;h2 id=&quot;parameters-create-bifurcations&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#parameters-create-bifurcations&quot; aria-label=&quot;Anchor link for: parameters-create-bifurcations&quot;&gt;#&lt;&#x2F;a&gt;Parameters Create Bifurcations&lt;&#x2F;h2&gt;
&lt;p&gt;Now introduce a parameter.&lt;&#x2F;p&gt;
&lt;p&gt;Instead of one rule, consider a family of rules:&lt;&#x2F;p&gt;
&lt;p&gt;$$x_{n+1}=f_r(x_n).$$&lt;&#x2F;p&gt;
&lt;p&gt;The parameter $r$ is just a knob. Change the knob and you change the rule. In a population model, $r$ might be the growth rate. In physics, it might be temperature. In markets, it might be leverage or liquidity. In a neural system, it might be coupling strength.&lt;&#x2F;p&gt;
&lt;p&gt;The parameter changes the landscape. Sometimes this only moves the valley. Sometimes it changes the number of valleys.&lt;&#x2F;p&gt;
&lt;p&gt;Before:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    \__&#x2F;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;After:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;  \_&#x2F;  \_&#x2F;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;That is a bifurcation. One future becomes two possible futures.&lt;&#x2F;p&gt;
&lt;p&gt;A &lt;strong&gt;bifurcation&lt;&#x2F;strong&gt; is a qualitative change in the long-run behavior of a system as a parameter changes. Not a small numerical change. A structural change.&lt;&#x2F;p&gt;
&lt;p&gt;The logistic map is the canonical classroom example:&lt;&#x2F;p&gt;
&lt;p&gt;$$x_{n+1}=r x_n(1-x_n).$$&lt;&#x2F;p&gt;
&lt;p&gt;Slow down here: the logistic map is the miniature version of the whole series.&lt;&#x2F;p&gt;
&lt;p&gt;The variable $x_n$ is usually interpreted as a normalized population at time $n$, so $0\leq x_n\leq 1$. The parameter $r$ is the growth rate. The term $rx_n$ says the population grows proportionally to its current size. The term $(1-x_n)$ says growth is limited by crowding. When $x_n$ is small, $1-x_n$ is close to $1$, so growth is easy. When $x_n$ is close to $1$, $1-x_n$ is close to $0$, so growth is suppressed.&lt;&#x2F;p&gt;
&lt;p&gt;So the logistic map is a competition between two forces:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;amplification: $rx_n$,&lt;&#x2F;li&gt;
&lt;li&gt;saturation: $1-x_n$.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;That is why it bends downward. It is not a straight line. It is a hump.&lt;&#x2F;p&gt;
&lt;p&gt;This hump matters. Linear maps can converge or diverge, but they cannot create the full period-doubling route to chaos. The logistic map can because it expands some regions, folds the interval back into itself, and keeps everything bounded inside $[0,1]$ when $0\leq r\leq 4$.&lt;&#x2F;p&gt;
&lt;p&gt;For small $r$, the system converges to one fixed point. Increase $r$, and the fixed point loses stability. A period-two cycle appears. Increase $r$ again, and the period-two cycle splits into a period-four cycle. Then period eight. Then sixteen.&lt;&#x2F;p&gt;
&lt;p&gt;The system is not merely moving around inside the same landscape. The landscape itself is changing.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;articles&#x2F;fixed-point-bifurcation.svg&quot; alt=&quot;A stylized bifurcation diagram showing one attractor splitting into two, then four, then a chaotic cloud&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;You can see the first split analytically. For the logistic map:&lt;&#x2F;p&gt;
&lt;p&gt;$$f_r(x)=rx(1-x),$$&lt;&#x2F;p&gt;
&lt;p&gt;the nonzero fixed point is:&lt;&#x2F;p&gt;
&lt;p&gt;$$x^\star = 1-\frac{1}{r}.$$&lt;&#x2F;p&gt;
&lt;p&gt;A fixed point is locally stable when:&lt;&#x2F;p&gt;
&lt;p&gt;$$|f_r’(x^\star)|&amp;lt;1.$$&lt;&#x2F;p&gt;
&lt;p&gt;This condition comes from first-year analysis. Near a fixed point, the function is approximately linear:&lt;&#x2F;p&gt;
&lt;p&gt;$$f(x^\star+h)\approx f(x^\star)+f’(x^\star)h.$$&lt;&#x2F;p&gt;
&lt;p&gt;Since $f(x^\star)=x^\star$, the error after one step is approximately:&lt;&#x2F;p&gt;
&lt;p&gt;$$h_{n+1}\approx f’(x^\star)h_n.$$&lt;&#x2F;p&gt;
&lt;p&gt;If $|f’(x^\star)|&amp;lt;1$, the error shrinks. If $|f’(x^\star)|&amp;gt;1$, the error grows. That is local stability.&lt;&#x2F;p&gt;
&lt;p&gt;Since:&lt;&#x2F;p&gt;
&lt;p&gt;$$f_r’(x)=r(1-2x),$$&lt;&#x2F;p&gt;
&lt;p&gt;we get:&lt;&#x2F;p&gt;
&lt;p&gt;$$f_r’(x^\star)=r\left(1-2\left(1-\frac{1}{r}\right)\right)=2-r.$$&lt;&#x2F;p&gt;
&lt;p&gt;So stability requires:&lt;&#x2F;p&gt;
&lt;p&gt;$$|2-r|&amp;lt;1,$$&lt;&#x2F;p&gt;
&lt;p&gt;or:&lt;&#x2F;p&gt;
&lt;p&gt;$$1&amp;lt;r&amp;lt;3.$$&lt;&#x2F;p&gt;
&lt;p&gt;At $r=3$, the fixed point loses stability. The system does not simply become noisy. A new stable object appears: a period-two orbit. The fixed point remains algebraically present, but it no longer attracts. The future has changed because the attractor structure changed.&lt;&#x2F;p&gt;
&lt;p&gt;That sentence is the key. The old fixed point does not disappear. It loses stability. The map still has the solution $x^\star=1-1&#x2F;r$, but nearby points no longer settle there. They bounce around it. Stability has moved from a point to a cycle.&lt;&#x2F;p&gt;
&lt;p&gt;A period-two orbit is a pair of points $a,b$ such that:&lt;&#x2F;p&gt;
&lt;p&gt;$$f_r(a)=b,\qquad f_r(b)=a.$$&lt;&#x2F;p&gt;
&lt;p&gt;Equivalently:&lt;&#x2F;p&gt;
&lt;p&gt;$$f_r^2(a)=a.$$&lt;&#x2F;p&gt;
&lt;p&gt;So a period-two orbit is a fixed point of the second iterate $f_r^2$, not of $f_r$ itself. A period-four orbit is a fixed point of $f_r^4$. A period-eight orbit is a fixed point of $f_r^8$.&lt;&#x2F;p&gt;
&lt;p&gt;This is why period doubling belongs in a fixed-point essay. The system keeps creating fixed points of higher iterates:&lt;&#x2F;p&gt;
&lt;p&gt;$$f_r^{2^k}(x)=x.$$&lt;&#x2F;p&gt;
&lt;p&gt;The attractor is no longer a point in the original one-step dynamics, but it is still a fixed point when viewed at the right time scale. The only thing that changed is the level at which you look.&lt;&#x2F;p&gt;
&lt;p&gt;This also prepares the connection to fractals. Each time the period doubles, the graph of the long-run states branches. Zoom into the bifurcation diagram near the onset of chaos and the same pattern reappears: branches split into smaller branches, which split into smaller branches, with ratios controlled by Feigenbaum’s constants. The bifurcation diagram is more than a plot; it is a self-similar object generated by repeated composition of the same map.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;simulation-stability-derivative&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#simulation-stability-derivative&quot; aria-label=&quot;Anchor link for: simulation-stability-derivative&quot;&gt;#&lt;&#x2F;a&gt;Simulation: Stability Derivative&lt;&#x2F;h3&gt;
&lt;figure class=&quot;fixed-point-sim-fig&quot;&gt;
  &lt;div class=&quot;fixed-point-sim&quot; data-sim=&quot;stability&quot;&gt;
    &lt;noscript&gt;This interactive simulation needs JavaScript enabled.&lt;&#x2F;noscript&gt;
  &lt;&#x2F;div&gt;
  
  &lt;figcaption&gt;Move r. The fixed point still exists after r = 3, but |f&amp;#x27;(x*)| crosses 1 and the point stops attracting nearby states.&lt;&#x2F;figcaption&gt;
  
&lt;&#x2F;figure&gt;
&lt;script defer src=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;js&#x2F;fixed-point-sims.js?h=2f244814799a398bdf5a&quot;&gt;&lt;&#x2F;script&gt;
&lt;p&gt;Let the reader move $r$ and show the fixed point:&lt;&#x2F;p&gt;
&lt;p&gt;$$x^\star=1-\frac{1}{r}.$$&lt;&#x2F;p&gt;
&lt;p&gt;Next to it, show:&lt;&#x2F;p&gt;
&lt;p&gt;$$|f_r’(x^\star)|=|2-r|.$$&lt;&#x2F;p&gt;
&lt;p&gt;The important moment is:&lt;&#x2F;p&gt;
&lt;p&gt;$$|f_r’(x^\star)|=1$$&lt;&#x2F;p&gt;
&lt;p&gt;at:&lt;&#x2F;p&gt;
&lt;p&gt;$$r=3.$$&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;python&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-keyword&quot;&gt;import&lt;&#x2F;span&gt;&lt;span&gt; numpy&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; as&lt;&#x2F;span&gt;&lt;span&gt; np&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-keyword&quot;&gt;import&lt;&#x2F;span&gt;&lt;span&gt; matplotlib.pyplot&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; as&lt;&#x2F;span&gt;&lt;span&gt; plt&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;r&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; np.linspace(&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;1.1&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt; 4.0&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt; 500&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;x_star&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; =&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt; 1&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; -&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt; 1&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; &#x2F;&lt;&#x2F;span&gt;&lt;span&gt; r&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;stability&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; np.abs(&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;2&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; -&lt;&#x2F;span&gt;&lt;span&gt; r)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;fig, ax&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; plt.subplots(&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;2&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt; 1&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable&quot;&gt; sharex&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;True&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;ax[&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;0&lt;&#x2F;span&gt;&lt;span&gt;].plot(r, x_star)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;ax[&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;0&lt;&#x2F;span&gt;&lt;span&gt;].set_ylabel(&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;fixed point&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;ax[&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;1&lt;&#x2F;span&gt;&lt;span&gt;].plot(r, stability)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;ax[&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;1&lt;&#x2F;span&gt;&lt;span&gt;].axhline(&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;1&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable&quot;&gt; color&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;black&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable&quot;&gt; linestyle&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;--&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;ax[&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;1&lt;&#x2F;span&gt;&lt;span&gt;].axvline(&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;3&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable&quot;&gt; color&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;red&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable&quot;&gt; linestyle&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;--&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;ax[&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;1&lt;&#x2F;span&gt;&lt;span&gt;].set_xlabel(&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;r&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;ax[&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;1&lt;&#x2F;span&gt;&lt;span&gt;].set_ylabel(&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;|f&amp;#39;(x*)|&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;What the reader should see: the fixed point does not disappear at the first bifurcation. It loses stability. The attractor moves from a point to a cycle.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;simulation-cobweb-diagram&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#simulation-cobweb-diagram&quot; aria-label=&quot;Anchor link for: simulation-cobweb-diagram&quot;&gt;#&lt;&#x2F;a&gt;Simulation: Cobweb Diagram&lt;&#x2F;h3&gt;
&lt;figure class=&quot;fixed-point-sim-fig&quot;&gt;
  &lt;div class=&quot;fixed-point-sim&quot; data-sim=&quot;cobweb&quot;&gt;
    &lt;noscript&gt;This interactive simulation needs JavaScript enabled.&lt;&#x2F;noscript&gt;
  &lt;&#x2F;div&gt;
  
  &lt;figcaption&gt;A cobweb diagram draws iteration directly: move vertically to y = f(x), horizontally to y = x, and repeat.&lt;&#x2F;figcaption&gt;
  
&lt;&#x2F;figure&gt;
&lt;script defer src=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;js&#x2F;fixed-point-sims.js?h=2f244814799a398bdf5a&quot;&gt;&lt;&#x2F;script&gt;
&lt;p&gt;The cobweb diagram is the standard picture for a one-dimensional map. Draw the curve $y=f(x)$ and the diagonal $y=x$. Starting from $x_0$, move vertically to the curve, then horizontally to the diagonal. That horizontal move turns the output $f(x_0)$ into the next input $x_1$. Repeating the staircase shows convergence, cycling, or instability.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;simulation-logistic-bifurcation&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#simulation-logistic-bifurcation&quot; aria-label=&quot;Anchor link for: simulation-logistic-bifurcation&quot;&gt;#&lt;&#x2F;a&gt;Simulation: Logistic Bifurcation&lt;&#x2F;h3&gt;
&lt;figure class=&quot;fixed-point-sim-fig&quot;&gt;
  &lt;div class=&quot;fixed-point-sim&quot; data-sim=&quot;logistic&quot;&gt;
    &lt;noscript&gt;This interactive simulation needs JavaScript enabled.&lt;&#x2F;noscript&gt;
  &lt;&#x2F;div&gt;
  
  &lt;figcaption&gt;The logistic map&amp;#x27;s long-run states split from one branch to two, four, eight, and then a chaotic cloud with periodic windows.&lt;&#x2F;figcaption&gt;
  
&lt;&#x2F;figure&gt;
&lt;script defer src=&quot;https:&#x2F;&#x2F;federicocarrone.com&#x2F;js&#x2F;fixed-point-sims.js?h=2f244814799a398bdf5a&quot;&gt;&lt;&#x2F;script&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;python&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-keyword&quot;&gt;import&lt;&#x2F;span&gt;&lt;span&gt; numpy&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; as&lt;&#x2F;span&gt;&lt;span&gt; np&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-keyword&quot;&gt;import&lt;&#x2F;span&gt;&lt;span&gt; matplotlib.pyplot&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; as&lt;&#x2F;span&gt;&lt;span&gt; plt&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;rs&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; np.linspace(&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;2.5&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt; 4.0&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt; 2000&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;xs_r&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; []&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;ys&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; []&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-keyword&quot;&gt;for&lt;&#x2F;span&gt;&lt;span&gt; r&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; in&lt;&#x2F;span&gt;&lt;span&gt; rs:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    x&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; =&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt; 0.5&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-keyword&quot;&gt;    for&lt;&#x2F;span&gt;&lt;span&gt; _&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; in&lt;&#x2F;span&gt;&lt;span class=&quot;z-support&quot;&gt; range&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;1000&lt;&#x2F;span&gt;&lt;span&gt;):&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        x&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; r&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; *&lt;&#x2F;span&gt;&lt;span&gt; x&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; *&lt;&#x2F;span&gt;&lt;span&gt; (&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;1&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; -&lt;&#x2F;span&gt;&lt;span&gt; x)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-keyword&quot;&gt;    for&lt;&#x2F;span&gt;&lt;span&gt; _&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; in&lt;&#x2F;span&gt;&lt;span class=&quot;z-support&quot;&gt; range&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;200&lt;&#x2F;span&gt;&lt;span&gt;):&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        x&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; r&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; *&lt;&#x2F;span&gt;&lt;span&gt; x&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; *&lt;&#x2F;span&gt;&lt;span&gt; (&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;1&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; -&lt;&#x2F;span&gt;&lt;span&gt; x)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        xs_r.append(r)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        ys.append(x)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;plt.plot(xs_r, ys,&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt; &amp;quot;,&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable&quot;&gt; color&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;black&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable&quot;&gt; alpha&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;0.35&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;plt.xlabel(&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;r&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;plt.ylabel(&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;long-run x&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;The third lesson:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Bifurcations change the attractor structure.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;The bridge from attractors to bifurcations is the parameter.&lt;&#x2F;p&gt;
&lt;p&gt;A parameter turns one dynamical system into a family of dynamical systems. That sounds innocent, but it changes the question completely. With one system, you ask what the attractors are. With a family of systems, you ask how the attractors are born, move, split, collide, and disappear as the parameter changes.&lt;&#x2F;p&gt;
&lt;p&gt;This is where stability becomes historical. A fixed point may be stable today and unstable tomorrow because a parameter crossed a threshold. The point did not vanish as a solution; it lost its authority over nearby trajectories. That loss of authority is exactly what a bifurcation records.&lt;&#x2F;p&gt;
&lt;p&gt;This is why bifurcation theory is not interested in every small numerical change. If a fixed point moves from $0.41$ to $0.42$, the system changed quantitatively. If one attracting fixed point becomes an attracting two-cycle, the future changed qualitatively. The map of possible futures changed its topology.&lt;&#x2F;p&gt;
&lt;p&gt;The conceptual move is:&lt;&#x2F;p&gt;
&lt;p&gt;$$\text{long-run destination} \quad\longrightarrow\quad \text{change in the set of destinations}.$$&lt;&#x2F;p&gt;
&lt;p&gt;That move is what lets the essay pass from convergence to chaos. Chaos does not arrive from nowhere. It arrives because the attractor structure keeps changing.&lt;&#x2F;p&gt;
&lt;p&gt;The invariant summary of this essay is:&lt;&#x2F;p&gt;
&lt;p&gt;$$
x_{n+1}=f(x_n)
$$&lt;&#x2F;p&gt;
&lt;p&gt;creates the first fixed-point question:&lt;&#x2F;p&gt;
&lt;p&gt;$$
f(x^\star)=x^\star.
$$&lt;&#x2F;p&gt;
&lt;p&gt;But the real dynamical question is larger:&lt;&#x2F;p&gt;
&lt;p&gt;$$
f^n(x_0)\longrightarrow A,
$$&lt;&#x2F;p&gt;
&lt;p&gt;where $A$ may be a point, a cycle, a basin, or a more complicated attractor. Parameters then change $A$. That is the doorway to the next essay: bifurcations, chaos, and fractal invariant sets.&lt;&#x2F;p&gt;
&lt;aside class=&quot;toolkit&quot;&gt;
  &lt;p class=&quot;toolkit-label&quot;&gt;Takeaway&lt;&#x2F;p&gt;
  &lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Space:&lt;&#x2F;strong&gt; a state space, from a single number on a line to a metric space of states.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Transformation:&lt;&#x2F;strong&gt; a rule applied again and again, $x_{n+1}=f(x_n)$.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Invariant object:&lt;&#x2F;strong&gt; a fixed point, and then the attractor or cycle that nearby orbits fall into.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Failure mode:&lt;&#x2F;strong&gt; instability, a bifurcation that breaks the fixed point, or convergence to the wrong basin.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;

&lt;&#x2F;aside&gt;
&lt;h2 id=&quot;further-reading&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#further-reading&quot; aria-label=&quot;Anchor link for: further-reading&quot;&gt;#&lt;&#x2F;a&gt;Further Reading&lt;&#x2F;h2&gt;
&lt;ol&gt;
&lt;li&gt;Steven Strogatz, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.routledge.com&#x2F;Nonlinear-Dynamics-and-Chaos-With-Applications-to-Physics-Biology-Chemistry-and-Engineering&#x2F;Strogatz&#x2F;p&#x2F;book&#x2F;9780367026509&quot;&gt;&lt;em&gt;Nonlinear Dynamics and Chaos&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;. The best first book for fixed points, stability, bifurcations, and the logistic map.&lt;&#x2F;li&gt;
&lt;li&gt;Robert May, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1038&#x2F;261459a0&quot;&gt;&lt;em&gt;Simple mathematical models with very complicated dynamics&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (1976). The classic short paper that made the logistic map famous outside pure dynamics.&lt;&#x2F;li&gt;
&lt;li&gt;James Munkres, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;James_Munkres&quot;&gt;&lt;em&gt;Topology&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;. Useful background for Brouwer-style fixed-point thinking.&lt;&#x2F;li&gt;
&lt;li&gt;Alfred Tarski, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.2140&#x2F;pjm.1955.5.285&quot;&gt;&lt;em&gt;A lattice-theoretical fixpoint theorem&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (1955). The source for Knaster-Tarski fixed points.&lt;&#x2F;li&gt;
&lt;li&gt;Heinz-Otto Peitgen and Peter Richter, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;The_Beauty_of_Fractals&quot;&gt;&lt;em&gt;The Beauty of Fractals&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;. A visual route into Newton fractals and basins of attraction.&lt;&#x2F;li&gt;
&lt;li&gt;Henri Poincaré, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Science_and_Method&quot;&gt;&lt;em&gt;Science and Method&lt;&#x2F;em&gt;&lt;&#x2F;a&gt; (1908). Where dynamical-systems thinking and sensitive dependence on initial conditions begin: small differences in the initial conditions producing very great ones in the final phenomena.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>When Risk Models Create Risk</title>
        <published>2025-06-06T00:00:00+00:00</published>
        <updated>2025-06-06T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://federicocarrone.com/series/edge-of-chaos/when-risk-models-create-risk/"/>
        <id>https://federicocarrone.com/series/edge-of-chaos/when-risk-models-create-risk/</id>
        
        <summary type="html">&lt;p&gt;The last essay ended with Taleb’s objection. The tail is where the risk is, and the tail is exactly the part of the distribution the data refuses to pin down. If you cannot know the probability of ruin, stop pretending you can. Change your exposure instead.&lt;&#x2F;p&gt;
&lt;p&gt;Jón Daníelsson adds a colder institutional version of the same argument. He says something stronger than “risk models are inaccurate”: in finance, the act of measuring risk changes the risk. A model works less like a thermometer held up to the weather and more like a rule handed to people who then trade, hedge, deleverage, report, and regulate according to it. The number enters the system it tries to describe.&lt;&#x2F;p&gt;
&lt;p&gt;That is the final turn in this series. If everyone copies each other, small shocks cascade. If everyone uses the same risk model, the model itself becomes one of the things they copy.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>The Limits of Knowing</title>
        <published>2025-06-05T00:00:00+00:00</published>
        <updated>2025-06-05T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://federicocarrone.com/series/edge-of-chaos/the-limits-of-knowing/"/>
        <id>https://federicocarrone.com/series/edge-of-chaos/the-limits-of-knowing/</id>
        
        <summary type="html">&lt;p&gt;Six essays in, we have a toolkit. Bouchaud’s branching ratio, Sornette’s critical time, Gabaix and Koijen’s flow multiplier, Scheffer’s slowing-down: different instruments, all pointed at the same condition, a system loaded near its edge. This essay is about the catch that has been sitting in the room the whole time. That condition, the distance to the edge, is the single hardest thing to pin down on exactly the kind of system where it matters most. Nassim Taleb built a career on this objection, and it is the strongest case against everything that came before.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>Why the Calm Is Dangerous</title>
        <published>2025-06-04T00:00:00+00:00</published>
        <updated>2025-06-04T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://federicocarrone.com/series/edge-of-chaos/why-the-calm-is-dangerous/"/>
        <id>https://federicocarrone.com/series/edge-of-chaos/why-the-calm-is-dangerous/</id>
        
        <summary type="html">&lt;p&gt;So far the series has been about why crashes happen and why you cannot read them off their triggers. This one is about the rare practical payoff: the chance of seeing a break coming. A system heading for a tipping point often gives off warning signs, and the odd thing is where they hide. They hide in the calm, in a precise, measurable sense: the quietest system can be the one closest to breaking.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>What Actually Moves Prices</title>
        <published>2025-06-03T00:00:00+00:00</published>
        <updated>2025-06-03T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://federicocarrone.com/series/edge-of-chaos/what-actually-moves-prices/"/>
        <id>https://federicocarrone.com/series/edge-of-chaos/what-actually-moves-prices/</id>
        
        <summary type="html">&lt;p&gt;The last essay put a number on reflexivity. A branching ratio near one says the market spends most of its time reacting to itself, with one trade setting off the next. That is already a hard blow to the tidy picture where prices mostly digest outside news.&lt;&#x2F;p&gt;
&lt;p&gt;But there is an even cleaner number, and it comes from mainstream economics rather than econophysics. Xavier Gabaix and Ralph Koijen asked a blunt question: if one dollar flows into the aggregate stock market, how much does the market’s total value rise?&lt;&#x2F;p&gt;
&lt;p&gt;The old intuition says the answer should be close to one dollar, or maybe less. A deep market should absorb flows. Prices should move mostly because expected cash flows, discount rates, or risk premia changed. Buying pressure should be a sideshow.&lt;&#x2F;p&gt;
&lt;p&gt;Their estimate is about five dollars.&lt;&#x2F;p&gt;
&lt;p&gt;That is the most important recent bridge into the whole Edge of Chaos story. The market is an inelastic object, far from the vast ocean of the old intuition. Push it with flows and the whole level moves.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;charts&#x2F;inelastic-1-flow-impact.png&quot; alt=&quot;Two panels. Left, a bar chart comparing the deep-market intuition, where one dollar of flow creates one dollar of market value, with the inelastic-market estimate, where one dollar creates about five dollars. Right, a curve showing square-root price impact rising quickly at first and then flattening as order size grows.&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;The new macro number and the older microstructure law tell the same story. At the aggregate level, flows have a multiplier. At the trade level, latent liquidity makes impact nonlinear rather than harmless.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>Reflexivity by the Numbers</title>
        <published>2025-06-02T00:00:00+00:00</published>
        <updated>2025-06-02T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://federicocarrone.com/series/edge-of-chaos/reflexivity-by-the-numbers/"/>
        <id>https://federicocarrone.com/series/edge-of-chaos/reflexivity-by-the-numbers/</id>
        
        <summary type="html">&lt;p&gt;Three essays in, the same idea keeps surfacing in different words: markets react to themselves. Prices move because prices moved, and the big moves arrive with no outside cause. George Soros built a whole investing philosophy on this and gave it a name, reflexivity. Markets, he said, act on their own reflection, and that reflection feeds back into the world.&lt;&#x2F;p&gt;
&lt;p&gt;It is a good story, and the trouble with a good story is that it explains everything and predicts nothing until someone turns it into a number. This essay is about the number: how much of what a market does is the market answering itself, and how much is it answering real news from outside. You can actually measure that, and the tool comes from an unlikely place, the study of earthquakes.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>Faster Than Exponential: Can You See a Crash Coming?</title>
        <published>2025-06-01T00:00:00+00:00</published>
        <updated>2025-06-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://federicocarrone.com/series/edge-of-chaos/faster-than-exponential-can-you-see-a-crash-coming/"/>
        <id>https://federicocarrone.com/series/edge-of-chaos/faster-than-exponential-can-you-see-a-crash-coming/</id>
        
        <summary type="html">&lt;p&gt;If you believe the last two essays, prediction is mostly a fool’s errand. Crashes come from inside, the biggest moves have no cause worth the name, and looking for the grain that set off the avalanche means looking for something that was never special. Take that seriously and the only sane move is defense: carry slack, cut leverage, expect the slide.&lt;&#x2F;p&gt;
&lt;p&gt;Didier Sornette spent a career arguing that this gives up too soon. Not for every crash, but for one particular kind, the blow-off top at the end of a bubble. His claim is that a bubble has a shape, that you can see the shape while it is still forming, and that the shape tells you something, with all the usual hedges, about when it will break. This is the optimistic case in the series, and it deserves a fair hearing, including the places it falls apart.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>Sandpiles and Crashes: How Systems Tune Themselves to the Brink</title>
        <published>2025-05-31T00:00:00+00:00</published>
        <updated>2025-05-31T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://federicocarrone.com/series/edge-of-chaos/sandpiles-and-crashes-how-systems-tune-themselves-to-the-brink/"/>
        <id>https://federicocarrone.com/series/edge-of-chaos/sandpiles-and-crashes-how-systems-tune-themselves-to-the-brink/</id>
        
        <summary type="html">&lt;p&gt;The last essay ended with a puzzle it did not solve. Markets, it argued, sit near a critical point, the knife-edge where a tiny shock can cascade into a huge move. But phase transitions are fussy. Water turns to ice at one exact temperature. A magnet loses its magnetism at one exact spot on the dial. To sit near that kind of edge, something usually has to hold the dial there with great care.&lt;&#x2F;p&gt;
&lt;p&gt;So who holds the market’s dial? Who tunes millions of independent traders to balance near the edge?&lt;&#x2F;p&gt;
&lt;p&gt;The answer, worked out in 1987 by three physicists, is that nobody does. Some systems walk to the edge on their own and stay there. Per Bak, Chao Tang, and Kurt Wiesenfeld called it self-organized criticality, and the toy they used to show it was a pile of sand.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>Crashes Without a Cause: Markets as Phase Transitions</title>
        <published>2025-05-30T00:00:00+00:00</published>
        <updated>2025-05-30T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://federicocarrone.com/series/edge-of-chaos/crashes-without-a-cause-markets-as-phase-transitions/"/>
        <id>https://federicocarrone.com/series/edge-of-chaos/crashes-without-a-cause-markets-as-phase-transitions/</id>
        
        <summary type="html">&lt;p&gt;On October 19, 1987, the S&amp;amp;P 500 lost more than 20 percent.&lt;&#x2F;p&gt;
&lt;p&gt;The size of the fall was only part of the strangeness. The usual story never arrived. No bank failed that morning. No war started. No earnings report, rate decision, or political announcement came close to explaining a one-day move of that size. People searched for the cause because markets are supposed to need causes. Black Monday mostly refused to provide one.&lt;&#x2F;p&gt;
&lt;p&gt;Bouchaud and his collaborators later found the same problem at a smaller scale. Look at large jumps in individual stocks and the matching headline is often missing. The move is real; the news is too small, or absent.&lt;&#x2F;p&gt;
&lt;p&gt;That leaves an uncomfortable possibility: sometimes prices move because the market has already begun to move.&lt;&#x2F;p&gt;
&lt;p&gt;The model that makes this feel less mysterious was not built for finance. It was built for magnets. Before turning it into a market, we need to build the magnet first.&lt;&#x2F;p&gt;</summary>
        
    </entry>
</feed>
