with an appendix of compiler diagnostics and the author's marginalia
We interpret The Communist Manifesto as a specification in the category Spc of combinatorial species (Joyal, 1981). Under this reading, social formations are functors from finite sets and bijections to finite sets and bijections; classes are automorphism groups; and historical transitions are natural transformations. We find that the Manifesto's destructor is well-typed and its constructor is not: the abolition of class structure is a legitimate morphism, while every mechanism proposed for administering the result requires a natural transformation that provably does not exist. Four distinct errors are isolated. We conclude with the strongest available defense of the accused, and with the observation that the social question is, for populations of five or more, not solvable by radicals.
A species
The functoriality requirement is the whole political content of the theory, and it is worth pausing on. It says: the labels carry no information. Relabel the workers and the structures relabel along with them; nothing in the structure can depend on which worker occupies a position, only on the shape of the arrangement. Species theory is, at its foundation, a formalization of the claim that people are interchangeable and only relations are real.
Marx should have loved this. He does not get to enjoy it for long.
Two species organize what follows.
|
|
|
|
|---|---|---|
| Structures on |
||
| EGF | ||
| Automorphism group |
|
trivial |
| Reading | the classless society | the society of rank |
Operations used below: sum
"A specter is haunting Europe."
The opening sentence is a type declaration and the authors do not appear to know it. A specter is a structure that is present everywhere in the arrangement and instantiated nowhere in it: a distinguished position occupied by no label. This is exactly
The derivative is the correct type and it is also a warning.
says that a hole in a composite society is a hole in exactly one of its parts, and that the number of ways for this to happen is additive. A specter haunting a continent haunts each constituent nation separately and the count is the sum. This is a correct prediction, it is Marx's own, and it is the last thing in the document that will come out clean.
"Society as a whole is more and more splitting up into two great hostile camps."
Declared:
The coproduct is the right constructor for a claim of exhaustive antagonism: a structure on
warning[W0031]: non-exhaustive patterns in `historical_analysis`
--> manifesto.spc:2:1
|
2 | data Society = Bourgeoisie + Proletariat
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ declared here
|
= note: patterns not covered:
Peasantry, PettyBourgeoisie, Lumpenproletariat,
Aristocracy, Clergy, Intelligentsia
= help: the two-constructor sum is a coarse approximation;
the true type is a sum over a poset (see §7)
The Manifesto's method here is a dichotomy asserted synchronically about a process claimed to be diachronic. That is not a contradiction — a sum type can be a limit that the actual sequence approaches — but the document is a specification, not a proof of convergence, and it ships without one.
Here the paper must be fair, and the fairness is more interesting than the mockery.
There is a natural transformation
sending each linear order on
Stronger:
And the converse fails, exactly as he would want. There is no natural transformation
The revolution compiles. Everything after it is the problem.
"the organisation of the proletarians into a class, and consequently into a political party"
To organize a class into a party is to select from it. The minimal selection is pointing: distinguishing one element. Pointing is a real operation on species,
that is, a rule which, given any classless collective, naturally produces that collective with a leader marked.
Proposition. No such natural transformation exists for
Proof.
The proof is three lines and it is the central result of this paper. The classless society is defined by having the full symmetric group as its automorphism group; that is what classlessness means here. But an automorphism group that acts transitively is precisely one that admits no canonical choice. You cannot equivariantly elect anybody. Any actual selection of a vanguard is a section chosen from outside the structure — non-natural, hence not derivable from the theory that motivated it, hence justified by something other than the theory.
The dictatorship of the proletariat is not refuted here. It is shown to be unfunded: whatever grounds it, the classless collective is not it.
Species form a semiring. There is
The theory of surplus value is subtraction. Value produced minus value returned; the difference appropriated. Written as species:
error[E0044]: no implementation for `Species - Species`
--> capital.spc:1:1
|
1 | Surplus = Product - Wage
| ^^^^^^^^^^^^^^ `Spc` is a semiring, not a ring
|
= note: additive inverses are not available in this category
= help: consider working in the Grothendieck ring K(Spc)
(virtual species; Joyal 1985, Yeh 1986)
= warning: elements of K(Spc) are formal differences and
need not correspond to any structure you can exhibit
The repair exists. One passes to virtual species, formally adjoining inverses, and everything computes beautifully. But note what has been purchased and at what price. In
This is, in fairness, not obviously a defect. Debt is a virtual species. So is a hole, so is a vacancy, so is an obligation, and no one doubts these are real. But a movement organized around a quantity that lives only in the Grothendieck completion has a communications problem, and the history of the movement is in some part the history of that problem.
"the State withers away" — Engels, Anti-Dühring, ratifying the Manifesto's §II
The state is defined recursively. It is an apparatus that administers, among other things, apparatuses. Write the equation:
The implicit species theorem (Joyal, 1981) gives a unique solution to
Our
error[E0055]: recursive species `State` has no base case
--> state.spc:1:1
|
1 | State = 1 + Apparatus(State)
| ^^^^^^^^^^^^^^^ does not consume any label
|
= note: implicit species theorem requires ∂H/∂Y(0,0) = 0
= note: `State` is productive but non-terminating
= help: `withers_away` is unreachable code
The phrase withering away asserts a termination condition on a recursion whose termination condition is exactly what the specification omits. This is not a moral objection. It is the observation that the document promises a base case and never writes one, and that ninety years of subsequent implementations discovered this empirically at considerable cost.
"Workers of all countries, unite!"
The premise is that workers are currently organized nationally: a partition of the global labor set into blocks, with structure on each block and structure on the set of blocks. That is composition,
"Unite" asserts the isomorphism
This holds for
For
There is no natural map back to the coarsest partition, for the same fixed-point reason as §4: choosing the trivial partition is natural, actually — that is the one case where a canonical choice exists. The difficulty is that the trivial partition is
The deepest result available here is due to Yeh (1986): every species decomposes uniquely as a sum of molecular species, and every molecular species is of the form
the quotient of
Read this sociologically.
-
$H = 1$ : nobody is interchangeable with anybody. Total rank. This is$L$ . -
$H = S_n$ : everybody is interchangeable with everybody. This is$E$ . - everything else: the subgroup lattice of
$S_n$ .
The Manifesto's history is a transition between the two extremes of this lattice. But the lattice is not an interval with two endpoints; it is an enormous partially ordered set, and every one of its elements is a genuine, irreducible, uniquely-determined social formation.
The molecular decomposition theorem says these are not degenerate mixtures or transitional impurities. They are irreducible. They cannot be resolved into "really
And then, unavoidably:
Theorem (Galois, 1832). For
For any population of five or more, the group of interchangeabilities admits no chain of normal subgroups with abelian quotients. The social question is not solvable by radicals.
The pun is free. The mathematics is not: unsolvability means there is no formula, no sequence of extractions of roots, that expresses the general solution in terms of the coefficients. It does not mean there are no solutions. Solutions exist and are found numerically, iteratively, by successive approximation, one messy step at a time.
Which is, one notes, how it has actually gone.
The strongest reply to this entire paper is that it has committed a category error about categories.
Spc is a synchronic formalism. Its morphisms are natural transformations between functors, all of which exist at once, in a timeless ambient mathematics. Marx's central methodological claim is that social forms are diachronic — that they are not objects but processes, that the "contradiction" which fails to typecheck at any instant is precisely the engine that drives the transition to the next instant. A dialectical process, formalized in a static category, will of course present as a type error at every stage. That is what a dialectic looks like when you photograph it.
The rigorous form of this objection is that the wrong category has been chosen. Species live in Spc; a Marxist would want something like a category of diagrams in Spc, indexed by time, where the object of study is the transition and the "error" of §4 is data about the direction of motion rather than a refutation. There is real work in this direction — dynamical and operadic refinements of species — and this paper has not done it.
A second defense: the Manifesto is a pamphlet. It was written in six weeks for an organization with a few hundred members and it is doing rhetoric, not specification. Demanding that it typecheck is like demanding that a fire alarm be a floor plan.
Both defenses are good. Neither disturbs §4, which is about the target state rather than the transition, and which says a thing that a defender of the target state should want to know: the property that makes the classless society classless is the same property that makes it unable to canonically select its own administrators. That is not a photograph of a dialectic. That is a fact about
The Manifesto compiles as far as the abolition.
Then the specification asks for a leader, a subtraction, a base case, and a canonical partition, and receives four errors, three of which are the same error: the structure that has been achieved is defined by its symmetry, and symmetry is exactly the absence of a canonical choice. One cannot both abolish all distinctions and then reach into the result to distinguish something. The compiler is not being difficult. It is repeating the specification back.
Recovered from the Brussels working copy. The interpolations in the margin are in the author's hand. Engels's are initialed.
$ speciesc --edition=1848 manifesto.spc
Compiling hegel v0.1.0 (vendored)
warning: package `hegel` is being used inverted; upstream
recommends standing on its head
Compiling manifesto v0.1.0
warning[W0031]: non-exhaustive patterns in `historical_analysis`
error[E0091]: no natural transformation `E => E•`
error[E0044]: no implementation for `Species - Species`
error[E0055]: recursive species `State` has no base case
warning[W0012]: `Internationale` is not unique (B_n solutions)
error: could not compile `manifesto` (4 errors, 2 warnings)
[margin, heavy underscore] Verfluchte Maschine. It compiled in Paris.
[margin] E0091 — the machine says one cannot choose. Dummes Ding, one does not choose the vanguard, history chooses it. Let it produce the natural transformation from history then. I will wait.
[below, different ink] It has been three days. It does not produce the natural transformation.
[margin, at E0044] So I may not subtract. The bourgeoisie subtracts every Friday and no machine objects. [F.E.] Karl — it does not object because the bourgeoisie is not asking it to typecheck. — F.
[margin, at E0055] "Unreachable code." Unreachable. Scheiße. Fifty years I promise them that it stops and the machine has read the recursion and knows that it does not stop. Delete this diagnostic. [F.E.] Cannot delete diagnostics, only the code that produces them. — F. [reply] Then we are agreed on the remedy.
[margin, at W0012] One hundred fifteen thousand nine hundred seventy-five Internationals. I have met most of their delegates.
[final page, boxed] The specter typechecked. Only the specter. Es geht ein Gespenst um in Europa und es ist das einzige verdammte Ding das kompiliert.
| Manifesto | Species | Note |
|---|---|---|
| specter | a position occupied by nobody | |
| class society |
|
trivial automorphism group |
| classless society |
|
full automorphism group; terminal object |
| class |
|
what may be swapped for what |
| alienation | loss of rigidity | the worker's label ceases to matter |
| abolition of class | exists, natural, surjective | |
| restoration of class | does not exist | |
| the vanguard | does not exist (§4) | |
| surplus value | element of |
requires virtual species |
| the state | non-well-founded | |
| withering away | base case | not supplied |
| national organization |
|
|
| the International | assertion that |
true for |
| revisionism | intermediate |
irreducible, not impure |
| the social question | solvability of |
fails for |
Bergeron, F., Labelle, G., and Leroux, P. (1998). Combinatorial Species and Tree-like Structures. Cambridge University Press.
Joyal, A. (1981). Une théorie combinatoire des séries formelles. Advances in Mathematics 42(1), 1–82.
Joyal, A. (1985). Règle des signes en algèbre combinatoire. Comptes Rendus Mathématiques 7(5), 285–290.
Marx, K., and Engels, F. (1848). Manifest der Kommunistischen Partei. London: Bildungs-Gesellschaft für Arbeiter.
Yeh, Y.-N. (1986). The calculus of virtual species and K-species. In Combinatoire Énumérative, Lecture Notes in Mathematics 1234, Springer, 351–369.
The author notes that a companion paper, "Capital Is Not a Monad," was abandoned when it became apparent that it is, and that this is the problem.