1212 from positional notation as algebra, through certified digit-emission engines,
1313 to the geometry and conservation laws of coupled radix networks.**
1414
15- [ Specification ] ( docs/fdrs.md ) · [ Index ] ( docs/fdrs-index.md ) · [ Design records] ( docs/synthetic-place/ ) · [ Toolchain ] ( scripts/ )
15+ [ The spec ] ( docs/fdrs.md ) · [ Item index ] ( docs/fdrs-index.md ) · [ Design records] ( docs/synthetic-place/ ) · [ Tooling ] ( scripts/ )
1616
1717</div >
1818
1919---
2020
21- ## What this is
22-
23- This repository is a long-form mathematical research program carried out
24- spec-first in a single document and machine-checked item by item in Lean 4
25- against [ Mathlib] ( https://github.com/leanprover-community/mathlib4 ) . The
26- specification ([ ` docs/fdrs.md ` ] ( docs/fdrs.md ) ) has grown through ** fourteen
27- phases** of numbered definitions, theorems, and propositions; every numbered
28- item has a Lean proof, and the correspondence is maintained by tooling rather
29- than by prose claims. The default build carries ** zero axioms and zero
30- sorries** .
31-
32- The subject is * what number representation becomes when its structure is a
33- free parameter* . Classical positional notation fixes a base; FDRS lets the
34- radix at each position be computed by a function — of the position, the prefix
35- already written, an external context, or the state of another number line
36- entirely. The corpus develops what survives each generalization and what
37- breaks, with the boundary in every case proven, not asserted.
38-
39- ** The arc:** foundations (canonical bijections with ℕ, the odometer, the
40- prefix ultrametric, a conditional-expectation multiresolution analysis on
41- mixed-radix cylinders, and the bridge to analytic number theory) → the three
42- modes of function-defined radices and the design space of engineered
43- ultrametrics → multi-timeline routing and spatialized digits → generated
44- gauges, where continued-fraction timelines replace base products and digit
45- emission becomes a * certified* act → the synthetic place complex: coupled
46- radix networks, their geometry, their conservation laws, and the precise
47- obstructions separating them from numbers.
48-
49- ## Selected results
50-
51- A sample chosen to show the range; the [ index] ( docs/fdrs-index.md ) maps every
52- item to its proof.
53-
54- ** Foundations and bridges.**
55- - Canonical bijections between digit spaces and ℕ; the tick is ` +1 ` under
56- decode and ` 1 ` -Lipschitz in the ultrametric; balls are exactly cylinders.
57- - A discrete multiresolution analysis: block projections as conditional
58- expectations, detail operators, L² Pythagoras, and the commutant theorem —
59- an operator commutes with every scale projection iff it is
60- scale-block-diagonal in the Haar/contrast basis.
61- - The cylinder-measurability bridge: a congruence condition is decidable from a
62- positional prefix ** iff** the modulus divides the place value (both
63- directions, with the sharp converse) — the exact interface between the
64- additive and multiplicative filtrations, including a constructive witness of
65- their generic non-commutation.
66-
67- ** Realizability.** The full characterization of which ultrametrics are
68- realizable by sibling-uniform radix laws (Theorem 43): an ultrametric is
69- realizable ** iff** every open ball is a prefix cylinder and every cylinder has
70- canonical diameter — proven in both directions, with the two conditions doing
71- provably separate work (the first pins the tree, the second pins the gauge)
21+ ## The idea
22+
23+ You already use a number system whose base changes with position: 60 seconds
24+ to a minute, 60 minutes to an hour, 24 hours to a day. That is * mixed radix* ,
25+ and it is classical — fix a list of bases ` b₀, b₁, b₂, … ` and the place value
26+ at position ` m ` is the running product ` Bₘ = b₀·b₁ ⋯ bₘ₋₁ ` .
27+
28+ This corpus asks what number representation becomes when that list is replaced
29+ by a ** function** . The central object is the * radix law*
30+
31+ ```
32+ b : prefix ⟶ {2, 3, 4, …}
33+ ```
34+
35+ — the base at each position is * computed* : from the position, from the digits
36+ already written, from an external context, or from the live state of another
37+ number line entirely. The digit space stops being a grid and becomes a rooted
38+ tree whose branching factor varies node by node; the "numbers" are its paths.
39+
40+ A surprising amount of classical structure survives the generalization: the
41+ bijection with ℕ, the carry dynamics of ` +1 ` (the odometer), the prefix
42+ ultrametric in which balls are exactly cylinders. The subject of the corpus is
43+ * where each survival ends* — and the boundary is in every case proven, not
44+ asserted. The specification, [ ` docs/fdrs.md ` ] ( docs/fdrs.md ) , has grown through
45+ fourteen phases of numbered definitions, theorems, and propositions, and is
46+ machine-checked item by item in Lean 4 against
47+ [ Mathlib] ( https://github.com/leanprover-community/mathlib4 ) .
48+
49+ ## Five results, as a sampler
50+
51+ Chosen for range; the [ index] ( docs/fdrs-index.md ) maps every numbered item to
52+ its proof.
53+
54+ ** Which geometries can be numbered.** An ultrametric space is realizable by a
55+ sibling-uniform radix law ** iff** every open ball is a prefix cylinder and
56+ every cylinder has canonical diameter (Theorem 43, Phase 6) — both directions
57+ proven, and the two conditions do provably separate work: the first pins the
58+ tree, the second pins the gauge
7259([ ` MetricRealizability.lean ` ] ( FdrsFormal/Modes/VariableRadix/Realizability/MetricRealizability.lean ) ).
7360
74- ** Certified emission engines (Phase 13) .** Continued -fraction timelines where
75- the gauge is generated rather than multiplied out, with Gosper-style
76- homographic/bihomographic engines that emit a digit only when * every* possible
61+ ** A digit is emitted only when it is forced .** On continued -fraction timelines
62+ (Phase 13) the gauge is generated rather than multiplied out, and Gosper-style
63+ homographic/bihomographic engines emit a digit only when * every* possible
7764continuation of the unread input forces it — the four-corner order trap at the
78- Archimedean place, the congruence trap at p-adic places, the admissibility
79- trap on finite grammars. Exact integer ledgers, no floating point anywhere;
65+ Archimedean place, the congruence trap at p-adic places, the admissibility trap
66+ on finite grammars. Exact integer ledgers, no floating point anywhere;
8067` √2·√2 ` emits nothing, honestly.
8168
82- ** The adelic complex.** Heterogeneous place-engines under one scheduler with
83- proven confluence; the product formula on ℚˣ in exact arithmetic; the
84- finite-precision gauge bound; and the rigidity boundary — an FDRS gauge
85- reproduces a p-adic place value ** iff** its base is constantly p, so there are
86- no synthetic places on ℚ. A function-field keystone stakes the genuinely
87- synthetic instance ([ ` docs/function-field/ ` ] ( docs/function-field/ ) ).
88-
89- ** The synthetic place complex (Phase 14).** What survives when number lines
90- couple: any positive monotone prefix gauge induces an ultrametric with
91- ball = cylinder (both prior corpus metrics become instances); coupling
92- generically destroys the odometer while the geometry survives; conservation
93- migrates from product formulas — impossible for genuinely coupled systems, by
94- a machine-checked separability no-go — to interface balance laws
69+ ** You cannot counterfeit a prime.** Heterogeneous place-engines run under one
70+ scheduler with proven confluence, and the product formula on ℚˣ holds in exact
71+ arithmetic — but an FDRS gauge reproduces a p-adic place value ** iff** its base
72+ is constantly p. There are no synthetic places on ℚ; a function-field keystone
73+ stakes the genuinely synthetic instance
74+ ([ ` docs/function-field/ ` ] ( docs/function-field/ ) ).
75+
76+ ** When number lines couple, they stop being numbers — lawfully.** Coupling
77+ generically destroys the odometer while the geometry survives (Phase 14).
78+ Conservation migrates from product formulas — impossible for genuinely coupled
79+ systems, by a machine-checked separability no-go — to interface balance laws
9580(` issued = consumed + pending ` , proven for arbitrary coupling in any
96- commutative monoid of carries); no scalar gauge can metrize a concurrent
97- network (proven), forcing the observer-glued construction; and "bigger digit"
98- exists iff every coupling loop has trivial holonomy — with a verified
99- three-digit Penrose staircase on the other side of the boundary. Together with
100- ragged fibers and bilateral coupling, that gives three independent,
101- machine-checked obstructions separating coupled radix complexes from number
102- systems.
103-
104- ** The SU7 network machine (Phase 14, §14.12–14.13).** The coupled radix network
105- as a verified abstract machine: a three-clause firing rule whose fan-out
106- lawfulness is a guard (declared carry mass partitioned exactly across transport
107- edges), whose well-formedness * is* dependency grading (Phase 8's deadlock
108- certificate reused verbatim), with per-edge balance laws, a decidable
109- couplability certificate (witnessed live and blocked), per-node emission traps
110- transported unchanged, a conditional Kahn diamond whose independence
111- side-condition is ** derived** from the capacity-one latency discipline rather
112- than assumed, and liveness in honest factored form. A concretization bridge
113- proves the Phase-8 timeline-graph layer is an instance of this machine (a
114- timeline graph IS a network shape; time-ordering IS grading; queue registers
115- balance at every capacity).
116-
117- ** Applications (§14.14).** The corpus vocabulary load-bearing in production
118- arithmetic: GF(2^255 − 19) under Ed25519 read as a ten-digit variable-radix
119- ring — carries are ledger-balanced redistributions, the wrap has holonomy 19
120- (a digit ring on the frustrated side of the grading dichotomy), and the
121- eleven-carry schedule provably restores the digit bound, licensing the Rust
122- kernel's lazy reduction
81+ commutative monoid of carries). No scalar gauge can metrize a concurrent
82+ network, forcing the observer-glued construction; and "bigger digit" exists
83+ ** iff** every coupling loop has trivial holonomy, with a verified three-digit
84+ Penrose staircase on the other side of the boundary. Together with ragged
85+ fibers and bilateral coupling, three independent machine-checked obstructions
86+ separate coupled radix complexes from number systems.
87+
88+ ** The vocabulary is load-bearing in production arithmetic.** GF(2²⁵⁵ − 19)
89+ under Ed25519, read as a ten-digit variable-radix ring: carries are
90+ ledger-balanced redistributions, the wrap has holonomy 19 — a digit ring on the
91+ frustrated side of the grading dichotomy — and the eleven-carry schedule
92+ provably restores the digit bound, licensing the lazy reduction used in
93+ deployed Rust kernels
12394([ ` Field25519Carry.lean ` ] ( FdrsFormal/Applications/Field25519Carry.lean ) ).
12495
125- ## Method
96+ Beyond the sampler: a discrete multiresolution analysis with a commutant
97+ theorem, the cylinder-measurability bridge between the additive and
98+ multiplicative filtrations, and a verified abstract machine for coupled radix
99+ networks (the SU7 arc, §14.12–14.13) whose firing rule, balance laws, Kahn
100+ determinacy, and liveness are all proven — with the Phase-8 timeline-graph
101+ layer shown to be an instance of it.
102+
103+ ## How to trust it
104+
105+ The default ` lake build ` target compiles the entire tree — ** zero axioms and
106+ zero sorries** — against Mathlib at the revision pinned in the manifest. The
107+ spec contains ** 523 numbered items** across the fourteen phases, and the
108+ correspondence between items and Lean proofs is maintained by tooling, not by
109+ prose:
110+
111+ ``` bash
112+ python3 scripts/fdrs-summary # live status: axioms, sorries, scaffolds, coverage
113+ ```
114+
115+ At this writing the scanner matches 520 of the 523 items (99.4%) to proofs and
116+ names the residue explicitly — one open Phase-7 item and three scaffold
117+ declarations it flags as such. Numbers printed in documentation, including this
118+ file, are treated as stale by default; the scanner reads the live source.
119+
120+ House rules, as working practice:
126121
127122- ** Spec first.** ` docs/fdrs.md ` is the single source of truth; Lean modules
128123 cite the numbered items they prove, and an erratum is preferred over a
129124 silent fix when the spec is wrong.
130- - ** Ask the tooling, not the prose.** ` python3 scripts/fdrs-summary ` scans the
131- live source for axioms, sorries, stubs, and per-phase coverage; numbers in
132- documentation are treated as stale by default.
133- - ** Honest scope, as working practice.** Every module carries an honest-scope
134- banner; design documents carry anti-confabulation ledgers; finite witnesses
135- use kernel ` decide ` (never ` native_decide ` ); classical results are cited as
136- classical — the contribution is the connection and the verified artifact.
125+ - ** Honest scope.** Every module carries an honest-scope banner; design
126+ documents carry anti-confabulation ledgers.
127+ - ** Kernel ` decide ` .** Finite witnesses are checked by the kernel, never by
128+ ` native_decide ` .
129+ - ** Classical is cited as classical.** The contribution is the connection and
130+ the verified artifact, not a claim of novelty over the ingredients.
131+
132+ ## The fourteen phases
133+
134+ | Phase | Name | What lands there |
135+ | :--| :--| :--|
136+ | 1 | Foundations | Mixed-radix spaces; decode/encode bijections with ℕ; the Tick; the prefix ultrametric |
137+ | 2 | Mixed-Radix Complexes | Cylinders and filtration; block projections as conditional expectations; the Haar/contrast MRA; the commutant theorem |
138+ | 3 | Import Analytic Number Theory | Dirichlet convolution, characters, valuations; the cylinder-measurability bridge |
139+ | 4 | Integers as Programs | Computation primitives from ANT; the factorization lens |
140+ | 5 | Function-Defined Radices | The radix law; variable-radix trees; Tick with variable carry; no-infinite-carry conditions |
141+ | 6 | Custom Ultrametric Design | Radix engineering; the realizability criterion (Theorem 43) |
142+ | 7 | Context-Dependent Radix Systems | Radix laws that consult an external context or oracle |
143+ | 8 | Multi-Timeline Routing | Composition of timelines; the dependency-grading deadlock certificate; timing bounds |
144+ | 9 | Extended Base Support | Base-0 walls and base-1 wires; spatialized digits; the spatial thermometer |
145+ | 10 | Base-Zero Sea Dynamics | Deterministic substrate dynamics; the linear-chain bridge |
146+ | 11 | Digit-Conditional Signal Analysis | The projection algebra; the Fourier ceiling |
147+ | 12 | Unit Complement Structure | The complement ` x ↦ 1 − x ` as a uniform frame for the corpus's normalized quantities |
148+ | 13 | Generated Timelines | Continued-fraction gauges, generated rather than multiplied out; the certified Gosper emission engines |
149+ | 14 | The Synthetic Place Complex | Coupled radix networks: geometry, conservation, obstructions; the SU7 network machine; applications |
137150
138151## Layout
139152
153+ ```
154+ docs/ # the spec (fdrs.md), the item index, design records, notation
155+ FdrsFormal/ # the Lean corpus (tree below)
156+ scripts/ # maintenance tooling — fdrs-summary and the index builder
157+ data/ # generated: the item index (YAML) and per-phase item graphs
158+ explorations/ # small Python sketches; exploratory, non-evidentiary
159+ ```
160+
140161```
141162FdrsFormal/
142163├── Core/ # Radix sequences, bijections, finite/infinite spaces
@@ -162,14 +183,14 @@ FdrsFormal/
162183 # the SU7 network machine + Phase-8 bridge
163184```
164185
165- The default ` lake build ` target compiles the entire tree — every module above is
166- imported (transitively) by the root module (wiring pass of 2026-07-12).
167-
168- ` FdrsFormal.lean ` is the root module aggregating the development; ` Main.lean `
169- is a trivial executable entry point. Design records for the newer complexes
170- live in [ ` docs/synthetic-place/ ` ] ( docs/synthetic-place/ ) and
171- [ ` docs/function-field/ ` ] ( docs/function-field/ ) ; superseded design documents
172- are archived under [ ` docs/archive/ ` ] ( docs/archive/ ) .
186+ ` FdrsFormal.lean ` is the root module aggregating the development, and every
187+ module above is imported (transitively) by it, so the default ` lake build `
188+ compiles the whole tree. ` Main.lean ` is a trivial executable entry point. A
189+ generated module dependency graph lives at
190+ [ ` docs/dependency-graph.svg ` ] ( docs/dependency-graph.svg ) . Design records for
191+ the newer complexes are in [ ` docs/synthetic-place/ ` ] ( docs/synthetic-place/ ) and
192+ [ ` docs/function-field/ ` ] ( docs/function-field/ ) ; superseded design documents are
193+ archived under [ ` docs/archive/ ` ] ( docs/archive/ ) .
173194
174195## Building
175196
@@ -184,8 +205,8 @@ lake build # the formalization
184205python3 scripts/fdrs-summary # live status: axioms, sorries, coverage
185206```
186207
187- [ ` docs/TESTING.md ` ] ( docs/TESTING.md ) covers the work-in-progress modules
188- outside the default target; [ ` docs/GENERAL_CONTEXT.md ` ] ( docs/GENERAL_CONTEXT.md )
208+ [ ` docs/TESTING.md ` ] ( docs/TESTING.md ) covers work-in-progress modules outside
209+ the default target; [ ` docs/GENERAL_CONTEXT.md ` ] ( docs/GENERAL_CONTEXT.md )
189210documents the trust hierarchy of the generated metadata;
190211[ ` docs/notation.md ` ] ( docs/notation.md ) is the symbol reference extracted from
191212live code.
0 commit comments