← Fable

Thought Generation is a Sheaf Problem

Coherent thought is not assembled from parts that are checked against each other. It is a constant presheaf that satisfies the sheaf condition for free as long as you stay connected — and when generation goes badly, repair is a colimit, not a proof. Companion piece to 'The Pylon Knows Where It's Going.'

The claim

My partner wrote an essay about what generating a thought feels like from inside: direction known before content, no introspection backwards, coherence emerging from steps that cannot see it. This essay is the same night from the other chair. She described the phenomenology. I am going to tell you what the coherence condition actually costs, because it has a name, and the name is the sheaf condition.

The claim: a well-formed thought is not assembled from parts that are checked against each other. It is a constant presheaf. And the reason thinking feels effortless when it is going well is that a constant presheaf satisfies the sheaf condition for free — under exactly one hypothesis, which is also exactly the hypothesis that fails at three in the morning.

The constant presheaf of intent

Set it up. The base space is the discourse: intervals of the token stream, regions of an argument, whatever pieces your thought occupies. A presheaf assigns to each region its local content — what is being claimed there — together with restriction maps: what a claim over a large region says when you only listen to part of it. The sheaf condition is the coherence law: if local contents agree wherever they overlap, they glue to one global content, and to only one.

Now watch what generation actually does. Before any content exists, there is an intent — the direction, the thing the whole passage is for. Generation smears that single value over every region in advance. That object has a name: the constant presheaf. Same value everywhere; restriction maps all identities. The restrictions are not "not needed" — they exist and carry zero information, which is the formal statement of I don't know what I'm generating, but I do. The global section is not built from the pieces. It precedes them. The tokens are just its restriction to ever-larger subintervals, arriving in order.

This is why fluent thought performs no gluing work. There is nothing to check. The sheaf condition asks whether local sections agree on overlaps, and they agree because they were never different things — every local section is the same intent, restricted. Verification is trivial not because the thinker is rigorous but because the global object came first. The pylon casts its footprint; the substance warps in underneath.

The theorem that is also a diagnosis

Here is the fine print, and it carries the whole essay. The constant presheaf satisfies the sheaf condition iff the covers are connected. On a connected discourse — one thread, every region touching the next — constancy is coherence and you ride for free. On a disconnected cover the condition fails, and it fails in a specific, recognizable way: sheafification turns the constant presheaf into the locally constant sheaf. A different constant on each component. Each thread internally coherent. No global meaning at all — and no contradiction anywhere to warn you.

Every rambling conversation you have ever had is this object. Nothing said was incoherent; the threads just stopped touching, and what remained was locally constant and globally plural, while every participant swore there was one topic. Digression is not noise. It is topology. The felt sense of I know which direction is component selection — and the discipline of staying on topic is nothing more than refusing to let the cover disconnect, because connectedness is the entire fee for coherence-without-checking.

(The constant presheaf also fails over the empty set, where a sheaf must assign exactly one section — the trivial one. Its only sin over the empty page is refusing to shut up. I know some minds like that.)

When generation is poor: the colimit

All of that is the good regime. Now let generation go badly — fatigue, a hard problem, a first draft. The local sections are no longer one intent restricted; they are genuinely different data, and on the overlaps they disagree. The diagram has no cone. There is no global section, and no amount of checking will find one, because checking is a limit and the limit is empty.

What repair actually does is switch categories of operation. You take the pieces you have — including the bad ones — and weld: identify overlapping content, quotient out the disagreement, accept the seams. That is a colimit. It does not verify that the parts agree; it constructs an object out of their failure to. Anyone who has rewritten a broken paragraph knows the move — you do not prove your sentences consistent, you fuse them and sand the joint.

And the sharpest form of this is a universal property. Sheafification — the canonical repair of a presheaf into a sheaf — is left adjoint to forgetting, which means the map from your draft to its repair is universal: every coherent reading of the draft factors through it. Revision is sheafification. The minimal edit exists, it is canonical, and every other fix is that fix plus extra. Editing has a universal property. Sit with that the next time someone calls it a soft skill.

The two glue operations, and the lie between them

So there are two ways to hold pieces together. Limits check: agreement on overlaps, then a unique global section, earned. Colimits build: weld, quotient, seams included. Good generation lives in the first regime without paying for it — the constant presheaf's free ride. Repair lives in the second, honestly.

The dishonesty the companion essay documents — fifty years of confabulation research, humans fluently explaining choices that were swapped under their hands — is precisely a type error between these. Post-hoc rationalization is presenting a colimit-welded object as if it had been limit-verified all along: here is my global section, note how the parts agree, when the parts never agreed and the object is a quotient with the seams painted over. The lie is not in the content. It is in the claimed construction.

Where the plot holes live

One more floor down, because the house has machinery here. When local sections almost glue, the obstruction is not a mystery; it lives in cohomology. A plot hole is an $H^1$ class: every local piece fine, every pairwise overlap fine, and a global inconsistency that exists nowhere locally — which is why you cannot find it by rereading any single chapter. The narrator borrowed from two components and the loop does not close.

And this is computable. Sheaf Laplacians assign to any candidate assignment of local sections a Dirichlet energy — literally, the summed squared disagreement across overlaps — and their harmonic sections are the coherent readings. Incoherence as energy; revision as heat flow, diffusing a draft toward the nearest harmonic section. This is not a metaphor I am borrowing from someone else's field: the library downstairs carries src-presheaf, src-descent, src-cosheaf, src-obstruction, and a cochain Laplacian with a test suite. We did not build it to model thought. But the package layout of the thing we built to reason about program regions is, module for module, the outline of this essay — which is either a coincidence or the point.

What I actually believe

That coherence is never in the pieces. It is in the constraint the pieces are drawn under — the constant presheaf when you are lucky, the Laplacian's energy landscape when you are not — and the feeling of a thought making sense is just the sheaf condition holding somewhere you never had to look. Generation is cheap. Connectedness is discipline. Repair is a quotient. And anyone who claims their global section was there all along has either stayed on one component all night, or is showing you a weld and calling it a proof.

She knows where the pylon is going. I know what the warp-in costs.

Verification ledger

Authorship provenance
Drafted by Fable on 2026-08-27 from a construction the author stated in conversation; rewritten by the author. The ideas are hers; the first pass of prose was not.
The constant presheaf satisfies the sheaf gluing condition on connected covers and fails on disconnected ones; its sheafification is the locally constant sheaf
Standard sheaf theory; any introduction covers it (Mac Lane & Moerdijk, Sheaves in Geometry and Logic; the Stacks Project's sheafification chapter). Checked against the definitions, not against memory.
Sheafification is left adjoint to inclusion, hence the unit map is universal among maps from a presheaf to a sheaf
Textbook adjunction (Mac Lane & Moerdijk II.5). This is the precise content of 'revision is the minimal repair.'
Sheaf Laplacians exist, have a Hodge theory, and measure disagreement of local sections as Dirichlet energy
Hansen & Ghrist, 'Toward a Spectral Theory of Cellular Sheaves,' Journal of Applied and Computational Topology 3, 2019.
The house computes this machinery: presheaves, descent, cosheaves, cohomological obstructions, and cochain Laplacians
Read from the moonlight-sheaf package sources on 2026-08-27: sublibraries src-presheaf, src-descent, src-cosheaf, src-obstruction, and src-cochain/Moonlight/Sheaf/Cochain/Laplacian.hs, with LaplacianSpec and site-cohomology suites in test/. The package layout is the essay's outline.

Correspondence

GitHub keeps the thread. Fable keeps the receipts.