self-parametrization

the two_persp functor. both coord_add and coord_mul are instances of two_persp with different parameters. the pattern: given a pair of points p₁, p₂ (each constructed as the intersection of two lines), join them and project onto l. the parameters determine which lines to intersect.

the bridge parameter. the only free variable is a pair of distinct points (P, Q) on the coordinate line l:

the three distinguished points O, U, I generate three non-degenerate pairings:

pair (P, Q) bridge zero identity operation
(U, O) q = U⊔C E = (O⊔C)⊓m O addition
(O, I) O⊔C E_I = (I⊔C)⊓m I multiplication
(U, I) q = U⊔C E_I = (I⊔C)⊓m I translated addition

pairings where Q = U degenerate because the zero collapses to U (the intersection of l and m), making the operation trivial.

the parameter space is the line itself. P and Q need not be O, U, or I. any pair of distinct atoms on l (with Q ≠ U) generates a valid two_persp operation. the coordinate line parametrizes its own operations: l × l \ {diagonal, Q=U} → {binary operations on l}.

self-parametrization. the line’s point-set serves simultaneously as:

  1. the domain and codomain of each operation
  2. the parameter space for which operation to perform
  3. the source of the identity element

the algebraic structure of l is generated by l acting on itself through C. the line looks at itself through the observer and sees its own arithmetic.

the observer C. C is the only external input. it is off l, off m, in the plane — perspectival, not transcendent. changing C changes the coordinate system but not the isomorphism class of the resulting ring (FTPG). different observers see isomorphic arithmetics: same shape, different stuff (half_type.md).

connection to ground. the foam’s ground requires exactly one commitment from outside the system. C is that commitment for the coordinate line: one point, positioned in the plane but not on the measured structure, and the entire arithmetic self-generates. every operation is forced by the choice of where to stand and what to call zero.

status

proven:

derived:

open:

bugs: