```-*- mode:text; coding:utf-8 -*-

Aligned numbers theory
----------------------

Let v be a unit vector.
Let V be the vectorial space generated by this unit vector v.

Let A(V) = V/V be an injection from the set of vectorial spaces to a
set of symbols, of which V/V is an element.

Let ℝṼ = { (x V/V) | x ∈ ℝ }

ℝṼ is called the set of real numbers aligned on the vectorial space V.

We define + : ℝṼ × ℝṼ such as  (x V/V) + (y V/V) = ((x+y) V/V)
and we define a scalar product:  * : ℝ × ℝṼ such as x * (y V/V) = ((x*y) V/V)
and a vectorial product:         * : ℝṼ × V such as (x V/V) * u = x*u

Notice that given another vectorial space W ≠ V, there is no operation
defined on ℝṼ × W.   Therefore it's not possible to use the numbers
aligned on V with a different unit than v.

So we can define an elongation such as e = (0.1 m/m) and we can
prevent an operation such as: e * 5 s.

Scaled aligned numbers
----------------------

Let B(s,V) = sV/V be an injection from ℝ* × V to a set of symbols, of
which sV/V is an element.  For example, B(c,m) = cm/m (with c = 0.01).

Let ℝṼ⊗ = { (x sV/V) | x ∈ ℝ, ∃s B(s,V) = sV/V }

Notice that ℝṼ = ℝṼ⊗/S with  (x rV/V) S (y sV/V) ⇔ x/r = y/s

We define a scalar product:  * : ℝ × ℝṼ such as x * (y sV/V) = ((x*y) sV/V)
and a vectorial product:     * : ℝṼ⊗ × V such as (x sV/V) * u = x*s*u

Let ℝṼ⊗(s) = { (x sV/V) | x ∈ ℝ } ⊂ ℝṼ⊗
We define a familly of additions:  + : ℝṼ⊗(s) × ℝṼ⊗(s)
such as (x sV/V) + (y sV/V) = ((x+y) sV/V).

Notice that given another vectorial space W ≠ V, there is no operation
defined on ℝṼ⊗ × W.   Therefore it's not possible to use the scaled
aligned numbers on V with a different unit than v.

So we can define an elongation such as e = (10 cm/m) and we can
prevent an operation such as: e * 5 s.
But we can compute e * 5 m = (10 cm/m) * 5 m = 10 * 0.01 * 5 m = 0.5 m

----------------------------------
------------
.```
ViewGit