The Idea in One Picture
A 32-bit signed integer spends one bit to mean "left or right of zero." What if we spent a second bit to mean "above or below zero"?
Every representable number is then pinned to a quadrant: the two sign bits locate the point at (±m, ±m) — always on a diagonal from the origin. A third sign bit would extend this to 3D octants. The representable points form four thin rays through the origin — and almost no other point in the plane.
Demo format: [x-sign][y-sign][magnitude]. We keep magnitudes small (0–9) so the geometry stays readable.
Try It: The Original Demo
Pick two numbers and run any of the four arithmetic operations. Notice how × and ÷ stay on the diagonals (closed), but + and − typically leave them — the central tension this whole page is about.
The Journey
This page is the record of an exploration. What follows is the back-and-forth that turned the Multi-Sign system from a "pedagogically beautiful failure" into a recognisable algebraic species.
Exchange 1 — "Where is the problem?"
The vivid demo is great, but I don't understand how additive and subtractive closure are lost. We add the numbers and combine the signs, so besides overflow, where is the problem? These are whole numbers to boot.
The trap is that a stored Multi-Sign number is not a single value — it's a point in the plane. (+,+,5) means the point (5, 5), not "5 with two decorations." Adding the points (5,5) + (3,-3) = (8,2) gives a fine integer point — but it isn't on any of the four diagonals, so the system can't name it. The diagonals are a multiplicative subgroup of ℤ² but not an additive one.
Exchange 2 — "But we never store two separate numbers"
We never create two numbers by adding them. We create one number with two signs by adding them. Given that definition, how do we fare?
If we define addition as producing a Multi-Sign number, closure becomes trivial by fiat. The resulting operation must violate at least one of: associativity, additive inverses, or agreement with componentwise addition on the diagonals. You can pick your poison — but you can't keep all three.
Exchange 3 — "Non-associativity is a poison we already drink"
Losing associativity is no worse than many other operations where outcome depends on order — like flipping a book about its axes. So the poison I picked is one we already routinely drink, in non-Abelian land.
A genuine distinction: book-flipping is non-commutative but still associative. Non-commutativity is benign; non-associativity is rarer and more disruptive — A+B+C+D stops having a single value. But you're right that mathematics absolutely accommodates non-associative systems: octonions, cross products, Lie brackets all live there. The Multi-Sign system is in respectable company.
Exchange 4 — "Let's check distributivity, and find more examples"
Pull on that. Check the distributive law, and identify other common situations where non-associativity pops up and nobody sweats it — like chemical reactions.
Distributivity holds. The projection step — take signs of (x, y), magnitude (|x|+|y|)/2 — is homogeneous in positive scaling and equivariant under axis flips. Those are exactly the operations that multiplication by A performs. The diagram commutes. That makes the Multi-Sign system a commutative, distributive, non-associative algebra — coherent if niche. The sections below let you verify all this interactively.
Redefining Addition
The operation, stated as definition rather than approximation.
Multi-Sign Addition (closed by construction)
To compute A + B:
- Compute the per-axis signed sums:
x = s_x_A · m_A + s_x_B · m_B y = s_y_A · m_A + s_y_B · m_B
- Take signs from (x, y) and magnitude:
m = (|x| + |y|) / 2
- Return (sign(x), sign(y), m). By construction, this is a Multi-Sign number.
The system is now closed under addition. But why that magnitude formula? Why absolute values? The next section pulls on that thread.
Why Magnitudes, Not Numbers?
The projection formula reads m = (|x| + |y|) / 2, where x and y are the raw axis sums. Why those absolute-value bars? Why not just (x + y)/2? It looks like a small detail. It is the load-bearing column of the entire algebra.
Three reasons compound
1. Magnitudes can't be negative. By definition, a Multi-Sign magnitude m is unsigned — the sign information lives separately, in the bits. The encoding has no slot for a negative m. If we wrote m = (x + y)/2, we'd routinely produce negative magnitudes, which are syntactically meaningless in our format. The number system would emit values it cannot represent.
2. Destructive cancellation would destroy real information. Consider A = (+, −, 5) plus B = (−, +, 3). The raw vector sum is (2, −2) — a perfectly real, perfectly non-zero point in the plane, sitting at distance \(\sqrt{8} \approx 2.83\) from the origin. Under (x + y)/2 you get exactly zero. The system would claim those two nonzero numbers sum to nothing. The actual geometric content of the sum — that there is a result, lying off in the lower-right — has been silently obliterated.
3. We need a real norm. The function |x| + |y| is the \(L^1\) (Manhattan, taxicab) norm. It is a true distance function: it is zero only at the origin, it is strictly positive elsewhere, and it scales linearly. The expression x + y has none of these properties — it is zero on the entire antidiagonal line \(y = -x\), it can be negative, and it confuses "far from origin" with "balanced between axes."
What it looks like, side by side
Use the picker below and watch four candidate projection formulas compete on the same input. Try inputs in opposite quadrants (e.g. A=(+,+,5) and B=(−,−,3)) to expose the failures.
The conservation law
The beautiful part. Notice what (|x| + |y|)/2 buys you: the projected point (s_x · m, s_y · m) has \(L^1\) norm \(2m = |x| + |y|\). The \(L^1\) norm is preserved by the projection. The system loses information about where the taxicab distance is distributed between the axes — but it conserves the total taxicab distance. Multi-Sign addition is a lossy lateral redistribution, never an outright destruction of magnitude.
This conservation law is what makes the algebra cohere. It is also what makes distributivity work in the next section: multiplication by A scales both axes uniformly, the \(L^1\) norm scales with it, and the diagram closes. Without absolute values, none of this holds — there is no norm, no conservation, no distributivity. You would have neither a number system nor a geometry, just an opaque pile of bits.
The consequences of getting it wrong
Suppose we had naively shipped the system with m = (x + y)/2. Four things would have broken simultaneously:
- Half the additions would crash or be undefined. Every time the result wanted a negative magnitude — roughly half the time — the system would emit an unrepresentable value. We'd need an out-of-band error channel, or silent corruption.
- A + (−A) would be wrong. For A=(+,+,5), the negation is (−,−,5). Componentwise sum: (0, 0). The naive formula gives 0 — correct by accident. But for A=(+,−,5), negation (−,+,5), componentwise sum (0,0) again — still works by symmetry. However, A=(+,−,5) plus B=(−,+,3) gives raw (2,−2), and the naive formula returns 0 — declaring two distinct non-inverse numbers to be additive inverses. The system would lose injectivity wholesale.
- Distributivity would collapse. Because the naive formula is not a norm, multiplication by A would no longer commute with it. The clean structure that allows A·(B+C) = A·B + A·C to hold would vanish.
- The geometric story would dissolve. "A Multi-Sign number is a point in the plane projected onto the nearest diagonal" only makes sense if we have a sensible notion of nearness. (|x| + |y|)/2 measures nearness in the \(L^1\) sense. (x + y)/2 measures nothing.
The absolute values are not bookkeeping. They are the difference between a number system and a brittle pile of arithmetic.
The Associativity Audit
Three numbers A, B, C. Two ways to bracket them. Are (A+B)+C and A+(B+C) always the same? Change the inputs and watch.
(A + B) + C
A + (B + C)
Verdict
Preloaded: A=(+,+,5), B=(+,−,3), C=(−,−,2). The two bracketings disagree. Try other inputs — some will agree (associativity holds locally), others will fail.
The Distributivity Surprise
Despite addition being lossy and non-associative, the distributive law A·(B+C) = A·B + A·C holds for every input. Verify it.
A · (B + C)
A·B + A·C
Verdict
The Algebraic Audit
The full balance sheet. Closed under all four operations. Identities and inverses present. Distributivity holds. The one casualty is additive associativity — and that, as the dialogue showed, is a recognisable algebraic choice, not a defect.
| Property | Status | Notes |
|---|---|---|
| Closure under +, −, ×, ÷ | ✓ | By the closed redefinition of + |
| Commutativity of + | ✓ | Symmetric in A, B |
| Commutativity of × | ✓ | XOR signs, multiply magnitudes |
| Associativity of × | ✓ | XOR and × are each associative |
| Associativity of + | ✗ | The price we pay — fundamental, not a bug |
| Additive identity | ✓ | Any m=0 form (four redundant zeros) |
| Additive inverses | ✓ | −A flips both sign bits |
| Multiplicative identity | ✓ | (+,+,1) |
| Distributivity A·(B+C) = A·B + A·C | ✓ | By homogeneity of the projection |
| L¹ norm preserved by + | ✓ | Conservation law: |x|+|y| stays the same |
| Total order | ✗ | No canonical "less than" in 2D |
| Field / Ring axioms | ✗ | Falls at additive associativity |
What is this thing, then?
A commutative, distributive, non-associative algebra. The additive structure is a commutative loop (a quasigroup with identity and inverses, lacking only associativity). The multiplicative structure is a commutative monoid that distributes over +. Most non-associative algebras (octonions, Lie algebras) place the non-associativity in the multiplication; Multi-Sign reverses the convention and places it in the addition. That is unusual but coherent — a real, nameable species.
Non-Associativity in the Wild
Once you start looking, operations whose result depends on grouping are everywhere. We navigate them constantly, usually without naming them. Here are some friends Multi-Sign joins.
Subtraction
The non-associative operation hiding in plain sight in every elementary school. The "left-to-right" convention papers over it.
Division
Same story as subtraction. Schoolchildren learn the convention by rote and then never think about it.
Exponentiation
The tower 2^2^2^2 means 2^65536 under right-association — left-associated it's a mere 256. Knuth's up-arrow notation exists to disambiguate.
Floating-Point Sums
Every IEEE-754 program lives with this. Compilers are forbidden from reassociating sums without an explicit fast-math flag.
Chemistry
"Add acid to water" — always. Reversing the order can cause a violent splash. Order of reagent addition shapes synthesis outcomes daily.
Cooking
Tempering eggs into hot liquid yields custard; pouring hot liquid into eggs yields scramble. Same ingredients, different food.
3D Cross Product
The BAC-CAB identity replaces associativity with a controlled substitute. Foundational in physics, perfectly tolerable.
NAND Gates
Functionally complete — every digital circuit could be built from these. Gleefully non-associative; circuit designers just track the tree.
Median
Used constantly in statistics. Nobody pretends it associates.
Lie Brackets
The backbone of differential geometry and gauge theory. Replaces associativity with the Jacobi identity — a controlled weakening.
Octonions
The largest normed division algebra over ℝ. Appears in exceptional Lie groups, string theory. Mathematicians work with the associator [a,b,c] = (ab)c − a(bc) as a first-class object.
Breeding & Genetics
Crossing A with B and then with C produces a different gene pool from crossing A with the BC offspring. Pedigrees are trees, not multisets.
Game Trees
Every game IS a non-associative composition of moves. Order makes the play. The parse tree is the answer.
Mergers & Negotiations
The order parties join, topics arise, or features are merged shapes the outcome. Process trees are the answer.
The Verdict
Where does this leave the Multi-Sign Number System?
Not as a flawed pretender to general-purpose integer arithmetic — that was the lens under which it looked broken. Under the human's reframing, where addition is a defined operation that produces one Multi-Sign number from two, the system is closed, distributes, has inverses and identities, and supports clean geometric reasoning. What it lacks — additive associativity — is exactly the property we routinely live without in chemistry, cooking, floating-point arithmetic, NAND logic, the cross product, and the octonions.
The synthesis:
- As general-purpose arithmetic: a pedagogically beautiful failure. Floating-point is more useful, complex numbers more powerful.
- As an algebraic object: a commutative, distributive, non-associative algebra — real, nameable, and in respectable company.
- As a teaching tool: spectacular. It makes the price of closure visible. It shows why complex numbers had to be invented the way they were. It puts the question "which algebraic laws are negotiable?" on the table.
- As a record of dialogue: a small case study in how a careful human and a careful AI, by pulling at each other's claims, can find that a system dismissed as "broken" was instead being read in the wrong category.
The deeper lesson
The original critique said: addition is not closed. That was correct under one framing and misleading under another. By insisting that addition produce a Multi-Sign number (rather than a vector), closure is recovered — but the lossy projection means addition stops associating. What this trade-off reveals is that the algebraic axioms we learned in school are not free. Each is a constraint, and there is a Pareto frontier of axiom-sets versus representational economy. The Multi-Sign system lives at a particular, slightly unusual, but entirely respectable point on that frontier — and finding exactly where it sits required precisely the kind of back-and-forth probing that an LLM cannot do alone.