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:
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.
proven:
derived:
open:
bugs:
coord_add a b = two_persp Γ (a⊔C) m (b⊔E) q and coord_mul a b = two_persp Γ (O⊔C) (b⊔E_I) (a⊔C) m — place the inputs a, b in different argument positions, and the line m appears in different positions. saying “(P, Q) parametrizes the operations” implies a uniform substitution into a single template; the actual substitution is not uniform across the formalized cases. closing this means either constructing the uniform template (a single op_{P,Q}(a, b) = two_persp Γ (...P...a...) (...) (...P...b...) (...Q...) with explicit slots), or stepping the claim back to “(P, Q) determines an operation by a procedure that varies with the operation.”