Timeline
How the research behind my proofs came about, from a question about cognitive dissonance in 2024 to the logical knot, with dated milestones along the way.
Dates come from dated drafts, code and posts; those marked approximate come from memory. The results themselves are on the proofs page.
2024
A break in the family
Before everything came apart, my life had started to look more stable than it had in years. My partner and I had moved into my family's duplex with our two cats. I was working, finishing a master's degree at Georgia Tech, and lifeguarding in the summers. Then the 2024 election season entered the family group chat.
No single message explains it. Political conversations accumulated: a claim, a reaction, a link, a dismissal, a certainty. What disturbed me was not any one opinion but the feeling that the conversation was happening across a gap I could not cross. I could argue with a position. I could not argue with a reality.
Around then I heard the political streamer Destiny describe “constellations of beliefs”: people inherit whole sets of beliefs from the groups they belong to, so someone who hears one belief from a set assumes you hold the rest. In my own writing it became a “web of beliefs”, and it gave me a way to move from shock to a question. A belief does not sit alone. It rests on older beliefs, memories, loyalties and fears, and other beliefs are built on top of it. Pull one strand and the rest of the web moves. A person may reject a fact not because it is complicated, but because accepting it would mean rebuilding everything that rests on what it contradicts. The known is comfortable not because it is true, but because it is already integrated.
Then the question turned back on me. If I was going to ask how other people protected their realities, I had to ask what I was protecting. I became interested in plausible deniability as something people build inside themselves: keeping a claim vague enough to motivate them but never explicit enough to be tested. Feeling honest did not prove I was thinking clearly.
That is when dissonance started to look like computational pressure rather than only a feeling. A mind holds commitments, new information arrives, and the conflict has to be resolved somehow: update, ignore, reinterpret, attack the source, or split the contradiction across contexts so the two sides are never forced into the same room. Each side keeps its own local coherence while attention rests on one at a time. The discomfort starts when attention makes them meet, and two separate truths become one unsatisfied joint obligation. The question was not only why people believe false things. It was how expensive it is to think otherwise.
2024-05-17
On stream, Destiny walks through his notes on “constellations of beliefs” and cognitive dissonance. Video
2024-07-22
I start a book manuscript, American Schizo.
What this led to. To study that pressure I needed a model of the web itself, so I started writing it down.
Summer 2024
American Schizo
Most of the book was about political manipulation: incentives, media, bots, influencers and rhetorical tactics. One chapter, “The Web of Beliefs”, described a person's beliefs as domains (political, cultural, social) made of vectors: ideas that align or conflict, plus “attack vectors” designed to disrupt a web from outside. A shift in one domain moves the others, which is how narratives spread.
The chapter after it introduced traversability: how much attention it costs to move between two domains and reconcile them, compared with the shortest path that would connect them. Low traversability lets contradictions coexist, because bringing them together costs too much; the result is a compartmentalized worldview. High traversability pulls a web toward coherence, but risks forcing one domain's logic onto another, like someone who applies cost–benefit reasoning to their friendships.
The title was too bold. It could read as hostile when what I wanted was an investigation, and it risked making the people I wanted to understand feel accused before the argument began. As the project moved from polemic toward research, I renamed it At the Discretion of Dissonance: what dissonance permits, what it forbids, and how much discretion a mind has when its beliefs are under threat. Somewhere in there I stopped writing about politics and started building a model of thought. Reality no longer felt like a shared surface. It felt like an output.
2024-07-26
The earliest dated text, a draft of the book under my name, already includes the chapters on the web of beliefs and on traversability.
2024-08-19
The focus narrows from the book to a research note, At the Discretion of Dissonance, which defines discretion and dissonance.
2024-08-22
The note proposes that dissonance tells a system what to do first, and organizes new state vectors by what they align with, their distance from an origin, and their variance.
What this led to. Traversability was a cost of connecting things, and a cost needs something to be measured on. The obvious choice was distance, so the web went into a space.
2024
Building the web in space
I tried to make the web something a computer could hold. It became a bounded three-dimensional cube: supporting beliefs below, dependent beliefs built above, each axis running from −1 to 1. Heavier points stood for more strongly held beliefs, colours for kinds of belief, directions for pressure or influence. I needed words for what the model should detect. Incongruence was the graded mismatch between active beliefs; an activated schema was the set of beliefs active together; dissonance, written γ, was their accumulated incongruence; consonance was its resolution through updating, rationalizing or restructuring.
The note also grew a mechanism. A memory table received new data, a restructuring table decided how to organize it, and a planning table anticipated what would come next. Given a and b, the system could merge them into ab, then ab and c into abc, and a mismatch between prediction and input was dissonance to resolve. Levels of abstraction were counted by how many “pass-throughs” it took to reach them. Looking back, this was the first appearance of an idea that kept returning: name a pattern, and reuse the name inside a larger pattern.
The project became physical in two 8×10 graph-paper notebooks, and one was usually with me: late at night, with friends, on trips. The pages filled with points for ideas and contradicting ideas, with arrows between them. My partner was the person I explained it to most, and helped me learn to say it so someone else could follow. I even tried to prove that a person whose activated schema held more dissonance would be more susceptible to manipulation, because a manipulator could offer a path of least resistance to consonance. The missing piece was always the math. I could not define incongruence without the distances I had invented.
There was a deeper problem I could feel before I could name it. I was building the web spatially, not logically. The cube decided in advance what it meant for two beliefs to be near, far, or pointing in a direction. The picture showed where I had put the beliefs, not why their relations had to exist. I had diagrams before definitions, and pressure before notation.
2024-09-03
The first dissonance code: state vectors, learned movement, clustering, and memory near an origin, with geometric visualizations.
2024-10-13
Memory, restructuring and planning tables, merging a and b into ab and then abc, with prediction mismatch as dissonance.
2024-10-18
Levels of abstraction counted by pass-throughs, and sequences stored by splitting them rather than keeping every suffix.
2024-12-15
A dissonance simulator with reinforcement learning and an interactive client, in a code repository named after the book.
What this led to. I kept building, adding simulation and learning, but the space stayed something I had supplied rather than something the model produced.
Early 2025
The fire
Then the house burned down. The Palisades fire took the place where this thinking had been happening, and both full notebooks with it. Notes are not just storage. They are scaffolding: they hold thoughts in partial form so the mind does not have to carry everything at once, and they preserve the path by which one idea became another. When I lost them, I did not only lose pages. I lost sequence.
The ideas did not disappear, but without the written trail they became harder to trust. Memory after a loss like that is not a clean archive; it fills gaps and protects. The project stopped being something on paper and became something I carried. There was no time to stop: there was the aftermath, and there was school.
I wrote the ideas down again. The new drafts started from reinforcement learning, with the curse of dimensionality in the Bellman equation as the problem dissonance might help with, and kept the definition of dissonance as the summed incongruence of active vectors. They tied persistence to cycles, and described structures that merge and disconnect, with inputs condensing into abstractions that last long enough to be reused. A separate draft tried P versus NP head-on, imagining a program's execution as a signal that flatlines when it halts.
January 2025 · approximate
Our home burns in the Palisades fire. Both graph-paper notebooks are lost.
2025-03-13
A rewritten draft, The Discretion of Dissonance, defines dissonance as the summed incongruence of activated vectors and ties persistence to cycles.
2025-03-16
Structures that disconnect and merge, and abstractions that persist long enough to be reused.
2025-03-31
A first P versus NP draft: execution through SAT/CNF and Fourier-style signals, with halting as a flatline.
2025-06-09
A “relational dissonance” simulation of neurons with their own policies. In July a primal/dual particle simulation followed, still built on forces in a supplied space.
What this led to. I had the pieces (persistence, cycles, merging, reuse) but no formal language for what a structure is, or for what makes one problem harder than another.
2025
A language for difficulty
My last course at Georgia Tech was Graduate Algorithms. I took it in the spring and could not finish it, spent the summer lifeguarding, and took it again in the fall. It gave me something I did not expect: a language for difficulty. Before, a hard problem was one that made me struggle. The class asked what kind of problem it is, how the work grows with the input, whether a solution can be found efficiently, and whether one can be checked efficiently. Finding and verifying are not always the same kind of work.
That attached itself to everything. Maybe some beliefs are easy to verify from inside a web but hard to discover from outside it. Maybe some explanations are easy to accept once given but nearly impossible to generate without the right prior structure. Maybe thought fails not for lack of intelligence, but because the search space is too large or reorganizing the web costs too much.
The class also gave me conjunctive normal form: a problem as a list of requirements, each with several ways to be met. I became perplexed by 2-SAT and 3-SAT. With two literals per clause the problem is easy; with three it is, as far as anyone knows, a different kind of search. One extra literal changes the character of the problem. It felt like a warning from mathematics that a small change in structure changes what grows from the rules. What if beliefs were clauses, and dissonance the clauses that cannot all be satisfied at once? I called the idea non-deterministic topological logic before I knew whether it named anything real.
I had also been studying reinforcement learning and language models. I leaned toward emergence through interaction and feedback; now I think of large language models as a way to brute-force emergence. The emotional problem and the computational problem began to rhyme.
Spring and fall 2025 · approximate
Graduate Algorithms, twice: P versus NP, reductions, CNF, 2-SAT and 3-SAT.
What this led to. The rhyme turned into a concrete question about three-variable formulas, and I asked it in public.
November 2025
The question
I noticed that the CNF (x∨y∨z)∧(x∨¬y∨¬z)∧(¬x∨y∨¬z)∧(¬x∨¬y∨z) allows exactly the odd assignments, and that in it the first variable decides whether the other two match. Its mirror allows exactly the even ones. Together they are unsatisfiable, but two odds or two evens combine. If I named the even pattern as a new variable a and used it inside a larger formula, the patterns seemed to become recursive: emergent properties made of emergent properties.
It also seemed impossible in 2-SAT. A two-literal clause can say how one variable relates to one other, but not “match or no match” between two others. So I asked: is the difference between 2-SAT and 3-SAT emergence? Is there a smallest set of patterns from which the others emerge? How much “emergent information” can a formula hold for a given number of variables and literals per clause, and how fast does it grow?
The next day I found Schaefer's dichotomy and Post's lattice: the classical theorem that sorts constraint languages into easy and NP-complete by exactly this kind of structure. I wondered why that did not prove P ≠ NP, and recorded the correction I was given: nothing forces a reduction to preserve an emergent property, so structural complexity alone does not establish computational complexity. Expressiveness and hardness are different questions.
2025-11-25
I post “Is the difference between 2-SAT and 3-SAT emergent properties?”: odd and even three-variable CNFs, one variable controlling whether two others match, and named patterns reused inside larger ones.
2025-11-26
In the same thread: Schaefer's dichotomy and Post's lattice. The correction that structure alone does not settle complexity is in two edits to that comment, which the forum does not date.
What this led to. Two things survived the correction: the parity pattern, which would become the knot that hides the most, and the question of how much a formula can hide from its parts, which would become a measurement.
Spring–summer 2026
Strings, loops and soft logic
I went back to building, now with constraints instead of coordinates. The mental model was a string laid through space: a straight segment is a simple relation, a bend a dependency, a crossing an interaction, a knot a higher-order entanglement. I wanted that topology to be soft and statistical, so that a weighted CNF could be trained and activation could flow through clauses.
Loops became the central object. A loop was a reusable, coherent constraint circuit: a set of signed clauses whose mutual satisfiability lets activation circulate and come back reinforced. Variables were too atomic and clauses too local; loops were the first level where relation, memory and flow came together. In essays I argued that emergence is recursive: the same logical forms reappear inside cognition and daily life as higher-order versions of themselves, and the cost of reconciling incompatible beliefs is a constraint problem.
2026-03-08
A soft-CNF research repository, and an intuition note: logic as a string that bends, loops and knots, with a topology soft enough to learn.
2026-03-28
Essays on recursive emergence, and on the cost of reconciling incompatible beliefs as a constraint problem.
2026-04-03
Loop logic: loops as reusable signed constraint circuits where relation, memory and flow first meet.
2026-07-21
A backup made that day holds a textbook draft that motivates emergent topological logic and the distinction between two- and three-literal clauses.
What this led to. The string picture had the right shape and the wrong medium. I was again putting logic inside a space and letting the space do the relating.
July–October 2026
Contact first
The turn was to stop supplying space at all. As I put it later: I was trying to represent things spatially, where things in one place had an effect on things in a different place. I was literally trying to build the “emergence from logic” idea spatially, which does not make sense. Two strings looped together is a picture that works for human minds, but it is not accurate. There is no space yet. It is an abstraction.
So the program started before space. If relations are real, logic has to build the first one, and it cannot come from a drawing. The working picture became this. A line is not enough, because a chain of implications only orders things. A single loop is not enough, because a loop of implications collapses to a point. What is real is what lies between bound loops: a binding that belongs to the pair, that no smaller part shows, and that disappears when either loop is erased. A common hub, one thing shared by two separate relations, is not a binding.
The last piece was what erasing a loop means. I put it as “what happened to the larger structure when you broke or disconnected a loop”, and that made erasure forgetting. With that, the knot test was fixed: constrained as a whole, unconstrained in every part. The parity pattern from my November question passes it, and hides the most of any knot: one full bit.
2026-07-24
The contact-first program begins: logic before supplied space, two independent loops, a contact they share, and the common hub as the first counterexample.
2026-08-15
A side result: an affine sunflower refutes a conjecture in ECCC TR26-007. Proof
2026-10-19
The knot test K1–K3 is adopted, with erasure read as forgetting. Proofs
2026-10-20
For infinite systems I chose the source-aware reading, keeping it open to revision.
What this led to. Once the knot was fixed, the old questions came back, and this time they could be answered with proofs.
October–November 2026
What the knot answered
Looking back, each old question found a precise form. “How much emergent information can a formula hold?” became a measurement: two-literal rules hide nothing from their parts, a knot hides at most one bit, and only parity hides a full bit. “Why not 2-SAT?” became a theorem: no system of two-place rules defines a knot, and three-literal clauses define every one.
Traversability, the cost of bringing separated domains into one view, came back as depth. In a network of parity knots every small window looks consistent; to see the contradiction, an observer has to carry it across the widest boundary of the network's layout. And the web of beliefs, where one belief sits inside many contexts at once, came back in where hardness enters: knots alone stay easy, and NP-hardness needs a hub as well, three places per relation and three relations per place.
The question of space found a first answer too. The knot builds its own surfaces: its spaces are made of Fano-plane atoms in planar glue, and each atom is a handle. None of this proves anything about belief or minds. It is the mathematics the questions turned into.
2026-10-20
The depth of a hidden bit is a layout width.
2026-10-21
How much a knot hides: at most one bit, and only parity hides a full bit.
2026-10-24
Where hardness enters: native contradictions are parity systems, and NP-hardness needs a hub as well as a knot.
2026-10-26
Counting homomorphisms from knot groups refutes Rowell's conjecture for solvable groups, unless every #P function is computable in polynomial time.
2026-10-29
A standing rule for the research: when a definition forks, test both readings and adopt the one that gives more interesting results.
2026-10-30
The knot builds its own surfaces: Fano atoms in plane glue, each atom a handle.
2026-11-05
Everything since the knot test is published, with its proofs and checks. knotlab
A journey can explain how an idea arrived, but it cannot certify it. The proofs have to stand on their own, and this page is only the path that made them visible.