diff --git a/notes/issue-636-width4-next-brief-20260912.md b/notes/issue-636-width4-next-brief-20260912.md new file mode 100644 index 00000000..8689a901 --- /dev/null +++ b/notes/issue-636-width4-next-brief-20260912.md @@ -0,0 +1,54 @@ +# Suggested re-scope of existing #636: width-four annular/lifted continuation closure + +This is a proposed next brief for the existing issue, not a new duplicate issue, +production authorization, or claim that a weighted engine has already been built. +It follows the delivered width-three exact analysis. Ordinary CPU only; no GPU, +no width scan, no new Monte Carlo, no free-exponent fit. + +## One decision + +Can a specified local frontier state, carrying appropriate connectivity and +horizontal topological information, preserve the square-site ambient rank under +arbitrary continuation and periodic closure at circumference four? Supply a +sufficient construction with proof, or a counterexample to a precisely stated +candidate quotient. Mere small-size agreement is not the closure proof. + +## Two compulsory witnesses, already solved + +Bit j denotes column j. First compare open prefixes [0,5] and [7,5], followed +by the common suffix [13,0]. Their final 4x4 ranks are 0 and 1. Frontier occupancy +alone is insufficient. + +The stronger pair is [13,5] and [7,5]. Both have five occupied sites, frontier +mask 5={0,2}, ordinary frontier partition {{0,2}}, and no existing transverse +winding. Their lifted 0-to-2 connecting paths have displacements -2 and +2. +Append [13,0] and close through the empty row: ranks 0 and 1, D=-1 and 0. +A state that tracks only the ordinary partition, occupation count and already +completed wrapping flag STILL fails. Both prefix weights are p^5(1-p)^3, so +weighting cannot compensate for identifying the two histories. + +## Deliverable + +Define the state, local row update, equivalence relation and periodic closure +functional; explicitly retain enough annular or lift information to distinguish +these histories. Prove future equivalence for every pair the representation does +identify. Explain how primitive winding, independent windings and rank saturation +are preserved without silently truncating necessary integer offsets. + +Then implement only a bounded width-four reference calculation. Check the existing +4x4 Bernstein polynomial and a small non-square torus by an independent lifted +traversal. Preserve parallel periodic edges. Use integer/rational coefficients; +no asymptotic exponent or p_c claim. If a finite state bound has not been proved, +label it and do not start enumerating more widths. + +If a pTL formulation from Jacobsen is reused, give the actual map between its +states/closure and the black-site rank observable; matching a root numerically +is not an intertwiner. Output a full finite probability closure before discussing +leading eigenvalues; amplitudes and all subleading terms must remain explicit. + +## Stop + +Stop at a demonstrated sufficient state and closure, or one precise obstruction. +Do not claim minimal state count unless a distinguishability argument proves it. +Do not re-prove the width-three formula or pay for another all-honest-torus +five-cell census. A broader engine needs a separate information-gain decision. diff --git a/notes/review-next-frontier-20260912-zh.md b/notes/review-next-frontier-20260912-zh.md new file mode 100644 index 00000000..96142071 --- /dev/null +++ b/notes/review-next-frontier-20260912-zh.md @@ -0,0 +1,101 @@ +# Matching One:新交付复核与下一步实质推进 + +日期:2026-09-12。读取对象:PR #705、#706、其当前文件、评审评论和实际 Actions 结果;本报告不是只复述 PR 开头正文。 + +## 一、总体判断 + +#705 已合并,给出了宽度二的完整有限长度谱公式,而不是只有一个数值根。#706 的有效结论是:N145/290/725 同一方格点渗流观测量的归一化形状仍不对称,且不对称范数沿这三个尺寸减弱;但“新修正场已被识别”或“任意共同非线性坐标都被排除”仍不成立。 + +本次没有再给已经完成的工作开单。新增工作的主要结果是:完成宽度三的全长度精确公式、有限根位移定理,并在宽度四给出必须保留历史连通性和路径绕行信息的显式反例。代码、整数多项式、精确区间证书及测试随包提供,交由项目方提交。本轮未修改远端仓库,也未运行新生产模拟。 + +## 二、#706 应如何接收 + +读取 head:59fff91c6592e8c947ccd1e3df25e15df6a291e5。完整 CI 34685638158 已完成且成功;实际 jobs 中 Tests、smoke、Python 3.9/3.13 编译与 C++17 构建均成功。不能把 CI 成功解释成极端名义显著性的有限样本标定已经完成。 + +PR 开头正文仍有被后续文件修正的旧数字,合并时应改正文和旧 note 的显眼导航,而不是重新生成或覆盖原始结果。 + +1. 宽度标准误差的原公式把 delete-one 样本当成独立观测均值,低估了 99 倍。正确标准误差依次是 3.6730e-6、2.7377e-6、2.3226e-6,已经由非线性 jackknife 复核。 +2. 两个相邻区间共享 N290。比较区间位移范数时必须保留负交叉协方差。修正后 Z 的范数变化约 9.04 个名义标准误差,而不是正文的 10.9;A 的对应变化约 0.897 个标准误差,仍未分辨出来。 +3. “完整逆协方差统计量小于对角和”不能证明逆矩阵不受近零方向影响。单坐标的大信号与完整逆矩阵的校准是不同问题。 + +这些修正已经在 notes/shape-lineage-review-20260912.md 和 results/research-control-20260912/shape-lineage-reviewed-summary.json 中,不应再作为新的待修复发现派发。 + +## 三、比继续拟合一个指数更重要的解释边界 + +修订结果给出 ||A||/W = 0.255963、0.256397、0.256847。这是有用的结构迹象,但完整向量的 A/W 恒定模型并不成立。 + +仅用 N145 中位对称条件确定的二次坐标 phi(p)=p+0.2684067(p-1/2)^2,在 N290/N725 上把不对称残差范数降到原来的约 0.267%/0.068%。这说明大部分范数可以被一个简单坐标形变吸收;但该精确二次模型仍被完整向量诊断拒绝。范数减少不是解释方差、因果归因,也不是已经给出了物理温度坐标。 + +对任意共同递增坐标,现有两个不变量方向——共同对称化反射的交换关系及完整位置-尺度传输的无交叉条件——均未分辨出反例。不能用未拒绝支持“形状纯粹是坐标”,也不应不断提高多项式阶数寻找事后兼容。 + +最后一个传输检验已经实际执行,但原 note 仍写“结果须从 job 读取”。本轮读取 run 34685638146 / job 103532033981 的成功日志并归档:在固定 u=.3,.5,.7 处,组合差分别约 -4.2494e-6、-4.4743e-6、-4.5533e-6,标准误差 1.9009e-6、1.8363e-6、1.8494e-6。三点同时区间均包含零;最大边际标准化值 2.462。没有分辨出符号交叉,因此该必要条件未能排除完整共同坐标塌缩。不是重新跑了一次生产,也不是新的独立证据。 + +本包的 shape-transport-order-finalized-summary.json 是上述已完成日志的字段摘录,明确保留 run、job、head、checkout 和协方差来源。没有把它伪装成本地原始直方图重算。 + +## 四、本次直接完成的数学推进:宽度三 + +对 3×m 正常环面,m≥2,令 F 为“出现全占据行”,V 为“每个相邻行接口都有占据重叠”。我证明了配置级恒等式 + + r = 1_F + 1_V. + +宽度三的每个非空行都连通,非满行则是可缩树;这一特殊几何事实是证明核心。由七个非空行状态的局部转移矩阵 T,得到 + + M_(3,m)(p) = tr(T(p)^m) - (1-p^3)^m. + +这不是穷举外推,而是对所有 m 的事件分类证明。S3 对称性进一步把完整迹分成一个三维块 B 和出现两次的二维块 C: + + tr(T^m)=tr(B^m)+2 tr(C^m). + +圆柱交点由六次方程 + + p^6-3p^5-5p^4-4p^3+p+1=0 + +的唯一 (0,1) 根给出:q3=0.58888069991785299805144269575170493372217…,与 Jacobsen 2015 Table 2 的已发表 n=3 数值一致。这个数不是无限方格点渗流 p_c 的新估计,也不声称发现了新临界常数。 + +保留全部子领先谱后,又得到:每个有限长度根都严格小于 q3;其领先位移为 + + p_(3,m)-q3 ~ -2*rho^m/(m*h'(q3)), + rho=0.22476579734522079…, + h'(q3)=2.69049781437123949…. + +系数 2 来自普通表示重数,不是 Jordan 块。转移矩阵与实对称矩阵相似,因而在 0= 2. Preserve parallel lifted edges when m=2. Let r be its ambient rational +homology rank. The existing digital-Alexander identity gives D=r-1 and M=E[D]. +Write P_j=P(r=j). Occupation probability is p, not an FK bond fugacity. + +There are seven nonempty occupied subsets S of a three-site row. Define + + u=p(1-p)^2, v=p^2(1-p), w=p^3, + t(S)=p^|S| (1-p)^(3-|S|), + T[S,S'] = 1{S intersects S'} t(S'). + +Thus tr(T^m) is the Bernoulli probability that every row is nonempty and every +successive pair, including the seam, has occupied overlap. T is nonnegative, +irreducible, and aperiodic for 00 +and P(1)<0. The rational certificate in the script isolates q and the three B +roots, showing that lambda_c(q) is the Perron root, not a subleading crossing. + + q=0.58888069991785299805144269575170493372217050345701... + +Jacobsen (2015), section 6.1 Table 2, already prints +0.5888806999178529980514426957517049337221 for n=3. The agreement is with a +published FINITE-WIDTH estimator. It neither finds a new value of p_c nor proves +an all-width pTL intertwiner. Equation (5) is called a defining sextic here; +no unproved assertion of polynomial minimality is needed. + +## 5. Every finite root lies below q; exponential displacement with alternating corrections + +At q the five distinct eigenvalues are approximately + + beta_1=lambda_c=0.7957876689642490361, + beta_2= 0.0362139729093206924, + beta_3=-0.1005527942557272624, + mu_+ = 0.1788658499322440484, multiplicity 2, + mu_- =-0.0793337764501209504, multiplicity 2. + +The accompanying Fraction interval calculation proves, rather than infers from +these decimals, + + beta_2>0, beta_3<0, mu_+>0, mu_-<0, + |beta_3|/mu_+ < 3/5, |mu_-|/mu_+ < 1/2, + beta_2 < mu_+ < lambda_c. + +Consequently M_(3,m)(q)>0 for every m>=2. For even m every remaining term in +(4) is positive. For odd m, divide by mu_+^m and bound the negative terms by +(3/5)^m+2(1/2)^m < 2. The finite M is strictly increasing by the monotone-rank +argument and has endpoint values -1,+1. Its unique root p_(3,m) therefore +satisfies p_(3,m)0. + +The derivative sign is also certified exactly: at q, + + h'(q)=-(q-1)^2 P'(q)/(f_B,L(lambda_c(q),q)*lambda_c(q)). + +The numerator derivative is negative and the denominator positive. Analyticity +of the separated eigenvalues near q and a Taylor expansion of (4)/lambda_c^m +give + + p_(3,m)-q = -2 rho^m/(m h'(q)) * [ + 1 + (mu_-/mu_+)^m + + (beta_2/mu_+)^m/2 + (beta_3/mu_+)^m/2 + + O(rho^m)]. (6) + +All ratios on the right are evaluated at q. The O(rho^m) relative error accounts +for evaluation at the displaced root and the nonlinear leading exponential. +This is a fixed-width asymptotic, with a locally uniform spectral gap; it says +nothing about a width-uniform bound or the fixed-aspect L^-4 conjecture. + +The beta_3 term supplies the largest relative spectral correction and alternates +with parity. Examples are generated, not fitted: + +| m | p_(3,m), diagnostic | actual shift / leading shift | +|---|---|---| +| 3 | 0.5865114551126756357 | 0.84206024 | +| 4 | 0.5883619852843523124 | 1.09362955 | +| 8 | 0.5888800907157023131 | 1.00649648 | +| 12 | 0.5888806988874187696 | 1.00055615 | +| 20 | 0.5888806999178489730 | 1.00000506 | + +Exact rational root brackets are stored alongside each diagnostic decimal. + +## 6. Why the occupancy-only simplification ends at width four + +At width four a proper occupied row may be disconnected. Two short counterexamples +show that merely counting full rows and successive overlaps can err in either direction. +Here integer masks use bit j for column j (columns 0 through 3). + +* Rows [1,5,4,5] on the 4x4 torus: all interfaces overlap, no row is full, + but the ambient rank is zero, not one. The middle masks 5={0,2} do not join + the incoming and outgoing paths. +* Rows [11,14] on the honest 4x2 torus: again no full row, all interfaces + overlap, but rank is two, not one. The two complementary paths within the + rows create transverse winding even though neither row is full. Parallel + length-two edges are retained. + +There is a stronger continuation witness, not just failure of one guessed formula. +Take two open prefixes, ending at the identical frontier 5={0,2}: + + history A: [0,5], history B: [7,5]. + +Neither prefix has ambient winding. History B connects the two frontier vertices +via row 7={0,1,2}; history A does not. Append the SAME suffix [13,0], where +13={0,2,3}, and close longitudinally through the empty row: + + [0,5,13,0] has r=0 and D=-1; + [7,5,13,0] has r=1 and D=0. + +In the second history the new route via column 3 closes a transverse cycle +against the old route via column 1. Thus ANY deterministic continuation summary +that identifies these two prefixes cannot preserve this readout. Frontier +occupancy and a current wrapping flag alone are insufficient; connectivity of +frontier vertices is genuine needed memory. This is a scoped lower bound, NOT +an impossibility theorem for local transfer operators or a proof that all full +boundary partitions are necessary/minimal. + +The ordinary labelled frontier partition is not the end of the story. An even +stronger pair has the same occupation count, same frontier, same ordinary +partition, and same current winding flag: + + history A': [13,5], history B': [7,5]. + +Both contain five of eight sites (identical weight p^5(1-p)^3), both connect +frontier vertices {0,2}, and neither has a transverse cycle. In A' their lifted +connecting path has horizontal displacement -2; in B' it has displacement +2. +Attach the same suffix [13,0]. The new 0-to-2 route has displacement -2, hence + + [13,5,13,0] has r=0, D=-1; + [ 7,5,13,0] has r=1, D= 0. + +The second closed route has net displacement +2-(-2)=4, one circumference; +the first has displacement zero. The script independently traverses the OPEN +prefixes and records all equal ordinary fields and the differing integer lifts, +then verifies the completed torus ranks. This is genuine topological memory +that a bare set partition and a flag recording already completed wrapping lose. +Embedded annular or suitably lifted connectivity states can distinguish it; +this is NOT a no-go for those representations. + +The next useful transfer question, if pursued, is therefore a precise width-four +connectivity-and-topology closure, tested against both continuation witnesses. +Plain boundary-partition counts alone do not settle the needed state space. +It is not another occupancy-mask eigenvalue calculation or a large width scan. + +## 7. Executed validation and sources + +The script derived unnormalized Bernstein integer coefficients by Newton trace +recurrences in site fugacity. An independent lifted-edge traversal checked all +299,584 configurations on 3x2,...,3x6, both the pointwise identity (1) and EVERY +polynomial coefficient. This generalizes the geometric checking technique in +#705 and is independent of the row-transfer formula, not claimed as an unrelated +second research program. The existing 3x3 coefficient vector +[-1,-9,-36,-78,-90,-36,36,36,9,1] is reproduced exactly. + +An independent integer 7x7 matrix-power trace at p=1/2 matches the block recurrence +for m=2,...,10. Fraction interval signs certify the q bracket, the five eigenvalue +bands, positivity of h'(q), and the inequalities used in the all-m proof. Seven +small mathematical tests passed locally. No full-repository CI was run for this +new patch; no new production, GPU, or fitted exponent was used. + +Files: +- scripts/width3_cylinder_exact.py +- tests/test_width3_cylinder_exact.py +- results/research-control-20260912/width3-cylinder-exact.json + +Repository inputs read: PR #705 at fc19cc748527249f0ce1c69d7cd2a88a4879427b, +merged as eb89e9422791d9e3c3a78f0e65d56912b815a7bd; original digital-Alexander +proof; the 3x3 Bernstein rung via #668/#684. + +External primary source, PRIMARY_TEXT_READ on 2026-09-12: +Jacobsen, Critical points of Potts and O(N) models from eigenvalue identities in +periodic Temperley-Lieb algebras, arXiv:1507.03027v1, section 6.1 Table 2 and +sections 4,7.1. https://arxiv.org/html/1507.03027v1 +The table value and limit order are literature facts; the all-width or continuum +claims not established above remain unclaimed. No broad novelty search was done. diff --git a/results/research-control-20260912/shape-transport-order-finalized-summary.json b/results/research-control-20260912/shape-transport-order-finalized-summary.json new file mode 100644 index 00000000..cecaaf5c --- /dev/null +++ b/results/research-control-20260912/shape-transport-order-finalized-summary.json @@ -0,0 +1,82 @@ +{ + "schema": "matching-one.shape-transport-order-finalized-summary.v1", + "provenance": { + "head": "59fff91c6592e8c947ccd1e3df25e15df6a291e5", + "checkout": "93f44c5dfb52d178046f546e9d644fd84e50dfcd", + "run_id": 34685638146, + "job_id": 103532033981, + "command": "python scripts/shape_transport_order.py", + "extraction": "Fields read from completed successful workflow stdout. Not a new local raw-histogram run.", + "elapsed_seconds": 17.045987239, + "mathematical_tests_in_job": 19 + }, + "finalization_date": "2026-09-12", + "reference_levels": [ + 0.3, + 0.5, + 0.7 + ], + "reference_points": [ + 0.5638915164071909, + 0.5927517136919742, + 0.6211934034174541 + ], + "composition_difference_high_precision": [ + -4.249439184159747e-06, + -4.474271110694973e-06, + -4.553323687558643e-06 + ], + "standard_errors": [ + 1.900866250374583e-06, + 1.836344494162728e-06, + 1.8494040220848198e-06 + ], + "covariance": [ + [ + 3.613292501813127e-12, + 3.4593671499807256e-12, + 3.46768682759206e-12 + ], + [ + 3.4593671499807256e-12, + 3.372161101241766e-12, + 3.3685088503157967e-12 + ], + [ + 3.46768682759206e-12, + 3.3685088503157967e-12, + 3.4202952369035086e-12 + ] + ], + "jackknife_bias_estimate": [ + -1.0533094393337672e-11, + -1.2296963397197432e-11, + -2.1912731669465483e-11 + ], + "simultaneous_nominal_alpha": 0.0027, + "bonferroni_critical_z": 3.3200541166994784, + "lower": [ + -1.0560418004010983e-05, + -1.057103420821836e-05, + -1.0693445124521922e-05 + ], + "upper": [ + 2.0615396356914884e-06, + 1.622491986828414e-06, + 1.586797749404636e-06 + ], + "max_abs_marginal_z": 2.462049197030357, + "resolved_crossing": false, + "verdict": "UNRESOLVED_FULL_COMMON_COORDINATE_COLLAPSE", + "pooled_float_vs_55dps_max": 1.48427446819855e-15, + "composition_quantiles_range_all_deletions": [ + 0.24880019486659927, + 0.7510794674016856 + ], + "limits": [ + "No resolved crossing is not evidence establishing a common coordinate.", + "A nonzero constant-sign commutator would not reject affine conjugacy: Aff(1) is nonabelian.", + "Estimated nonlinear jackknife covariance and nominal marginal intervals; no exact finite-sample coverage claim.", + "Same effective spin0 laws and fixed central points, not a new independent experiment." + ] +} diff --git a/results/research-control-20260912/width3-cylinder-exact.json b/results/research-control-20260912/width3-cylinder-exact.json new file mode 100644 index 00000000..45a5d91b --- /dev/null +++ b/results/research-control-20260912/width3-cylinder-exact.json @@ -0,0 +1,486 @@ +{ + "schema": "matching-one.width3-cylinder-exact.v1", + "scope": "square-site width 3, length m>=2; NOT infinite-lattice pc or an all-width pTL intertwiner", + "cylinder_sextic_low_first": [ + 1, + 1, + 0, + -4, + -5, + -3, + 1 + ], + "cylinder_exact_rational_bracket": [ + "6566239220600206483872888902707641265663279/11150372599265311570767859136324180752990208", + "840478620236826429935729779546578082004899713/1427247692705959881058285969449495136382746624" + ], + "cylinder_q_diagnostic": "0.58888069991785299805144269575170493372217050345701", + "published_n3_value": "0.5888806999178529980514426957517049337221", + "source": "Jacobsen 2015 arXiv:1507.03027v1 section 6.1 Table 2, primary HTML read 2026-09-12", + "published_match_below_1e_minus_40": true, + "block_B_eigenvalues_diagnostic": [ + "0.79578766896424903605620104266078116604873503565708", + "0.036213972909320692438479008027583384373767333677894", + "-0.10055279425572726240102376097844011798302112947222" + ], + "block_C_eigenvalues_diagnostic": [ + "0.17886584993224404842481657728063602638614720762375", + "-0.079333776450120950401600026784588924049863141321157" + ], + "block_C_eigenvalue_multiplicity": 2, + "closed_rate_diagnostic": "0.79578766896424903605620104266078116604873503565708", + "rho_diagnostic": "0.22476579734522079198176767579637432574092549867206", + "hprime_diagnostic": "2.6904978143712394890696018902702841665091753340637", + "all_leading_coefficients": 1, + "dominant_subleading_coefficient": 2, + "exact_enumeration_checks": { + "2": { + "configurations": 64, + "classification_failures": 0, + "bernstein_counts": [ + -1, + -6, + -12, + -6, + 6, + 6, + 1 + ], + "power_coefficients": [ + -1, + 0, + 3, + 2, + -3 + ] + }, + "3": { + "configurations": 512, + "classification_failures": 0, + "bernstein_counts": [ + -1, + -9, + -36, + -78, + -90, + -36, + 36, + 36, + 9, + 1 + ], + "power_coefficients": [ + -1, + 0, + 0, + 6, + 0, + 0, + 0, + -18, + 18, + -4 + ] + }, + "4": { + "configurations": 4096, + "classification_failures": 0, + "bernstein_counts": [ + -1, + -12, + -66, + -216, + -456, + -624, + -498, + -84, + 222, + 192, + 66, + 12, + 1 + ], + "power_coefficients": [ + -1, + 0, + 0, + 4, + 3, + 0, + 6, + 0, + -87, + 136, + -72, + 12 + ] + }, + "5": { + "configurations": 32768, + "classification_failures": 0, + "bernstein_counts": [ + -1, + -15, + -105, + -450, + -1305, + -2670, + -3885, + -3885, + -2235, + 45, + 1245, + 1020, + 420, + 105, + 15, + 1 + ], + "power_coefficients": [ + -1, + 0, + 0, + 5, + 0, + 3, + -10, + 30, + 0, + -200, + 312, + -120, + -65, + 60, + -15, + 2 + ] + }, + "6": { + "configurations": 262144, + "classification_failures": 0, + "bernstein_counts": [ + -1, + -18, + -153, + -810, + -2970, + -7938, + -15846, + -23778, + -26478, + -20658, + -8766, + 2232, + 6750, + 5382, + 2520, + 774, + 153, + 18, + 1 + ], + "power_coefficients": [ + -1, + 0, + 0, + 6, + 0, + 0, + -12, + 0, + 54, + 32, + -396, + 486, + 30, + -414, + 288, + -114, + 72, + -36, + 6 + ] + } + }, + "integer_matrix_trace_checks_m_2_to_10": true, + "finite_roots": { + "2": { + "exact_rational_root_bracket": [ + "400312927426073777010206031846360697872060411/713623846352979940529142984724747568191373312", + "800625854852147554020412063692721395744120823/1427247692705959881058285969449495136382746624" + ], + "root_diagnostic": "0.5609578904515291298145210442389823818645", + "root_minus_cylinder_diagnostic": "-0.02792280946632386823692165", + "leading_shift_diagnostic": "-0.01877706920495645957168997", + "shift_ratio_diagnostic": "1.487069635923441540396485" + }, + "3": { + "exact_rational_root_bracket": [ + "837097121055181458023268930732850654644401453/1427247692705959881058285969449495136382746624", + "418548560527590729011634465366425327322200727/713623846352979940529142984724747568191373312" + ], + "root_diagnostic": "0.5865114551126756356545589766069017348243", + "root_minus_cylinder_diagnostic": "-0.002369244805177362396883719", + "leading_shift_diagnostic": "-0.002813628621105619791973803", + "shift_ratio_diagnostic": "0.8420602446979530384188936" + }, + "4": { + "exact_rational_root_bracket": [ + "839738285972989758802080916395032008952045671/1427247692705959881058285969449495136382746624", + "104967285746623719850260114549379001119005709/178405961588244985132285746181186892047843328" + ], + "root_diagnostic": "0.5883619852843523124446730988582938294302", + "root_minus_cylinder_diagnostic": "-0.0005187146335006856067695969", + "leading_shift_diagnostic": "-0.0004743056103421040659819628", + "shift_ratio_diagnostic": "1.09362955484871977242227" + }, + "5": { + "exact_rational_root_bracket": [ + "420181142003630538273314870547619800015168973/713623846352979940529142984724747568191373312", + "840362284007261076546629741095239600030337947/1427247692705959881058285969449495136382746624" + ], + "root_diagnostic": "0.5887991890279353635088962923004941727878", + "root_minus_cylinder_diagnostic": "-0.00008151088991763454254640345", + "leading_shift_diagnostic": "-0.00008528614295508369719285866", + "shift_ratio_diagnostic": "0.9557342739788642171284672" + }, + "6": { + "exact_rational_root_bracket": [ + "840455282049249677895950177429479812000281615/1427247692705959881058285969449495136382746624", + "52528455128078104868496886089342488250017601/89202980794122492566142873090593446023921664" + ], + "root_diagnostic": "0.5888643480346472844728520094931130823426", + "root_minus_cylinder_diagnostic": "-0.00001635188320571357859068626", + "leading_shift_diagnostic": "-0.00001597450660316489351440316", + "shift_ratio_diagnostic": "1.023623678146899300822827" + }, + "8": { + "exact_rational_root_bracket": [ + "420238875377231236692311921907541377775002945/713623846352979940529142984724747568191373312", + "840477750754462473384623843815082755550005891/1427247692705959881058285969449495136382746624" + ], + "root_diagnostic": "0.5888800907157023131380716130272317396199", + "root_minus_cylinder_diagnostic": "-0.0000006092021506849133710827245", + "leading_shift_diagnostic": "-0.0000006052700254996210060063077", + "shift_ratio_diagnostic": "1.006496480941785588560711" + }, + "12": { + "exact_rational_root_bracket": [ + "840478618766141554937576837740610249769443589/1427247692705959881058285969449495136382746624", + "420239309383070777468788418870305124884721795/713623846352979940529142984724747568191373312" + ], + "root_diagnostic": "0.5888806988874187696311190589824471686986", + "root_minus_cylinder_diagnostic": "-1.030434228420323636769258e-9", + "leading_shift_diagnostic": "-1.029861467037597738970488e-9", + "shift_ratio_diagnostic": "1.000556153813943004503969" + }, + "20": { + "exact_rational_root_bracket": [ + "13132478441200323205557217575903864723271695/22300745198530623141535718272648361505980416", + "840478620236820685155661924857847342289388481/1427247692705959881058285969449495136382746624" + ], + "root_diagnostic": "0.5888806999178489729756992114548407710935", + "root_minus_cylinder_diagnostic": "-4.025075743484296864162629e-15", + "leading_shift_diagnostic": "-4.025055391908418730765929e-15", + "shift_ratio_diagnostic": "1.000005056222560078609715" + } + }, + "width4_obstructions": [ + { + "width": 4, + "length": 4, + "rows_as_bitmasks": [ + 1, + 5, + 4, + 5 + ], + "occupied_vertices": [ + 0, + 4, + 6, + 10, + 12, + 14 + ], + "full_row": false, + "every_interface_overlaps": true, + "actual_ambient_rank": 0, + "naive_rank": 1 + }, + { + "width": 4, + "length": 2, + "rows_as_bitmasks": [ + 11, + 14 + ], + "occupied_vertices": [ + 0, + 1, + 3, + 5, + 6, + 7 + ], + "full_row": false, + "every_interface_overlaps": true, + "actual_ambient_rank": 2, + "naive_rank": 1 + } + ], + "exact_interval_certificate": { + "q_rational_interval": [ + "11777613998357/20000000000000", + "29444034995893/50000000000000" + ], + "q_polynomial_endpoint_signs": [ + 1, + -1 + ], + "eigenvalue_intervals": { + "B_negative": { + "rational_interval": [ + "-51/500", + "-99/1000" + ], + "endpoint_signs": [ + -1, + 1 + ] + }, + "B_small_positive": { + "rational_interval": [ + "7/200", + "19/500" + ], + "endpoint_signs": [ + 1, + -1 + ] + }, + "B_perron": { + "rational_interval": [ + "397/500", + "797/1000" + ], + "endpoint_signs": [ + -1, + 1 + ] + }, + "C_negative": { + "rational_interval": [ + "-81/1000", + "-39/500" + ], + "endpoint_signs": [ + 1, + -1 + ] + }, + "C_positive": { + "rational_interval": [ + "89/500", + "9/50" + ], + "endpoint_signs": [ + -1, + 1 + ] + } + }, + "negative_beta_over_positive_mu_upper": "3/5", + "negative_mu_over_positive_mu_upper": "1/2", + "P_prime_at_q_sign": -1, + "F_lambda_at_perron_sign": 1, + "hprime_positive": true, + "all_m_at_least_2_defect_positive": true, + "arithmetic": "Fraction interval arithmetic; every endpoint sign certified" + }, + "width4_continuation_memory_witness": { + "width": 4, + "prefixes": [ + [ + 0, + 5 + ], + [ + 7, + 5 + ] + ], + "common_frontier_mask": 5, + "common_suffix": [ + 13, + 0 + ], + "completed_torus_ranks": [ + 0, + 1 + ], + "completed_matching_D": [ + -1, + 0 + ], + "conclusion": "Any deterministic continuation state identifying these prefixes cannot preserve the rank readout." + }, + "width4_topology_memory_witness": { + "width": 4, + "prefixes": [ + [ + 13, + 5 + ], + [ + 7, + 5 + ] + ], + "common_suffix": [ + 13, + 0 + ], + "prefix_signatures": [ + { + "occupied_count": 5, + "frontier_mask": 5, + "ordinary_frontier_partition": [ + [ + 0, + 2 + ] + ], + "existing_transverse_winding": false, + "lifted_frontier_displacements": { + "0->2": -2 + } + }, + { + "occupied_count": 5, + "frontier_mask": 5, + "ordinary_frontier_partition": [ + [ + 0, + 2 + ] + ], + "existing_transverse_winding": false, + "lifted_frontier_displacements": { + "0->2": 2 + } + } + ], + "completed_torus_ranks": [ + 0, + 1 + ], + "completed_matching_D": [ + -1, + 0 + ], + "exact_common_prefix_probability": "p^5*(1-p)^3", + "conclusion": "Even frontier mask, ordinary set partition, occupation count, and current winding flag do not preserve continuation; lifted/annular path information is needed." + }, + "boundary": "Rows remember occupancy only; width 4 requires within-row/accumulated connectivity. Width-three proof does not justify mask-only transfer at width 4." +} diff --git a/scripts/width3_cylinder_exact.py b/scripts/width3_cylinder_exact.py new file mode 100644 index 00000000..09b766a7 --- /dev/null +++ b/scripts/width3_cylinder_exact.py @@ -0,0 +1,393 @@ +#!/usr/bin/env python3 +"""Width-three square-site torus: exact row-transfer spectrum and its scope. + +The variable t used by coefficient recurrences is site fugacity. Coefficients +are the unnormalized Bernstein counts in M(p)=sum c[k] p**k (1-p)**(3*m-k). +No Monte Carlo, fitted exponent or infinite-lattice threshold estimate is used. +""" +from __future__ import annotations +import argparse +from fractions import Fraction as F +from itertools import product +import json +from math import comb +from pathlib import Path + + +def add(*arrays): + result = [0] * max(map(len, arrays)) + for a in arrays: + for i, v in enumerate(a): + result[i] += v + while len(result) > 1 and result[-1] == 0: + result.pop() + return result + + +def mul(a, b): + result = [0] * (len(a) + len(b) - 1) + for i, x in enumerate(a): + for j, y in enumerate(b): + result[i+j] += x*y + return add(result) + + +def scale(a, c): + return [c*x for x in a] + + +def power(a, n): + result = [1] + for _ in range(n): + result = mul(result, a) + return result + + +def evaluate(a, x): + result = 0 + for c in reversed(a): + result = result*x + c + return result + + +def block_traces(m): + """Integer polynomials for tr(B**m), tr(C**m), from Newton identities.""" + if not isinstance(m, int) or m < 0: + raise ValueError('m must be a nonnegative integer') + # B eigen-equation L^3 - h L^2 - j L + t^6 = 0. + h, j, detneg = [0,1,3,1], [0,0,0,1,2], [0,0,0,0,0,0,1] + b = [[3], h, add(mul(h,h),scale(j,2))] + for k in range(3, m+1): + b.append(add(mul(h,b[k-1]),mul(j,b[k-2]),scale(mul(detneg,b[k-3]),-1))) + # C eigen-equation L^2 - t L - t^3 = 0; multiplicity two in the full transfer. + c = [[2], [0,1]] + for k in range(2,m+1): + c.append(add(mul([0,1],c[k-1]),mul([0,0,0,1],c[k-2]))) + return b[m], c[m] + + +def bernstein_counts(m): + if not isinstance(m,int) or m < 2: + raise ValueError('the torus requires integer m >= 2') + b,c = block_traces(m) + out = add(b,scale(c,2),scale(power([1,3,3],m),-1)) + return out + [0]*(3*m+1-len(out)) + + +def power_coefficients(m): + n = 3*m + out = [0]*(n+1) + for k,c in enumerate(bernstein_counts(m)): + for j in range(n-k+1): + out[k+j] += c*comb(n-k,j)*(-1)**j + return add(out) + + +def ambient_rank(mask, width, length): + """Independent lift traversal; retains distinct +/- periodic edges. + + Positions are integer lifts of vertices. Every closing edge supplies an + ambient period. Rank is computed by integer determinants, not row masks. + """ + if min(width,length)<2: + raise ValueError('honest axis periods must both be at least two') + positions = {} + first = None + for root in range(width*length): + if not (mask>>root)&1 or root in positions: + continue + positions[root] = (0,0) + stack = [root] + while stack: + current = stack.pop() + x,y = current%width,current//width + px,py = positions[current] + for dx,dy in ((1,0),(-1,0),(0,1),(0,-1)): + vertex = ((y+dy)%length)*width+(x+dx)%width + if not (mask>>vertex)&1: + continue + proposed = (px+dx,py+dy) + if vertex not in positions: + positions[vertex] = proposed + stack.append(vertex) + else: + wx,wy = proposed[0]-positions[vertex][0],proposed[1]-positions[vertex][1] + if wx%width or wy%length: + raise AssertionError('cycle displacement is not a torus period') + wx,wy=wx//width,wy//length + if wx or wy: + if first is None: + first=(wx,wy) + elif first[0]*wy-first[1]*wx: + return 2 + return int(first is not None) + + +def row_events(mask, width, length): + rows=[(mask>>(width*j))&((1<0: + lo,a=mid,value + else: + hi,b=mid,value + return [str(lo),str(hi)] + + +def width4_witnesses(): + """Shows both missing within-row connectivity and unrecorded transverse loops.""" + answer=[] + # All overlaps, no full row; the two sites of 0101 cannot connect. + # Alternating pair of equal 1101/0111 rows makes a transverse winding loop + # without any full row: it is a second, distinct width-four failure. + for rows in ([1,5,4,5],[11,14]): + width=4;m=len(rows) + mask=sum(row<<(width*i) for i,row in enumerate(rows)) + full,overlap=row_events(mask,width,m) + r=ambient_rank(mask,width,m) + answer.append({'width':width,'length':m,'rows_as_bitmasks':rows, + 'occupied_vertices':[i for i in range(width*m) if mask>>i&1], + 'full_row':full,'every_interface_overlaps':overlap, + 'actual_ambient_rank':r,'naive_rank':int(full)+int(overlap)}) + return answer + + + +def interval_certificate(): + """Exact rational sign enclosures for q and all five distinct eigenvalues. + + Three disjoint sign brackets for a cubic and two for a quadratic exhaust + their roots. Coarse fixed bands suffice for the all-m positive-defect proof. + """ + sextic=[1,1,0,-4,-5,-3,1] + # A wider fixed rational interval makes this certificate short and readable. + lo,hi=F(58888069991785,10**14),F(58888069991786,10**14) + assert evaluate(sextic,lo)>0>evaluate(sextic,hi) + def point(x): return (F(x),F(x)) + def plus(a,b):return (a[0]+b[0],a[1]+b[1]) + def minus(a,b):return (a[0]-b[1],a[1]-b[0]) + def times(a,b): + v=[x*y for x in a for y in b] + return (min(v),max(v)) + def val(poly,x): + result=point(0) + for c in reversed(poly):result=plus(times(result,x),point(c)) + return result + def sign(a): + if a[0]>0:return 1 + if a[1]<0:return -1 + raise AssertionError('interval sign unresolved') + q=(lo,hi);q2=times(q,q);q3=times(q,q2);qm=minus(point(1),q) + U=times(q,times(qm,qm));V=times(q2,qm);W=q3 + H=plus(plus(U,times(point(3),V)),W) + J=plus(times(U,V),times(point(2),times(U,W))) + det=times(times(U,V),W) + def charb(x):return plus(minus(minus(times(x,times(x,x)),times(H,times(x,x))),times(J,x)),det) + def charc(x):return minus(minus(times(x,x),times(U,x)),times(U,V)) + bands={'B_negative':(charb,F(-102,1000),F(-99,1000)), + 'B_small_positive':(charb,F(35,1000),F(38,1000)), + 'B_perron':(charb,F(794,1000),F(797,1000)), + 'C_negative':(charc,F(-81,1000),F(-78,1000)), + 'C_positive':(charc,F(178,1000),F(180,1000))} + roots={} + for name,(f,a,b) in bands.items(): + signs=[sign(f(point(a))),sign(f(point(b)))] + assert signs[0]*signs[1]<0 + roots[name]={'rational_interval':[str(a),str(b)],'endpoint_signs':signs} + # M(q)>0: |beta_-|/mu+ < 3/5, |mu-|/mu+ < 1/2. + assert F(102,178)0. + lc=minus(point(1),q3) + derivative=val([i*sextic[i] for i in range(1,len(sextic))],q) + fl=minus(minus(times(point(3),times(lc,lc)),times(point(2),times(H,lc))),J) + assert sign(derivative)==-1 and sign(fl)==1 and sign(lc)==1 + return {'q_rational_interval':[str(lo),str(hi)], + 'q_polynomial_endpoint_signs':[1,-1], 'eigenvalue_intervals':roots, + 'negative_beta_over_positive_mu_upper':'3/5', + 'negative_mu_over_positive_mu_upper':'1/2', + 'P_prime_at_q_sign':-1,'F_lambda_at_perron_sign':1, + 'hprime_positive':True,'all_m_at_least_2_defect_positive':True, + 'arithmetic':'Fraction interval arithmetic; every endpoint sign certified'} + + +def continuation_memory_witness(): + # Both open prefixes have frontier 0101 and no winding. Only the second + # prefix connects its two frontier vertices. A common suffix exposes this. + prefixes=[[0,5],[7,5]];suffix=[13,0];ranks=[] + for prefix in prefixes: + rows=prefix+suffix + mask=sum(row<<(4*j) for j,row in enumerate(rows)) + ranks.append(ambient_rank(mask,4,len(rows))) + assert ranks==[0,1] + return {'width':4,'prefixes':prefixes,'common_frontier_mask':5, + 'common_suffix':suffix,'completed_torus_ranks':ranks, + 'completed_matching_D':[-1,0], + 'conclusion':'Any deterministic continuation state identifying these prefixes cannot preserve the rank readout.'} + + + +def open_prefix_signature(rows, width=4): + """Exact open-cylinder connectivity with horizontal lifted displacements.""" + height=len(rows) + occupied={width*y+x for y,row in enumerate(rows) for x in range(width) if row>>x&1} + positions={};components={};winding=False;component=0 + for root in sorted(occupied): + if root in positions:continue + positions[root]=(0,0);components[root]=component;stack=[root] + while stack: + vertex=stack.pop();x,y=vertex%width,vertex//width + for dx,dy in ((1,0),(-1,0),(0,1),(0,-1)): + if not 0<=y+dy{x}']=positions[last+x][0]-positions[last+group[0]][0] + return {'occupied_count':len(occupied),'frontier_mask':rows[-1], + 'ordinary_frontier_partition':groups,'existing_transverse_winding':winding, + 'lifted_frontier_displacements':marked} + + +def topology_memory_witness(): + prefixes=[[13,5],[7,5]];suffix=[13,0] + signatures=[open_prefix_signature(rows) for rows in prefixes] + ordinary_keys=('occupied_count','frontier_mask','ordinary_frontier_partition', + 'existing_transverse_winding') + assert all(signatures[0][k]==signatures[1][k] for k in ordinary_keys) + assert signatures[0]['lifted_frontier_displacements']=={'0->2':-2} + assert signatures[1]['lifted_frontier_displacements']=={'0->2':2} + ranks=[] + for prefix in prefixes: + rows=prefix+suffix;mask=sum(row<<(4*i) for i,row in enumerate(rows)) + ranks.append(ambient_rank(mask,4,len(rows))) + assert ranks==[0,1] + return {'width':4,'prefixes':prefixes,'common_suffix':suffix, + 'prefix_signatures':signatures,'completed_torus_ranks':ranks, + 'completed_matching_D':[-1,0], + 'exact_common_prefix_probability':'p^5*(1-p)^3', + 'conclusion':'Even frontier mask, ordinary set partition, occupation count, and current winding flag do not preserve continuation; lifted/annular path information is needed.'} + + +def report(max_check=5): + import mpmath as mp + if not 2<=max_check<=6: + raise ValueError('local exact check restricted to 2 <= max_check <= 6') + checks={str(m):check_census(m) for m in range(2,max_check+1)} + for m in range(2,11): + assert overlap_trace_half(3,m)==evaluate(power_coefficients(m),F(1,2)) + # Independent 3x3 table from #668/#684 (the existing square-torus rung). + assert bernstein_counts(3)==[-1,-9,-36,-78,-90,-36,36,36,9,1] + witness=width4_witnesses() + assert witness[0]['actual_ambient_rank']==0 and witness[0]['naive_rank']==1 + sextic=[1,1,0,-4,-5,-3,1] + with mp.workdps(80): + q=mp.findroot(lambda p:evaluate(sextic,p),(.58,.60)) + def blocks(p): + u=p*(1-p)**2;v=p*p*(1-p);w=p**3 + return mp.matrix([[u,2*v,w],[2*u,3*v,w],[3*u,3*v,w]]),u,v + def leading(p): + b,_,_=blocks(p) + vals=mp.eig(b,left=False,right=False) + return max(mp.re(v) for v in vals) + b,u,v=blocks(q) + betas=sorted([mp.re(x) for x in mp.eig(b,left=False,right=False)],reverse=True) + mu=(u+mp.sqrt(u*u+4*u*v))/2 + nu=(u-mp.sqrt(u*u+4*u*v))/2 + lc=1-q**3 + hprime=mp.diff(lambda p:mp.log(leading(p)/(1-p**3)),q) + r=mu/lc + roots={} + for m in (2,3,4,5,6,8,12,20): + bracket=bisect_sign(power_coefficients(m)) + lf,hf=map(F,bracket) + root=(mp.mpf(lf.numerator)/lf.denominator+mp.mpf(hf.numerator)/hf.denominator)/2 + shift=-2*r**m/(m*hprime) + roots[str(m)]={'exact_rational_root_bracket':bracket, + 'root_diagnostic':mp.nstr(root,40), + 'root_minus_cylinder_diagnostic':mp.nstr(root-q,25), + 'leading_shift_diagnostic':mp.nstr(shift,25), + 'shift_ratio_diagnostic':mp.nstr((root-q)/shift,25)} + s=lambda x:mp.nstr(x,50) + return {'schema':'matching-one.width3-cylinder-exact.v1', + 'scope':'square-site width 3, length m>=2; NOT infinite-lattice pc or an all-width pTL intertwiner', + 'cylinder_sextic_low_first':sextic, + 'cylinder_exact_rational_bracket':bisect_sign(sextic), + 'cylinder_q_diagnostic':s(q), + 'published_n3_value':'0.5888806999178529980514426957517049337221', + 'source':'Jacobsen 2015 arXiv:1507.03027v1 section 6.1 Table 2, primary HTML read 2026-09-12', + 'published_match_below_1e_minus_40':abs(q-mp.mpf('0.5888806999178529980514426957517049337221'))