Thought experiment Rational-addition numbers. Like rational numbers a/b radional-addition numbers are evaluated as number = a/b + c. Its a class of number with 3 parameters where rational number class has 2 parameters. Fun thought experiment — and it connects to several ideas already floating around in number theory. ## What they are If \(a,b,c\) are integers with \(b \neq 0\), then \[ \text{RAN}(a,b,c) = \frac{a}{b} + c = \frac{a + bc}{b} \] So every rational-addition number is just a rational number written as a mixed fraction: \[ \frac{a}{b} + c = c + \frac{a}{b} \] In other words, **the set of rational-addition numbers with integer parameters is exactly the rational numbers \(\mathbb{Q}\)**. You haven't discovered a new number system, but you have found a different *3-parameter encoding* of the same set. ## The redundancy A 2-parameter rational number \(\frac{p}{q}\) has many representations as a RAN. For example: \[ \frac{3}{2} = \frac{1}{2} + 1 = \frac{3}{2} + 0 = \frac{-1}{2} + 2 \] So the RAN form is not unique. The "canonical" form is probably the mixed-number convention: - \(0 \le a < |b|\) - \(b > 0\) - \(\gcd(a,b) = 1\) maybe Then \(\frac{3}{2}\) becomes \(\frac{1}{2} + 1\), which is the standard mixed number \(1\frac{1}{2}\). ## Arithmetic RAN arithmetic is a bit messier than pure rational form because the \(c\) part interacts. - **Addition**: \((\frac{a}{b} + c) + (\frac{d}{e} + f) = \frac{ae + bd}{be} + (c+f)\) - **Multiplication**: \[ \left(\frac{a}{b} + c\right)\left(\frac{d}{e} + f\right) = \frac{ad}{be} + \frac{af}{b} + \frac{cd}{e} + cf \] which can be rewritten as a single RAN, but the "integer part" and "fractional part" get mixed. So RANs are a redundant but human-readable representation — exactly why mixed numbers are taught in school but algebra usually switches to improper fractions. ## Where it *does* become a distinct class If you allow \(c\) to be something other than an integer, you get interesting structures: - **Irrational shift**: If \(c = \sqrt{2}\) and \(a/b\) is rational, then \(\frac{a}{b} + \sqrt{2}\) is a number of the form \(\mathbb{Q} + \sqrt{2}\). This is a proper superset of the rationals, and the class behaves like \(\mathbb{Q}\) translated. - **Rational coefficients with irrational offsets**: If \(c\) is fixed, the set \(\{\frac{a}{b} + c : a,b \in \mathbb{Z}\}\) is just a shifted copy of \(\mathbb{Q}\). - **Transcendental additions**: If \(c\) is transcendental, \(\frac{a}{b} + c\) is never rational (unless \(c\) itself is rational, which contradicts transcendence). ## A natural extension You could keep generalizing: - **Rational-multiplication numbers**: \(a \cdot \frac{b}{c}\)? That's just \(\mathbb{Q}\) again. - **Rational-power numbers**: \(\frac{a}{b}^c\)? Now you get roots and algebraic numbers, leaving \(\mathbb{Q}\). - **Nested rational expressions**: \(\frac{a}{b} + \frac{c}{d + e}\)? This gives continued fractions, which are an even richer encoding of reals. ## Bottom line Your 3-parameter class is, in the integer case, a different *notation* for rationals rather than a new number system. But it's a useful notation — it separates the "whole" part from the "fractional" part, which is exactly how we think about measurements in everyday life. What prompted the thought? Were you thinking about representations, or trying to build a number system that strictly contains the rationals? Its a number system in the sense it gives another accuracy output. You loose accuracy at subtraction so why not keep more parameters before final evaluation That reframes it completely — and you are touching on a real and important idea in numerical computing. You are right that **a number system is not just the set of numbers it can represent, but also the precision behavior of its operations**. Two representations of the same mathematical value can produce different numerical outputs. In that sense, rational-addition numbers are a distinct *computational* number system. ## The subtraction accuracy problem Standard floating-point arithmetic loses precision when subtracting two nearly equal numbers. This is called **catastrophic cancellation**. Example: compute \[ x - y = (1{,}000{,}000.000001) - (1{,}000{,}000) \] In a 6-digit floating-point system: - \(x\) rounds to \(1.00000 \times 10^6\) - \(y\) is exactly \(1.00000 \times 10^6\) - \(x - y = 0\) The true answer \(0.000001\) is lost. Now represent the same values as RANs: \[ x = \frac{1}{1{,}000{,}000} + 1{,}000{,}000 \] \[ y = 0 + 1{,}000{,}000 \] Subtract them: \[ x - y = \frac{1}{1{,}000{,}000} + 0 \] The result is exact. The large offset \(c\) cancels algebraically, and the small rational part survives untouched. ## Why keeping more parameters helps When you force early evaluation into a single number, you collapse all information into one precision-limited value. The RAN form refuses to do that. It stores: - **\(c\):** the large-scale or dominant part - **\(a/b\):** the small-scale or correction part This is essentially the same trick used in several well-known numerical techniques: - **Kahan summation**: keeps a running sum plus a small compensation term. - **Double-double arithmetic**: represents a number as \(x + y\) where \(x\) is the leading part and \(y\) is the tiny correction. - **Exact rational arithmetic**: keeps numerator and denominator as integers until the very end. - **Symbolic computation**: keeps expressions like \(\pi + 10^{12}\) unevaluated to avoid losing the \(\pi\). Your RAN is a clean special case: \(c\) plays the role of the main term, and \(a/b\) plays the role of the exact correction. ## Arithmetic rules that preserve accuracy To keep the accuracy benefit, you must avoid evaluating prematurely. The RAN operations should output another RAN whenever possible: **Addition:** \[ \left(\frac{a}{b} + c\right) + \left(\frac{d}{e} + f\right) = \frac{ae + bd}{be} + (c + f) \] If \(c + f\) is exact, this keeps the fractional correction exact. **Subtraction:** \[ \left(\frac{a}{b} + c\right) - \left(\frac{d}{e} + f\right) = \frac{ae - bd}{be} + (c - f) \] Again the offset cancels exactly, and the fractional part is computed as an exact rational. **Multiplication and division** are harder because they mix the two parts: \[ \left(\frac{a}{b} + c\right)\left(\frac{d}{e} + f\right) = \frac{ad}{be} + \frac{af}{b} + \frac{cd}{e} + cf \] The result can be reorganized into a single rational plus integer part, but the correction terms may no longer stay small. So multiplication is where the RAN form becomes less stable. ## The trade-off RANs give you: - Exact subtraction of the integer offset - Exact preservation of small rational corrections - No catastrophic cancellation when the dominant parts cancel But they cost: - More storage (three parameters instead of two) - More complex multiplication and division - Potential growth of the rational part during repeated operations ## Bottom line Your intuition is valid. If you treat RANs as a **computational number system** with the rule *"evaluate as late as possible,"* they can outperform direct rational or floating-point evaluation in situations dominated by large offsets and small corrections. Mathematically, integer-RANs still describe the rational numbers. But numerically, they are a different data structure with different stability properties. That is a meaningful distinction in computing. Have you tried defining RAN arithmetic explicitly and testing where it beats standard rational evaluation? It could make a nice small numerical experiment.