$\textsf{\LARGE O}$

$\textsf{\LARGE I}$

$\textsf{\LARGE r}$

$\textsf{\LARGE A}$

$\textsf{\LARGE I'}$

Adição

Para obter A + B, refletimos O em M_{AB}
e obtemos um novo ponto na reta r. 
Por construção, a adição é comutativa
e segue a propriedade associativa.

Multiplicação

Criamos o produto
construindo triângulos semelhantes
e obtendo um novo ponto na reta r.
Este produto segue a propriedade
associativa e a propriedade distributiva
em relação à soma.

Divisão

$\textsf{\LARGE B}$

$\textsf{\LARGE M_{AB}}$

Subtração

Para obter A−B
somamos A+B'

$\textsf{\LARGE A+B}$

O é o elemento neutro: A+O=A

A' é o elemento oposto de A: A+A'=O

A subtração não é comutativa

$\textsf{\LARGE B'}$

$\textsf{\LARGE A−B}$

$\textsf{\LARGE A'}$

B−A

$\textsf{\LARGE A×B}$

A multiplicação é comutativa

I é o elemento neutro:  A x I = A

A⁻¹ é o elemento inverso de A:  A x A⁻¹ = I

A⁻¹

Para obter A/B
multiplicamos A x B⁻¹

$\textsf{\LARGE B⁻¹}$

$\textsf{\LARGE (B⁻¹)'}$

$\textsf{\LARGE A/B}$

B/A

A divisão não é comutativa

A⁻¹

(A⁻¹)'

Ordem

A simetria I' O I permite definir uma RELAÇÃO DE ORDEM:
A ≤ O :⇔ AI' ≤ AI              A ≤ B :⇔ A − B ≤ O

(Observe que A² ≥ O sempre.)

$\textsf{\LARGE M_{AB'}}$

Estrutura

Pelo exposto anteriormente, o conjunto dos pontos da reta r,
com as operações de adição e multiplicação definidas dessa maneira,
constitui uma estrutura similar (chamada 'corpo') à dos números reais (ℝ).

De fato, podemos estabelecer uma bijeção (“isomorfismo”) 
entre ambas as estruturas:
                               (r, O, +, ×) → (ℝ, +, ×)
fazendo corresponder a cada ponto P de r
o número real -OP se P<O e o número real OP se P≥O.

$\textsf{\LARGE P}$

$\textsf{\LARGE A²}$

O = (-1.57, 1.72)
I = (1.0348055445956892, 1.3127272727272667)
r = Line(O, I)
A = Point(r)
I' = Mirror(I, O)
op1 = true
op3 = false
op4 = false
B = Point(r)
M = Midpoint(A, B)
op2 = false
AmásB = Mirror(O, M)
B' = Mirror(B, O)
AmenosB = OpSuma(O, A, B')
A' = Mirror(A, O)
verBmenosA = false
BmenosA = OpSuma(O, B, A')
f = OrthogonalLine(O, r)
c = Semicircle(I', I)
C = Intersect(c, f, 1)
verBporA = false
d = Semicircle(B', B)
D = Intersect(d, f, 1)
g = Line(A, C)
h = Line(D, g)
AporB = Intersect(h, r)
i = Line(C, B)
e = Semicircle(A', A)
F = Intersect(e, f, 1)
j = Line(F, i)
k = Circle(O, I)
Ainv = Mirror(A, k)
p = Circle(M, O)
verAinv = false
B'_1 = Mirror(B, c)
G = Mirror(B'_1, O)
q = Semicircle(G, B'_1)
H = Intersect(q, f)
l = Line(H, g)
AentreB = Intersect(l, r)
BentreA = OpDivisión(O, I, B, A)
verBentreA = false
A'_1 = Mirror(A, c)
J = Mirror(A'_1, O)
s = Semicircle(J, A'_1)
K = Intersect(s, f)
n = Line(C, B)
m = Line(K, n)
op5 = false
texto51a = If(abs(A - I') ≤ abs(A - I), "A ≤ O", "A > O")
texto51b = If(abs(B - I') ≤ abs(B - I), "B ≤ O", "B > O")
texto51c = If(abs(OpResta[O, A, B] - I') ≤ abs(OpResta[O, A, B] - I), "A ≤ B", "A > B")
L = Point(p)
t = Segment(M, L)
M' = Midpoint(A, B')
p' = Circle(M', O)
L' = Point(p')
t' = Segment(M', L')
N = Point(Segment[A, AporB])
a = Line(N, g)
Q = Intersect(a, f)
l1: {Polygon[O, N, Q]}
anima5 = 0.57 (slider from 0 to 1)
op6 = false
P = Point(r)
PP = If(abs(P - I') < abs(P - I), ((-abs(P - O)), 0), (abs(P - O), 0))
b = Segment(O, P)
u = Vector(P, PP)
anima6 = 0.38 (slider from 0 to 1)
o = PathParameter(A)
f_1 = Segment((0, 0), PP)
AA = OpProducto(O, I, A, A)
texto6: "Estado \; atual:
\\\\   \;    \;    \;   \;  " + (LaTeX[texto51a]) + "
\\\\   \;    \;    \;   \; " + (LaTeX[texto51b]) + "
\\\\   \;    \;    \;   \; " + (LaTeX[texto51c]) + ""

Tool: OpSuma
Elige O y luego dos puntos
Input: O, A, B
Output: O'

C = Midpoint(A, B)
O' = Mirror(O, C)

Tool: OpResta
Elige O, el primer punto y el segundo punto
Input: O, A, B
Output: O'

B' = Mirror(B, O)
C = Midpoint(A, B')
O' = Mirror(O, C)

Tool: OpProducto
Elige O e I, y luego dos puntos
Input: O, I, A, B
Output: E

I' = Mirror(I, O)
B' = Mirror(B, O)
c = Semicircle(I', I)
d = Semicircle(B', B)
f = Line(O, I)
g = OrthogonalLine(O, f)
C = Intersect(c, g, 1)
h = Line(C, A)
D = Intersect(d, g, 1)
i = Line(D, h)
E = Intersect(f, i)

Tool: OpDivisión
Elige O e I, y luego el primer punto y el segundo punto
Input: O, I, A, B
Output: E

f = Line(O, I)
g = OrthogonalLine(O, f)
I' = Mirror(I, O)
c = Semicircle(I', I)
Binv = Mirror(B, c)
Binv' = Mirror(Binv, O)
e = Semicircle(Binv', Binv)
F = Intersect(e, g, 1)
C = Intersect(c, g, 1)
h = Line(C, A)
i = Line(F, h)
E = Intersect(f, i)