diff --git a/research/encoded-minimum-root-prefix/EVIDENCE.md b/research/encoded-minimum-root-prefix/EVIDENCE.md new file mode 100644 index 0000000000..d06ec5d50e --- /dev/null +++ b/research/encoded-minimum-root-prefix/EVIDENCE.md @@ -0,0 +1,75 @@ +# Validation record + +Canonical base: df0137efd35e11b4445734bf612bdd4c7ebc330c. +Priority revision: 7. Selected conditional kappa: 0.00310045. +All values are source-relative; the selected frontier is unchanged. + +## Completed normal checks + +Python 3.14.7 passed both original checker phases. RESULT.json records their +full output. The arithmetic phase covers 1,251 cases, including 771 with +non-power divisors and 316 where R=2, global width +`d=floor(p^(997/1000))`, spacing `K=floor(d^(1/500))`, selected width n<=d, +`G=4 ceil(log2 p)+6`, and H=dG. Keep these fields and + +```text +qF=ceil(2H/K), qB=ceil(H/K), M=n-qF-qB, +F=14336 Gamma, Gamma=2^1296 product_(j=1..36)(2^(2j)-1). +``` + +The selected-C backend has ranks {1,2,3,4,5,7,8,48}. It tests w<73 or +w^10000 below. For a proposed integer +q with 0<=qR, the left side is just S<2R. If S<=R, then +`ceil(R/S) S < R+S <=2R`, including equality R=S in the second inequality. +Thus the equivalence holds. For R=2^(Kq), it becomes + +```text +floor(log2 S(q)) <= Kq. (1) +``` + +This includes powers of two with the correct strict boundary. The source +condition R>=S is sufficient but stronger: a stock between R and 2R also +fits. The reference compiler uses `(S.bit_length()-1)`, with S=1 allowed. + +The left side of (1) is nonincreasing in q, and the right side is increasing. +There is a unique least feasible q. The value q=M-1 is feasible because its +core has width one and S=1. A smaller known upper bound is + +```text +U=min(M-1, ceil(2642 D(M)/K)). +``` + +If the second branch applies, K U>=2642 D(M)>=log2 S(U). The first branch +was already proved feasible. Binary search between the failed sentinel -1 +and U gives the exact minimum q*. Its certificate is the exact power-bit +comparison at q* and the failed comparison at q*-1, unless q*=0. +This proves the compiler for all inputs in the stated format; a finite +width scan is not used as its proof. + +No smaller prefix in this same complete-row format can keep the strict +factor-two volume bound. A different row encoding, a different permitted +volume factor or a different supplier can have a different minimum. + +## 3. Bind the complete root interface + +Set the plan's q0=q*, depth=D(M-q*), and stock=S(q*). Recompute all dependent +fields with the source formulas. Keep qF,qB and all global precision fields. +The actual consumers are recorded in CONSUMER-INVENTORY.json. Both a lexical +pass and an AST literal pass cover all 32 Python files in the retained +physical-complex-controller directory. Tests are distinguished from production. +The package pins all those files; it does not rely on their moving checkout. + +The production use chain is complete within this source module: + +1. RootPlan.compute derives Q0, original_rows, stock, padded_rows, core_width + and row_bits. No independent downstream depth consumer exists there. +2. RootLayer.reserved_leaves uses q0+qF at the high selected end and qB at + the low end. These leave exactly M-q0 core axes. +3. RootLayer.fast_core passes both row counts to RowPadding and passes + padded_rows as Machine's rows. It passes global d unchanged. +4. RowPadding copies every genuine row under every prefix, appends zero + rows, and checks every removed padding bit on return. Machine divides + its incoming rows by F at each nonterminal selected-C node. + +The following identities hold for any admissible q0, not only the old choice: + +```text +core_front=qF K-2H, core_back=qB K-H+right, +core_front+3H+(n-q0-qF-qB)K+core_back=(n-q0)K+right, +prefixes=outer_rows*2^left, +original_rows*2^((n-q0)K+right)=2^(nK+right). +``` + +Thus the root address partition and row serialization remain those proved +by Jose Manuel and independently refined by Sagar Thakrar. There is no +truncated high field, changed original payload or free private row. The +three selected-axis regions are disjoint and cover all n axes. At the +completed rowwise linear recursive endpoint, each added zero row is again +zero, even if intermediate operations mix rows. The unchanged removal test +therefore remains valid under that inherited endpoint premise. + +Since P is a positive multiple of F^depth, PR5515's exact-depth contract +supplies every reached row quotient. Sequential children reuse it. No +additional factor is lost at a sibling. Complete spectators stay in the +source rectangle. This is a source-relative proof; it does not reprove the +native, Ordinary, Compact or numerical endpoint. + +The compact guard also remains valid. Fast entry requires n>q0+qF+qB and +n<=d, hence K>3G. The source's sufficient inequality +`K>=3G+1>G+4 ceil(log2 p)+10` follows unchanged. Front/back residues lie in +[0,K). The changed q0 is at most the old 2642D0(d). Its reserved-leaf count +and descriptor extents therefore do not exceed that source allowance. The +recursive core stays at most d; padded volume remains strictly below twice +the original volume. The original exponent estimate can retain its former +upper bounds. No improved total exponent follows from this finite reduction. + +For source inputs that were direct only because of the old q0, the new plan +may choose a fast branch. The same guard and full endpoint argument apply; +this does not grant a zero cost to the new core or the reserved leaves. + +## 4. One axis suffices eventually + +Fix the source divisor F. For every integer p>=2^14000 and every source +selected width with M>0, the minimum is + +```text +q*=0 if M=2^v and v>=27. Two maximum child steps +contract by less than one half, since `2*48^2<73^2`. Hence + +```text +D0(d)<=2 ceil(log2 d), +2642 D0(d)<=5284(u+1). +``` + +For v>=27, `u+1 <= ceil(500000(v+1)/997)+1`. At v=27, + +```text +2^27 = 134217728 > 74208496 + = 5284(ceil(500000*28/997)+1). +``` + +Each increase in v raises the right side by at most 5284*502=2652568. +The right side at 27 already exceeds this increment. Doubling the left +side therefore preserves the strict inequality by induction. It follows +that K>2642D0(d). For q=1 this is more than the required stock bit count +at any core width at most d. If M>=T, q=0 has S>=F>1 and fails (1); q=1 +has a positive core and succeeds. If M