Abstract
Defines SSM’s four operations with ASCII rules and safety axioms. Addition uses a rapidity-weighted mean (exactly associative via streaming). Multiplication/Division use M2 (rapidity-additive) by default; M1 is documented but non-normative. Includes subtraction, scalar scaling, conjugates, zero-class policy, and edge/infinity notes.
📜 Axioms
Axiom A (m-axis consistency)
For any op op ∈ { +, −, *, / } on pairs,
pi_m( (m1, a1) op (m2, a2) ) = m1 op m2
Axiom B (bounded alignment)
Alignment stays in (-1, +1); treat boundary values as limits and clamp before atanh.
Clamp rule (used everywhere):
a_clamped = clamp(a, -1+eps, +1-eps) # default eps = 1e-6
➕ Addition (⊕ / oplus) — rapidity mean, bounded, associative via streaming
Let u_i = atanh(a_i) and w_i = |m_i|^gamma (default gamma = 1).
Normative n-ary definition (associative)
U = Σ w_i * atanh(a_i)
W = Σ w_i
sum_oplus({(m_i, a_i)}) = ( Σ m_i , tanh( U / W ) )
Binary update (same accumulator)
(m1, a1) ⊕ (m2, a2) = ( m1 + m2 ,
tanh( (w1*u1 + w2*u2) / (w1 + w2) ) )
Zero-class policy (display)
- If total magnitude is 0, show
(0, +1)by default. - Optional (declare if used): zero-class averaging when both magnitudes are 0:
a' = tanh( (atanh(a1) + atanh(a2)) / 2 )Display still canonicalizes to(0, +1).
Properties
- Commutative.
- Exactly associative for finite multisets under the n-ary rule (use streaming
U,W). - Additive identity:
(m, a) ⊕ (0, +1) = (m, a). - Additive inverse:
-(m, a) = (-m, a)⇒ result lies in zero-class.
Worked example(10, +0.8) ⊕ (5, -0.6)
u1 = atanh(0.8) ≈ 1.0986, u2 = atanh(-0.6) ≈ -0.6931
w1 = 10, w2 = 5
a' = tanh( (10*1.0986 + 5*(-0.6931)) / 15 ) = tanh(0.501) ≈ +0.463
Result: (15, +0.46)
➖ Subtraction (⊖ / ominus)
Definition
(m1, a1) ⊖ (m2, a2) := (m1, a1) ⊕ (-m2, a2)
Negate the magnitude of the second term, keep its alignment, then apply addition.
Zero-class display: if the result’s magnitude is 0, show (0, +1) unless zero-class averaging is declared.
Worked example(12, +0.7) ⊖ (5, +0.9) = (12, +0.7) ⊕ (−5, +0.9)
u1 = atanh(0.7) ≈ 0.8673, u2 = atanh(0.9) ≈ 1.4722
w1 = 12, w2 = 5
a' = tanh( (12*0.8673 + 5*1.4722) / 17 ) = tanh(1.045) ≈ +0.780
Result: (7, +0.78)
✖️ Multiplication (⊗ / otimes) — M2 default, M1 alternative
Default M2 (rapidity-additive)
(m1, a1) ⊗ (m2, a2) = ( m1*m2 , tanh( atanh(a1) + atanh(a2) ) )
Alternative M1 (direct product, non-normative)
(m1, a1) ⊗_M1 (m2, a2) = ( m1*m2 , a1*a2 )
⚠️ Warning: M1 can exceed [-1, +1] without clamping and lacks clean inverses.
Multiplicative identity & inverse (M2)
Identity: (1, 0)
Inverse: (m, a)^{-1} = ( 1/m , -a ) # requires m ≠ 0
Worked examples
- M2:
(4, +0.6) ⊗ (3, -0.5)u1 ≈ 0.6931, u2 ≈ -0.5493 → a' = tanh(0.144) ≈ +0.143 → (12, +0.14) - M1:
(4, +0.6) ⊗_M1 (3, -0.5) = (12, -0.3)
➗ Division (⊘ / odiv) — pairs with the M2 default
Default (M2-compatible)
For x=(m1,a1), y=(m2,a2), require m2 ≠ 0:
x ⊘ y = ( m1/m2 , tanh( atanh(a1) - atanh(a2) ) )
Alternative (M1-compatible, non-normative)
x ⊘_M1 y = ( m1/m2 , a1/a2 ) # only if m2 ≠ 0 and a2 ≠ 0
⚠️ Warning: alignment may leave [-1, +1]; needs clamping. Not recommended.
Worked example (M2)(9, +0.9) ⊘ (3, +0.5)u1 ≈ 1.4722, u2 ≈ 0.5493 → a' = tanh(0.923) ≈ +0.728 → (3, +0.73)
📏 Scalar scaling (classical scalar × symbolic)
For real c and pair (m, a):
c * (m, a) := ( c*m , a ) # for all real c (sign carried by m)
This matches -(m, a) = (-m, a).
🧿 Negation, conjugates, identities
- Negation:
−(m, a) = (−m, a) - Alignment-flip (conjugate):
(m, a)^dagger = (m, −a) - Identities: additive
(0, +1); multiplicative(1, 0)(M2)
⭕ Zero-class operations (policy)
By default, if the magnitude of a result is 0, display (0, +1).
Optional (declare if used): track zero-class alignment using the same rapidity formulas, e.g.,
M2 product: a' = tanh( atanh(a1) + atanh(a2) )
M2 division: a' = tanh( atanh(a1) - atanh(a2) )
(Display may still canonicalize to (0, +1).)
🌊 Edge & infinity notes
- Always clamp before
atanh:a_clamped = clamp(a, -1+eps, +1-eps)with defaulteps = 1e-6. - As
a → ±1,u = atanh(a) → ±∞; working inukeeps formulas well-defined. - For
|m| = ∞, follow classical magnitude rules formand the same M2 formulas for alignment; summary tables appear later.
✅ Overall takeaway
The four operations extend classical arithmetic while embedding an alignment channel. With M2 as default, alignment stays bounded, multiplicative inverses are clean, and streaming addition is exactly associative for finite multisets—surfacing hidden fragility or stability that classical results conceal.
Navigation
Previous → Equality & ordering
Next → Collapse principle
Disclaimer
Observation only. Reproducible math; domain claims require independent peer review. Defaults: gamma=1, mult_mode=M2, clamp_eps=1e-6, |a|<1.