diff --git a/.github/workflows/verify.yml b/.github/workflows/verify.yml index 8b2512d..ec43540 100644 --- a/.github/workflows/verify.yml +++ b/.github/workflows/verify.yml @@ -44,6 +44,8 @@ jobs: run: python tools/test_amplitude_identification.py --output amplitude-evidence/REPORT.json - name: Check reflection matching separately run: python tools/test_reflection_matching.py --output reflection-evidence/REPORT.json + - name: Check uniform positive-minimum estimates separately + run: python tools/test_uniform_minimum.py --output uniform-minimum-evidence/REPORT.json - name: Check preserved inputs and document links run: python verify.py --integrity-only - name: Run every scientific suite and retain comparisons @@ -65,6 +67,7 @@ jobs: model-residual-evidence/ amplitude-evidence/ reflection-evidence/ + uniform-minimum-evidence/ tracked-source.zip if-no-files-found: warn retention-days: 14 diff --git a/README.md b/README.md index e96542d..0140be2 100644 --- a/README.md +++ b/README.md @@ -86,6 +86,8 @@ The [physical-amplitude lemma chain](research/AMPLITUDE_IDENTIFICATION.md) now s an author-side retarded reconstruction, channel normalization and uniform tail comparison. The [reflection-matching note](research/REFLECTION_MATCHING.md) expands Gate B: explicit endpoint cancellation and exact-lattice positive/negative outer control at zero minimum. +The [uniform-minimum note](research/UNIFORM_MINIMUM.md) expands Gate C: the full +positive-minimum domain, including its narrow turning region and shifted negative tail. [Source labels](research/SOURCES.md) map the preserved notes' local reference numbers. [Assumptions](literature/ASSUMPTIONS.md) distinguishes ideal model premises from a joint apparatus, with a [primary-source register](literature/PHYSICAL_PRECEDENTS.md) and diff --git a/STATUS.md b/STATUS.md index 99e6d31..ffd3617 100644 --- a/STATUS.md +++ b/STATUS.md @@ -12,7 +12,7 @@ and history inputs remain byte-preserved. | Inverse-square-logarithmic return | Author-side matched-asymptotic derivation | Fixed local trap and order of limits | | Energy reflection equals physical return | Explicit Gate A lemma chain | Not independent proof review | | Leading reflection and outer matching | Explicit Gate B endpoint and exact-lattice estimates | Zero minimum; not independent proof review | -| Positive-minimum joint law | Derived uniformly away from b=1 | No full crossover claim | +| Positive-minimum joint law | Explicit Gate C uniform lemma chain | Fixed margin below b=1; no crossover claim | | Finite-volume family | Sufficient bound and finite examples | Not an optimized size requirement | | Fixed positive hopping anisotropy | Scope corollary with checked hypotheses | Not uniform at zero transverse hopping | @@ -25,8 +25,12 @@ The new argument supplies that intermediate reasoning without changing the law. [Gate B](research/REFLECTION_MATCHING.md) now makes the endpoint-basis cancellation explicit, treats positive-side passivity without a chosen absorber, and bounds the entire negative tail with the exact positive spectral measure. No leading coefficient -correction was found. These are author-side arguments at zero minimum; Gates C and D -are not closed by this pass. The +correction was found. [Gate C](research/UNIFORM_MINIMUM.md) now treats the entire +positive-minimum domain at a fixed margin below b=1: its central perturbation is +offset-independent, its passive denominator does not require a sign of Im(h), and +its shifted exact negative-tail defect is dominated uniformly by the zero-minimum +integral. The coefficient and domain are preserved. These are author-side arguments; +Gate D remains separate. The [reader packet](research/READER_PACKET.md) remains a brief, not a received report. ## Prior art and physical premises @@ -55,8 +59,8 @@ Full crossover, optimal volume and experimental superiority remain unclaimed. The preserved scientific suites contain **5 suites, 28 groups and 272 controls**. Fourteen infrastructure tests, five predecessor checks, six operational checks, -seven model-residual checks, seven amplitude checks and six reflection checks are -counted separately. +seven model-residual checks, seven amplitude checks, six reflection checks and +seven uniform-minimum checks are counted separately. Execution, exact byte reproduction and independent scientific review are distinct. The Gate A base was `5167d02b9504596e1c1b071ed425dea63dec62c6`. Its downloaded main @@ -84,7 +88,13 @@ reclassify any previous failed, cancelled or non-byte-identical execution. ## Next bounded step -Follow [CURRENT](work_orders/CURRENT.md): challenge uniformity of the existing -positive-minimum law on the whole stated b domain, or record a concrete objection. +[Gate C provenance](provenance/GATE_C_2026-10-04.json) records the recovered current +main, source-tree identity and the new diagnostic evidence. The first seven-test +uniform-minimum run passed; no new failed scientific attempt is omitted. The early +base-source run overlapped addition of the new note, changing only its navigation +link count; a frozen candidate and actual hosted reports are separate evidence. + +Follow [CURRENT](work_orders/CURRENT.md): scrutinize the finite-volume initial-state, +periodic-seam and return-amplitude estimates without optimizing lattice size. Do not broaden the model to prolong development. A genuinely separate report remains absent. No manuscript, release or outside invitation is initiated here. diff --git a/archive/GATE_C_DIAGNOSTIC_REFINEMENT.md b/archive/GATE_C_DIAGNOSTIC_REFINEMENT.md new file mode 100644 index 0000000..71b3301 --- /dev/null +++ b/archive/GATE_C_DIAGNOSTIC_REFINEMENT.md @@ -0,0 +1,56 @@ +# Gate C diagnostic refinement: keep the central equation off a singular wave chart + +**4 October 2026. Test implementation only; no physical equation or tolerance change.** +The first seven-test Gate C candidate passed. An additional exact-turning-point probe +then exposed an avoidable issue in its diagnostic RHS: it called `local_data(...)[0]` +to obtain the regular scalar coefficient, but that helper also evaluated unused +wave-basis quantities proportional to inverse powers of the coefficient. At a zero +of the coefficient those unused quantities are singular. + +With NumPy floating-point warnings raised as exceptions, the actual probe was: + +```python +with np.errstate(all='raise'): + local_data(-np.exp(-16.), 16., .5)[0] +# FloatingPointError: divide by zero encountered in scalar divide +``` + +The central ODE coefficient itself is zero there and has no singularity. This is +not a failure of an original 272-control suite, not a defect of the integrated +central estimate, and not evidence for cutting out the turning region. + +The repair gives the central ODE a coefficient-only evaluator, including the exact +origin limit. Wave data remain confined to their outer-basis use. A new assertion +inside the existing central-remainder test checks both the exact turning point and +the origin with floating warnings promoted to errors. The seven-test count is +unchanged. No equation, integration tolerance, reference or protected source changed. + +The pre-refinement script, raw probe log and forward/reverse patch are retained in +the conversation evidence package. The original candidate is also Git commit +`52bc319675c2d77c894580059745f010a9fd2794`; its scientific report is not relabeled +as failed. The exact diagnostic code change is: + +```diff +--- a/tools/test_uniform_minimum.py ++++ b/tools/test_uniform_minimum.py +@@ -22,0 +23,8 @@ ++ ++ ++def local_coefficient(x: float, L: float, b: float): ++ """The central equation is regular even where a wave basis is singular.""" ++ if x == 0: ++ return complex(-b) ++ D = complex(L-np.log(abs(x)), np.pi if x > 0 else 0.) ++ return L/D-b +@@ -78,0 +87,3 @@ ++ with np.errstate(all='raise'): ++ self.assertEqual(local_coefficient(-np.exp(-16.), 16., .5), 0j) ++ self.assertEqual(local_coefficient(0., 16., .5), -.5+0j) +@@ -122 +133 @@ +- F = -b+0j if x == 0 else local_data(x, L, b)[0] ++ F = local_coefficient(x, L, b) +``` + +The refined frozen tree and hosted runs require their own completed reports. Do not +infer them from the initial pass or confuse this auxiliary probe with an interrupted +scientific verification. diff --git a/provenance/GATE_C_2026-10-04.json b/provenance/GATE_C_2026-10-04.json new file mode 100644 index 0000000..67e8021 --- /dev/null +++ b/provenance/GATE_C_2026-10-04.json @@ -0,0 +1,88 @@ +{ + "date": "2026-10-04", + "repository": "GoGoKo699/Logarithmic-Threshold-Return", + "base_commit": "f00281f6fa9310091c7da402142f1f4e5560f272", + "base_tree": "db408710b9370ed31df0b397be6e294c19b938e1", + "scope": "Author-side Gate C: uniform positive-minimum matching at fixed delta>0; no changed law or independent review.", + "recovered_source": { + "run_id": 37229542484, + "artifact_id": 11313273793, + "sha256": "47f5b22eee51b0cbe192300e3cc855388bed7b35afb4fa2d1f0c82a1291d96b2", + "tracked_files": 57, + "source_tree_match": true, + "method": "Authenticated GitHub artifact after public clone failed DNS; prior local Gate B patch not applied because current upstream already has a different checked Gate B implementation." + }, + "early_local_base_source_run": { + "status": "PASS", + "suite_count": 5, + "group_count": 28, + "case_count": 272, + "all_reference_bytes_identical": true, + "report_sha256": "83da0543ff11ec7d5a5a664f536acc0a3b233f725525381cc88ba8a6fa3e09e8", + "before_integrity": { + "status": "PASS", + "preserved_files": 27, + "local_links": 83, + "suites": 5 + }, + "after_integrity": { + "status": "PASS", + "preserved_files": 27, + "local_links": 85, + "suites": 5 + }, + "boundary": "Original scientific inputs unchanged. Addition of the new note overlapped this run, changing navigation links only; it is not labeled a frozen whole-tree run." + }, + "existing_tests": { + "infrastructure": 14, + "predecessor": 5, + "operational": 6, + "model_residual": 7, + "amplitude_identification": 7, + "reflection_matching": 6, + "status": "PASS" + }, + "new_checks": { + "count": 7, + "first_run": "PASS", + "report_sha256": "26f46c0806aed38d48ff200f1ee8c9b5f6ee590dac45dd17316118b4e198c314", + "original_272_members": false, + "sampled_sign_reversals": 169, + "scope": "Symbolic and finite integral/ODE diagnostics; not a supremum proof or long-time physical simulation.", + "initial_script_sha256": "02d7bc6223e585bd3e1762fee28751b3a5de5aec85fa600a8dfab709d87df681", + "refined_script_sha256": "7703afd291d29eb03bde1b4be1359f645d1d3644cd448809acfad229b4df52b1", + "refinement": "An extra exact-turning-point probe exposed unused singular wave-data evaluation in the central RHS. Coefficient-only evaluation and an exact-point assertion repair it without an equation or tolerance change. See archive/GATE_C_DIAGNOSTIC_REFINEMENT.md; first passing script/log/probe/patch retained." + }, + "preservation": { + "mapped_inputs": 27, + "protected_equations_changed": false, + "references_changed": false, + "comparison_or_workload_policy_changed": false + }, + "method_access": [ + { + "source": "NIST DLMF 19.12", + "url": "https://dlmf.nist.gov/19.12", + "depth": "HTML convergent elliptic series 19.12.1–3 and complementary modulus conventions", + "boundary": "Inherited local expansion, not new primary physics attribution." + }, + { + "source": "NIST DLMF 2.7(iii)", + "url": "https://dlmf.nist.gov/2.7#iii", + "depth": "HTML method context revisited", + "boundary": "No additional theorem imported; passive and shifted-defect bounds are derived explicitly." + } + ], + "operational_failures": [ + "Public git clone failed: Could not resolve host github.com. Source recovered by connector; no scientific run interrupted.", + "A clean-baseline launch selected its source directory as output and was rejected before any scientific suite. The corrected retry uses fresh baseline-frozen paths; rejected logs are retained." + ], + "decision": { + "gate_c": "Explicit uniform author-side route; no coefficient/domain correction found.", + "gate_d": "Next bounded task.", + "separate_report": "Absent.", + "manuscript": "On hold.", + "outreach": "None." + }, + "candidate_and_hosted": "Inspect frozen candidate and actual PR/main reports separately. Their success is not inferred from this baseline or stored prospectively here." +} diff --git a/research/CLAIMS.md b/research/CLAIMS.md index db1d3df..b0234de 100644 --- a/research/CLAIMS.md +++ b/research/CLAIMS.md @@ -13,7 +13,7 @@ positive-minimum and finite-volume domain are supporting parts of that statement |---|---|---|---| | Local unitary source and bound-state return | CORE, model; ASYMPTOTIC Sections 2–4 | Suite 05 coordinate/spectral comparison, suite 06 time/energy comparison | Site occupation is not the return projector | | Leading logarithmic law and coefficient | ASYMPTOTIC Sections 5–7, read together with AUDIT | Suites 06–07 scalar formulations, physical-band and boundary checks | Numerical convergence is not the matching proof | -| Positive-minimum law for b below one | ROUNDING Sections 2–4 | Suite 08 joint-coefficient and finite-time checks | No formula through b=1 or every fixed residual depth | +| Positive-minimum law for b below one | ROUNDING Sections 2–4; UNIFORM_MINIMUM | Suite 08 joint-coefficient and finite-time checks | No formula through b=1 or every fixed residual depth | | A finite-system family with the same limit | ROUNDING Section 6 | Suite 08 finite torus/coordinate and locality controls | Sufficient size is not necessary or optimized size | | Fixed positive unequal hoppings | SPECTRAL_SCOPE Sections 2–4 | Suite 09 resolvent, causality and scalar checks | Not uniform as transverse hopping vanishes | @@ -56,3 +56,7 @@ Full crossover, general trap universality, optimal volume, experimental superior and a joint apparatus are not claimed. The known terminology correction is in SPECTRAL_SCOPE: the lower-edge density is finite; the Green function is logarithmic. The original older wording is preserved, not silently rewritten. + +[Gate C](UNIFORM_MINIMUM.md) makes the positive-minimum quantifiers and shifted +negative-tail domination explicit. Its seven finite diagnostics are separate from +the preserved scientific suites and do not constitute an independent report. diff --git a/research/UNIFORM_MINIMUM.md b/research/UNIFORM_MINIMUM.md new file mode 100644 index 0000000..ffd7f9d --- /dev/null +++ b/research/UNIFORM_MINIMUM.md @@ -0,0 +1,242 @@ +# Gate C: uniform return while the trap stays attractive + +**4 October 2026. Author-side lemma chain, not a separate-reader report.** +This expands the uniformity argument in ROUNDING Sections 2–4, using the actual +[Gate B](REFLECTION_MATCHING.md) exact-lattice estimates and the +[Gate A](AMPLITUDE_IDENTIFICATION.md) physical-channel identification. The fixed +Hamiltonian, endpoint orbital, observable, coefficient and domain are unchanged. +All protected source files remain byte-preserved. No crossover or apparatus is claimed. + +## 1. Quantifiers and the physical parameters + +Fix $`0<\delta<1`$. All constants below may depend on this fixed margin but not on +$`b\in[0,1-\delta]`$. The case $`\delta=1`$ is just zero minimum. Parameterize the +whole family, rather than treating a sequence of fixed-$`b`$ examples: + +```math +\rho_0=\frac1{4\pi},\quad e_*=32e^{-L},\quad +u=\frac{b}{\rho_0L},\quad \alpha=\frac{e_*^2}{\rho_0L},\quad +T=\frac{\sqrt{(4-u)\rho_0L}}{e_*}. +``` + +For large $`L`$, uniformly $`0\le u\le u_*<4`$, and these definitions give exactly +$`\alpha=(4-u)/T^2`$ and the implicit logarithm equation in CORE. Remote time in +Gate A is still taken first at fixed $`\alpha,u`$. This parameterization does not +assert a new order of limits. Write + +```math +k=\sqrt{1-b}\in[\sqrt\delta,1],\qquad R=L^{1/4},\quad B=L^2, +\qquad F_b(x)=-\frac{\rho_0L}{g(e_*x)}-b,\quad +F_b^0(x)=\frac{L}{L-V(x)}-b, +\quad V=\ln|x|-i\pi\mathbf1_{x>0}. +``` + +The exact equation is $`y''+F_b y=0`$. The replacement error +$`\Delta=F_b-F_b^0`$ is **exactly independent of $`b`$**. Gate B Section 1 gives +its integrated central bound $`Ce_*R^2`$ and its outer derivative bounds +$`|\Delta^{(j)}|\le Ce_*|x|^{1-j}`$, $`j=0,1,2`$, on $`R\le|x|\le B`$. +Those bounds come from convergent elliptic series, not differentiation of an +unspecified remainder [C1]. The desired statement is uniform after an irrelevant +phase choice: + +```math +r_{L,b}=e^{i\theta_{L,b}}\left\{\frac{i\pi}{2L(1-b)} ++O_\delta\!\left(\frac1{LR}+\frac{R^2(1+\ln R)^2}{L^2}+e^{-cL}\right)\right\}. +``` + +The positive constant $`c`$ can be reduced to absorb polynomial factors. It does +not have to describe a sharp finite-$`L`$ error bar. + +## 2. Central transfer includes the forbidden region + +A second exact cancellation of the offset is decisive: + +```math +F_b-k^2=F_0-1,\qquad +F_b^0=k^2+\frac VL+\frac{V^2}{L(L-V)}. +``` + +The subscript $`0`$ on $`F_0`$ here means the exact zero-minimum coefficient. +For $`|x|<1`$, put $`t=-\ln|x|`$. The measure becomes $`e^{-t}dt`$ and +$`|L-V|\ge L`$. On $`1\le|x|\le R`$, $`\operatorname{Re}(L-V)\ge L/2`$ +eventually. Thus, without removing any neighborhood of zero, + +```math +F_b=k^2+V/L+\mathcal R,\qquad +\|\mathcal R\|_1\le C\frac{1+R(1+\ln R)^2}{L^2}+Ce_*R^2,\qquad +\|F_b-k^2\|_1\le C\frac{R(1+\ln R)}L+Ce_*R^2. +``` + +These constants are independent even of $`b`$ before conversion to wave amplitudes. +At zero $`F_b\to-b`$, so a uniform pointwise expansion would be false. For $`b>0`$ +there is one negative-energy turning point: $`W(\eta)=1/G(\eta)=u`$ with +$`G(\eta)=-g(-\eta)`$. Monotonicity of $`G`$ makes it unique. At +$`|x|=e^{-\delta L/2}`$, the exact unshifted coefficient is +$`(1+\delta/2)^{-1}+o(1)>1-\delta`$. Therefore the turning point lies at +$`|x_t|0`$ on the **whole** negative outer interval. It rules out +additional outer turning points without an approximation at deep energies. + +For the unit-mass positive spectral measure, +$`G'= -\int\rho(E)(E+\eta)^{-2}dE`$ and +$`G''=2\int\rho(E)(E+\eta)^{-3}dE`$. Cauchy–Schwarz gives +$`GG''\ge2G'^2`$, hence $`W'>0`$ and $`W''\le0`$. With derivatives now taken +in $`\eta`$, the exact physical-energy change of variables yields + +```math +\mathcal I_-(u)=\sqrt\alpha\int_a^\infty +\left[\frac{5W'^2}{16(W-u)^{5/2}}-\frac{W''}{4(W-u)^{3/2}}\right]d\eta. +``` + +Both displayed terms are nonnegative. Their powers of $`W-u`$ can therefore be +bounded separately, without losing a cancellation or differentiating an asymptotic: + +```math +\boxed{\mathcal I_-(u)\le(2/\delta)^{5/2}\mathcal I_-(0) +=O_\delta((LR)^{-1})+O_\delta(\sqrt\alpha).} +``` + +Here $`\mathcal I_-(0)`$ uses the same $`\alpha,a`$; it is the exact integral +already bounded in Gate B Section 3, not a second physical cycle. On this interval +$`q,h`$ are real and current passivity gives $`|r|\le1`$. The phase-adjusted +reflection changes by at most $`2\mathcal I_-(u)`$ on passage to the deep-bound +coefficients. The factor $`\sqrt\alpha`$ and the positive-margin inequality are +both essential. Copying the zero-minimum integral without shifting its denominators +would not establish the desired uniformity. + +## 5. Endpoint cancellation, coefficient and finite-time comparison + +At $`s=\pm R`$, let $`\mathsf P_k(s)`$ have columns +$`k^{-1/2}(1,\mp ik)^T e^{\mp iks}`$ and let $`\mathsf W_b(s)`$ have columns +$`q^{-1/2}(1,-h/2\mp iq)^T e^{\mp iks}`$. Direct inversion gives + +```math +\mathsf P_k(s)^{-1}\mathsf W_b(s) +=I-\frac{V(s)}{4Lk^2} +\begin{pmatrix}0&e^{2iks}\\e^{-2iks}&0\end{pmatrix} ++O_\delta\!\left(\frac1{LR}+\frac{(1+\ln R)^2}{L^2}+e_*R\right). +``` + +The normalization removes the linear diagonal term for every permitted $`k`$. +Composing the right basis, backwards central transfer and inverse left basis, +then expanding the incident denominator, gives + +```math +r_c=-\frac{i}{2kL}\int_{-R}^RV e^{-2ikx}dx +-\frac{V(R)e^{-2ikR}-V(-R)e^{2ikR}}{4Lk^2}+O_\delta(\mathcal Q_L) +=\frac{i[2\operatorname{Si}(2kR)+\pi]}{4Lk^2}+O_\delta(\mathcal Q_L), +``` + +where $`\mathcal Q_L=(LR)^{-1}+R^2(1+\ln R)^2/L^2+e^{-cL}`$. +The identity uses both terms of +$`V'=\operatorname{PV}(1/x)-i\pi\delta(x)`$. The bound +$`|\operatorname{Si}(2kR)-\pi/2|\le1/(kR)`$ is uniform for +$`k\ge\sqrt\delta`$. Sections 3–4 give the claimed auxiliary amplitude in +Section 1, with remainder $`O_\delta(L^{-5/4})`$. + +Gate A's uniform $`O(T^{-1})`$ amplitude-modulus comparison applies because +$`u\le u_*<4`$ eventually. In this parameterization +$`T^{-1}=O(e^{-L}/\sqrt L)`$ uniformly. Squaring, and using +$`\pi/[2L(1-b)]\ge\pi/(2L)`$, proves the explicit uniform conclusion + +```math +\sup_{0\le b\le1-\delta} +\left|\frac{4L^2(1-b)^2}{\pi^2}P_\infty(T(L,b),u(L,b))-1\right| +=O_\delta(L^{-1/4})\longrightarrow0. +``` + +This is the already claimed joint law, with its quantifiers exposed. It is not +uniform as $`\delta\downarrow0`$, is not a statement at $`b=1`$, and does not +supply a fixed-positive-$`u`$ crossover or a finite-volume proof. + +## Decision, diagnostics and source boundary + +**Gate C has an explicit author-side uniform route; no coefficient or domain +correction was found.** The useful additions are the offset-independent central +perturbation, a sign-independent passive denominator, and domination of the exact +shifted negative-tail defect. These are the passages for a separate reader to test. + +`python tools/test_uniform_minimum.py --output NEW_PATH.json` supplies small +symbolic, integral and finite-ODE diagnostics. Their sampled parameter values do +not prove the supremum above. They do not simulate exponentially long physical +cycles, add to the original 272 controls, or constitute independent review. +Gate D, model-matched implementation and a genuinely separate report remain open. +Manuscript drafting, broad source collection and outreach remain on hold. + +[C1] NIST DLMF [Section 19.12](https://dlmf.nist.gov/19.12), Eqs. 19.12.1–3: +HTML convergent series and complementary-modulus convention checked again in this +pass. This supports the inherited local expansion only. No new primary physics +comparison, third-party PDF, textbook reading or tutorial selection is asserted. diff --git a/tools/test_uniform_minimum.py b/tools/test_uniform_minimum.py new file mode 100644 index 0000000..b3dda53 --- /dev/null +++ b/tools/test_uniform_minimum.py @@ -0,0 +1,279 @@ +#!/usr/bin/env python3 +"""Small Gate C diagnostics; finite sampling is not a uniformity proof. + +No original scientific script or saved result is rewritten. Optional JSON output +is exclusive-create. Run: python tools/test_uniform_minimum.py --output NEW.json +""" +from __future__ import annotations +import argparse +import json +from pathlib import Path +import unittest + +import mpmath as mp +import numpy as np +import sympy as sp +from scipy.integrate import quad, solve_ivp +from scipy.special import sici + +from test_reflection_matching import negative_green, complex_quad + +REPORT: dict[str, object] = {} +RHO = 1/(4*np.pi) + + +def local_coefficient(x: float, L: float, b: float): + """The central equation is regular even where a wave basis is singular.""" + if x == 0: + return complex(-b) + D = complex(L-np.log(abs(x)), np.pi if x > 0 else 0.) + return L/D-b + + +def local_data(x: float, L: float, b: float): + """F, q, h and Omega, only at nonzero x where this basis is used.""" + if x == 0: + raise ValueError('Wave data are undefined at the central turning point.') + D = complex(L-np.log(abs(x)), np.pi if x > 0 else 0.) + F = L/D-b + F1 = L/(x*D*D) + F2 = L*(2-D)/(x*x*D**3) + q = np.sqrt(F) + return F, q, F1/(2*F), 5*F1*F1/(16*F*F)-F2/(4*F) + + +def wave_matrix(x: float, L: float, b: float): + _, q, h, _ = local_data(x, L, b) + k = np.sqrt(1-b) + w = q**(-.5)*np.exp(np.array([-1j*k*x, 1j*k*x])) + return np.vstack((w, np.array([-h/2-1j*q, -h/2+1j*q])*w)) + + +def defect(eps: float, u: float): + """Exact shifted physical-energy defect before its sqrt(alpha) factor.""" + G, G1, G2 = negative_green(eps) + kappa = 1-u*G + if kappa <= 0: + raise ValueError('Negative-tail integration entered the forbidden region.') + term1 = 5*G1*G1/(16*G**1.5) + term2 = (G*G2-2*G1*G1)/(4*G**1.5) + return term1/kappa**2.5+term2/kappa**1.5 + + +class UniformMinimumTests(unittest.TestCase): + def test_symbolic_offset_frame_and_shifted_defect(self): + x, k = sp.symbols('x k', real=True, positive=True) + v, t = sp.symbols('v t', real=True) + q = sp.sqrt(k*k+t*v) + phase = sp.diag(sp.exp(-sp.I*k*x), sp.exp(sp.I*k*x)) + plane = sp.Matrix([[1, 1], [-sp.I*k, sp.I*k]])*phase/sp.sqrt(k) + wave = sp.Matrix([[1, 1], [-sp.I*q, sp.I*q]])*phase/sp.sqrt(q) + derivative = (plane.inv()*wave).diff(t).subs(t, 0) + target = -v/(4*k*k)*sp.Matrix([[0, sp.exp(2*sp.I*k*x)], + [sp.exp(-2*sp.I*k*x), 0]]) + self.assertEqual((derivative-target).applyfunc(sp.simplify), sp.zeros(2)) + F, b = sp.symbols('F b') + self.assertEqual(sp.expand((F-b)-(1-b)-(F-1)), 0) + G, G1, G2, u = sp.symbols('G G1 G2 u', real=True) + W1, W2 = -G1/G**2, (2*G1**2-G*G2)/G**3 + # Verify the polynomial numerators after multiplying out positive roots. + lhs = 5*W1**2*G**4/16-W2*G**3*(1-u*G)/4 + rhs = 5*G1**2/16+(G*G2-2*G1**2)*(1-u*G)/4 + self.assertEqual(sp.factor(lhs-rhs), 0) + REPORT['symbolic_identities'] = 'offset, endpoint frame, shifted defect numerator' + + def test_integrated_central_remainder_including_core(self): + rows = [] + with np.errstate(all='raise'): + self.assertEqual(local_coefficient(-np.exp(-16.), 16., .5), 0j) + self.assertEqual(local_coefficient(0., 16., .5), -.5+0j) + for L in (16., 64., 256.): + R = L**.25 + # x=exp(-t): the full central core t in [0,infinity) is included. + small, outer = 0., 0. + for jump in (0., np.pi): + small += quad(lambda t: np.exp(-t)*abs(complex(-t, -jump)**2 + /(L*complex(L+t, jump))), 0., np.inf, + epsabs=2e-12, epsrel=2e-11)[0] + outer += quad(lambda x: abs(complex(np.log(x), -jump)**2 + /(L*complex(L-np.log(x), jump))), 1., R, + epsabs=2e-12, epsrel=2e-11)[0] + scale = (1+R*(1+np.log(R))**2)/L**2 + self.assertLess((small+outer)/scale, 20.) + for b in (0., .4, .8): + for x in (-.03, -.5, 1.2, R): + V = complex(np.log(abs(x)), np.pi*-float(x > 0)) + exact_remainder = (L/(L-V)-b)-(1-b)-V/L + self.assertLess(abs(exact_remainder-V*V/(L*(L-V))), 1e-14) + delta = .2 + xc = np.exp(-delta*L/2) + e_star = 32*np.exp(-L) + exact_at_cut = RHO*L/negative_green(e_star*xc)[0] + self.assertGreater(exact_at_cut, 1-delta) + # Local turning points are never used as integration cutoffs. + for b in (.2, .5, .8): + log_xt = -L*(1/b-1) + value_at_turn = L/(L-log_xt)-b + self.assertLess(abs(value_at_turn), 1e-14) + self.assertLess(log_xt, -delta*L/2) + rows.append(dict(L=L, full_core_remainder=small, outer_remainder=outer, + integral_over_declared_scale=(small+outer)/scale, + exact_coefficient_at_uniform_core_cut=exact_at_cut)) + REPORT['central_integrals_no_deleted_core'] = rows + + def test_finite_central_transfers_with_varying_b(self): + rows = [] + for L in (64., 256., 1024.): + R = L**.25 + for label, b in (('zero', 0.), ('interior', .4), ('margin', .8), + ('varying', .8*(1-1/np.sqrt(L)))): + k = np.sqrt(1-b) + y = wave_matrix(R, L, b)[:, 0] + def rhs(x, state): + F = local_coefficient(x, L, b) + return np.array([state[1], -F*state[0]]) + for lo, hi in ((R, 0.), (0., -R)): + sol = solve_ivp(rhs, (lo, hi), y, method='DOP853', + rtol=2e-12, atol=2e-13) + self.assertTrue(sol.success, sol.message) + y = sol.y[:, -1] + coeff = np.linalg.solve(wave_matrix(-R, L, b), y) + r = coeff[1]/coeff[0] + leading = 1j*(2*sici(2*k*R)[0]+np.pi)/(4*L*k*k) + scale = 1/(L*R)+R*R*(1+np.log(R))**2/L**2 + scaled = abs(r-leading)/scale + self.assertLess(scaled, 4/(k**4)) + # Check the boundary cancellation without a distribution solver. + integral = (complex_quad(lambda x: np.log(-x)*np.exp(-2j*k*x), -R, 0.) + +complex_quad(lambda x: (np.log(x)-1j*np.pi)*np.exp(-2j*k*x), 0., R)) + boundary = (np.log(R)-1j*np.pi)*np.exp(-2j*k*R)-np.log(R)*np.exp(2j*k*R) + self.assertLess(abs(-1j*integral/(2*k*L)-boundary/(4*L*k*k)-leading), 2e-11) + rows.append(dict(L=L, b=b, family=label, reflection=[float(r.real), float(r.imag)], + finite_window_leading=[0., float(leading.imag)], + discrepancy_over_scale=float(scaled))) + REPORT['finite_transfer_not_exponential_time_simulation'] = rows + + def test_passive_bound_without_imaginary_h_sign(self): + rows, reversed_signs = [], 0 + L = 16. + R, B = L**.25, L*L + for b in (0., .6, .8): + grid = np.geomspace(R, B, 120) + data = [local_data(float(x), L, b) for x in grid] + reversed_signs += sum(h.imag > 0 for _, _, h, _ in data) + self.assertTrue(all(q.real > 0 and abs(h) <= q.real for _, q, h, _ in data)) + A = quad(lambda x: -local_data(x, L, b)[1].imag, R, B, epsabs=1e-10)[0] + I = quad(lambda x: abs(local_data(x, L, b)[3]/local_data(x, L, b)[1]), + R, B, epsabs=2e-12)[0] + bound = 7*np.exp(-2*A)+32*I + for label, m in (('real', 0j), ('passive', 2-3j), ('dirichlet', None)): + _, q, h, _ = local_data(B, L, b) + terminal = -1+0j if m is None else (m+h/2+1j*q)/(1j*q-m-h/2) + if m is not None: + self.assertGreaterEqual(abs(1j*q-m-h/2), q.real-abs(h)/2-1e-14) + self.assertLess(abs(terminal), 7.) + def rhs(x, z): + _, qx, _, omega = local_data(x, L, b) + return 2j*qx*z+1j*omega*(1+z)**2/(2*qx) + sol = solve_ivp(rhs, (B, R), np.array([terminal]), method='DOP853', + rtol=2e-10, atol=2e-12) + self.assertTrue(sol.success, sol.message) + r = abs(sol.y[0, -1]) + self.assertLess(r, bound+1e-8) + self.assertLess(np.max(abs(sol.y[0])), 7.) + rows.append(dict(L=L, b=b, termination=label, attenuation=A, + integrated_defect=I, passive_bound=bound, observed=float(r))) + self.assertGreater(reversed_signs, 0) + REPORT['positive_h_imaginary_part_samples'] = reversed_signs + REPORT['finite_passive_examples_not_physical_far_band'] = rows + + def test_exact_shifted_negative_tail_domination(self): + rows = [] + for L in (16., 32., 64.): + R = L**.25; e_star = 32*np.exp(-L) + root_alpha, a = e_star/np.sqrt(RHO*L), e_star*R + def integral(u): + middle = quad(lambda z: root_alpha*defect(a*np.exp(z), u)*a*np.exp(z), + 0., np.log(128/a), epsabs=2e-12, epsrel=2e-10, limit=200)[0] + far = root_alpha*quad(lambda eps: defect(eps, u), 128., np.inf, + epsabs=2e-10, epsrel=2e-10, limit=200)[0] + return middle+far + I0 = integral(0.) + for b in (0., .4, .8, .8*(1-1/L)): + u = b/(RHO*L); kappa = 1-u*negative_green(a)[0] + self.assertGreaterEqual(kappa, .1) + Ib = integral(u) + bound = kappa**(-2.5)*I0 + self.assertGreater(Ib, 0.) + self.assertLessEqual(Ib, bound+1e-11) + for eps in np.geomspace(a, 128., 25): + G, G1, G2 = negative_green(float(eps)) + self.assertGreaterEqual(1-u*G, kappa-1e-12) + self.assertGreaterEqual(G*G2-2*G1*G1, -1e-10*max(G*G2, 1.)) + rows.append(dict(L=L, b=b, margin_at_cutoff=kappa, defect_integral=Ib, + exact_margin_domination_bound=bound, + L_R_times_defect=L*R*Ib)) + REPORT['exact_shifted_negative_tail_integrals'] = rows + + def test_shifted_exact_lattice_root_and_derivative_control(self): + rows = [] + with mp.workdps(80): + for L0 in (16, 32): + L = mp.mpf(L0); e_star = 32*mp.exp(-L) + for x in (L**mp.mpf('.25'), L*L): + def unshifted(t): + E = e_star*t + a = (E-4)**2/16 + G = -(mp.ellipk(a)+1j*mp.ellipk(1-a))/(2*mp.pi) + return -L/(4*mp.pi*G) + exact0 = [mp.diff(unshifted, x, j) for j in range(3)] + D = L-mp.log(x)+1j*mp.pi + loc0 = [L/D, L/(x*D**2), L*(2-D)/(x*x*D**3)] + for b0 in (0, .4, .8): + b = mp.mpf(str(b0)) + def basis(dat): + F, F1, F2 = dat[0]-b, dat[1], dat[2] + q = mp.sqrt(F); h = F1/(2*F) + omega = 5*F1**2/(16*F**2)-F2/(4*F) + return q, h, omega/q + exact, local = basis(exact0), basis(loc0) + ratios = [abs(exact[0]-local[0])/(e_star*x), + abs(exact[1]-local[1])/e_star, + abs(exact[2]-local[2])/(e_star/x+e_star**2)] + self.assertLess(max(ratios), 100.) + rows.append(dict(L=L0, x=float(x), b=b0, + scaled_root_h_defect_differences=[float(v) for v in ratios])) + REPORT['shifted_exact_lattice_derivative_diagnostics'] = rows + + def test_parameter_identity_and_uniform_endpoint_scale(self): + rows = [] + for L in (16., 64., 256.): + for b in (0., .4, .8, .8*(1-1/np.sqrt(L))): + u = b/(RHO*L) + log_T = .5*np.log((4-u)*RHO*L)-np.log(32)+L + implicit = log_T+np.log(32)-.5*np.log((4-u)*RHO) + self.assertLess(abs(implicit-L-.5*np.log(L)), 2e-13) + self.assertLess(u, 1.) + relative_tail_scale = L**1.25*np.exp(-log_T) + self.assertLess(relative_tail_scale, 1e-4) + rows.append(dict(L=L, b=b, u=u, log_T=log_T, + L_to_five_fourths_over_T=relative_tail_scale)) + REPORT['physical_parameter_and_endpoint_identities'] = rows + + +if __name__ == '__main__': + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--output', type=Path) + args = parser.parse_args() + if args.output is not None and args.output.exists(): + parser.error('Output exists; choose a fresh path.') + result = unittest.TextTestRunner(verbosity=2).run( + unittest.defaultTestLoader.loadTestsFromTestCase(UniformMinimumTests)) + REPORT.update(status='PASS' if result.wasSuccessful() else 'FAIL', + tests_run=result.testsRun, failures=len(result.failures), errors=len(result.errors), + scope='Finite Gate C checks; not a uniform proof, device claim or original-suite extension.') + if args.output is not None: + args.output.parent.mkdir(parents=True, exist_ok=True) + with args.output.open('x', encoding='utf-8') as f: + json.dump(REPORT, f, indent=2, allow_nan=False); f.write('\n') + raise SystemExit(0 if result.wasSuccessful() else 1) diff --git a/work_orders/CURRENT.md b/work_orders/CURRENT.md index ca55ae0..40613da 100644 --- a/work_orders/CURRENT.md +++ b/work_orders/CURRENT.md @@ -1,55 +1,59 @@ -# Current work order: challenge uniform positive-minimum return +# Current work order: scrutinize the finite-volume comparison -**4 October 2026, after the reflection-matching pass.** Work only in +**4 October 2026, after the uniform-minimum pass.** Work only in `GoGoKo699/Logarithmic-Threshold-Return`. The fixed Hamiltonian, observable, coefficient and claimed domain are unchanged. Manuscript and outreach remain on hold. -## What Gate B supplied - -research/REFLECTION_MATCHING.md expands the zero-minimum proof. It displays the -central plane-wave transfer and both endpoint basis matrices, retaining the -principal-value and causal delta contributions. Positive-side control is based on -the actual retarded current, with a nonsingular reflection chart and an explicit -exact-lattice bound. The entire negative tail is controlled directly through the -positive spectral measure, with the energy-coordinate factor retained. - -The resulting phase-adjusted auxiliary amplitude is i*pi/(2L)+O(L^(-5/4)); Gate A -supplies the finite-endpoint amplitude-modulus comparison. This is author-side -reasoning, not independent review or a new physical result. No protected proof was -rewritten. Six small diagnostic tests remain separate from the original 272 controls. -The initial structural symbolic-zero failure and exact repair are archived. - -## Next bounded task: Gate C, not a crossover campaign - -Read READER_PACKET Gate C, ROUNDING Sections 2–4, and REFLECTION_MATCHING. Test -uniformity over every 0<=b<=1-delta for fixed delta>0, not merely each fixed b. - -Track the central transfer constants with q0=sqrt(1-b), including the exponentially -narrow turning region; no pointwise Taylor expansion or removal of that region is -permitted. Check the physical-to-local replacement and the passive denominator -without assuming the zero-minimum sign of Im(h). The direct negative-tail estimate -now involves W-u and must be justified uniformly, not copied from W alone. Keep the -uniform finite-endpoint estimate and the relation among u, alpha, L and T explicit. - -Produce either a concise uniform lemma chain with all amplitude errors o(1/L), -or a concrete objection naming the earlier passage and affected claim. Stop there. -Do not extend through b=1, solve the complete crossover, optimize lattice size, -change the cycle, or adopt another detector/platform. A required coefficient or -domain correction must be recorded and approved before any protected-file edit. -Gate D's finite-volume scrutiny remains a separate task. +## What Gate C supplied + +research/UNIFORM_MINIMUM.md exposes the supremum over every 0<=b<=1-delta for fixed +delta>0. Subtracting b from both the exact coefficient and its reference wave number +leaves the central perturbation independent of b. The full integrable singular core +and its exponentially narrow forbidden region are retained, not cut out. + +The passive denominator is controlled without assuming the zero-minimum sign of +Im(h). On the entire negative outer interval, W-u>=(delta/2)W, and positivity of +the two exact defect terms gives I_minus(u)<=(2/delta)^(5/2) I_minus(0), at the same +alpha and cutoff. This supplies a uniform author-side matching route and the old +coefficient pi^2/[4L^2(1-b)^2], without changing protected proof files or extending +through b=1. Seven small tests include varying-b examples but are not a proof by +sampling or additions to the original 272 controls. + +## Next bounded task: Gate D + +Read READER_PACKET Gate D and ROUNDING Section 6, with CORE's finite-size statement. +Reconstruct the endpoint-state comparison between the finite torus and infinite +lattice, including normalization, energy dependence and phase choice. Do not assume +that the initial vector is compactly supported or the finite and infinite states +are identical. + +Check the weighted hopping estimate on each geometry, the periodic seam residual +and the time-integrated comparison. Explain why the real, even-time Hamiltonian +makes the return amplitude the midpoint bilinear psi(0)^T psi(0), not its norm. +Propagate the midpoint state error to this amplitude uniformly in the stated b +family. Verify that mu=1/2 and n(T)=2 ceil(4.5T)+1 yield o(1/L) error, including +the endpoint localization condition and all size-independent constants. + +Produce a concise lemma chain or a concrete objection identifying the affected +passage. Do not optimize the lattice size, change boundaries or the cycle, solve +the residual-depth crossover, or adopt a different detector or platform. A required +coefficient/domain correction must be recorded and approved before editing protected +files. A completed author-side pass would still not be the absent separate report. ## Evidence, preservation and stopping rule Pin current main and read WORKSPACE.md, AGENTS.md and STATUS.md. Run integrity, -all existing supplementary tests and every preserved scientific suite in fresh -output paths. Include tools/test_reflection_matching.py, whose optional JSON -output is exclusive-create. Preserve raw failures, numerical differences and -exact reference bytes. Inspect actual candidate, PR and post-merge runs separately. -The source/workload policy and all 27 mapped inputs remain unchanged. - -provenance/GATE_B_2026-10-04.json records this pass's base and local evidence; -subsequent hosted results must be obtained from their reports, not inferred. -A fresh assistant pass is not the absent separate-reader report. No invitations -or other outside contact are authorized. Broad source collection remains paused; -reopen a physical premise only for model-matched evidence. Implementation and -priority limitations remain in the existing support/mismatch map. +all supplementary tests including tools/test_uniform_minimum.py, and all five +preserved scientific suites in fresh output paths. Keep raw failures and every +numerical difference; report byte equality separately from assertion success. +Inspect actual candidate, PR and post-merge reports, not only workflow badges. + +All 27 mapped inputs, original references, and comparison/workload policy remain +unchanged. provenance/GATE_C_2026-10-04.json pins the incoming source and local +scope; later hosted outcomes require their own evidence. Other repositories and +the earlier unmerged alternate Gate B package are not imported into this work. + +Broad source collection remains paused. Implementation and priority gaps remain +explicit in the support/mismatch map. No manuscript, release or outside invitation +is initiated. After the bounded proof scrutiny, consolidate rather than adding +new models to prolong development.