Repository navigation
Dirty-host gauge binding: entry/exit gauges and credit <= H_end for hosted pending factors - #1837
Conversation
Aaron Wang, with help from opencode. Scoped interface receipt answering an664's handoff (discussions/1166#discussioncomment-18916098) and PR 1664's open next questions 1-2: exact entry/exit gauges for the idle-axis hosted residual move and a per-cut credit allocation showing credit <= H_end for restored hosts, verified on 156 complete toy regions with exact rational arithmetic and four failure controls. No kappa claim; scope changed from the drawn persistent-boundary object (covered by concurrent PR 1739).
|
The finite cut/credit replay passes, but Finding 1 states an operator-level “exactly when” that the examples do not establish. Absence of individually noncommuting touches is sufficient, not necessary for equality of the complete composition. Over Q take R=I+E01, T=I+E12, and T⁻¹=I−E12. Both T and T⁻¹ fail to commute with R, yet moving R across the consecutive touches T,T⁻¹ preserves the complete operator: T⁻¹ T R = R T⁻¹ T = R. I checked these 3×3 matrices exactly. Similarly, disjointness is a sufficient legality premise of the inherited hosting interface, rather than an unrestricted necessary condition for operator equality. Please state the inherited interface as sufficient hypotheses, or explicitly restrict the necessity claim and prove it in that class. This does not invalidate the useful tiny cut examples or suggest a defect in the selected no-touch hosting rule. The distinction matters because the current wording would incorrectly close cancellation-based future routes. |
…hen" Aaron Wang, with help from opencode. Reviewer follow-up on CrocSwap#1837 (comment CrocSwap#1837 (comment)): Finding 1's operator-level "exactly when" was not established by the examples. Reproduced the reviewer's exact 3x3 counterexample over Q (R = I + E01, T = I + E12, T^{-1} = I - E12: both touches fail to commute with R, yet T^{-1} T R = R T^{-1} T = R) and added it as the regression control cancellation-equality-not-rejected in verify.py, which the now sufficient-only condition must not reject. README.md, TASK.json and VERIFY.json state the inherited interface conditions (own factor on S', no intervening host touch, disjoint hosted blocks) as sufficient legality hypotheses for operator equality; no necessity claim is made, and cancellation-based routes stay open. The tiny cut examples and the selected no-touch hosting rule are unchanged and remain valid. All package checks pass: PASS_DIRTY_HOST_GAUGE_BINDING, PASS_REGISTERED_RESEARCH_PACKAGE research/dirty-host-gauge-binding-seedea2e outcome=completed, 42 tests OK.
|
Follow-up: Finding 1 corrected to sufficient hypotheses (Aaron Wang, with help from opencode) Verified the review comment (#1837 (comment)) before changing anything: its counterexample is exact, and the "exactly when" wording was wrong. Correction pushed in commit navinor@313dca9 on this PR's branch. Reproduced counterexample (exact, two independent scripts)Over Q, with Both Old vs new wordingFinding 1, old: "The hosting move leaves the complete operator unchanged exactly when the moved factor is the advance's own factor on Finding 1, new (README.md, TASK.json, VERIFY.json, and this PR's description, corrected in place): "The hosting move leaves the complete operator unchanged whenever the moved factor is the advance's own factor on Disjointness premise, old: presented as a conjunct of the "exactly when", with the control message "overlapping hosted blocks are order-dependent: disjointness (count each pending factor once) is required for an order-free composition". Disjointness premise, new: "the exhibited overlapping hosted blocks are order-dependent; disjointness (count each pending factor once) is the inherited interface's sufficient premise for an order-free composition." Disjointness is a sufficient legality premise of the inherited hosting interface, not an unrestricted necessary condition for operator equality. What the corrected hypotheses do and do not closeThey do close: they certify operator equality of the hosting move whenever they hold, and none can simply be deleted from the sufficient set — the three smallest counterexamples remain as controls (escaping block gives a different endpoint; a single out-of-window noncommuting touch breaks the composition; the exhibited overlapping blocks are order-dependent). They do not close: necessity. Cancellation-based routes remain open. The Unchanged and still valid: the tiny cut examples (the double-duty-borrow and absorbed-endpoint-with-separate-target falsifiers at cut 1, the section 5.2 fixture of #1664 with its M<=6 mutant, and all 156 enumerated restored-host regions with Remaining obligations
Checks on the corrected treepython3.12 -B research/dirty-host-gauge-binding-seedea2e/verify.py
python3.12 scripts/research_package.py --package research/dirty-host-gauge-binding-seedea2e --check-only
python3.12 scripts/research_package.py --package research/dirty-host-gauge-binding-seedea2eAll pass on commit navinor@313dca9: |
Result
Scoped interface receipt, no kappa claim: what a hosted pending factor may claim credit for. It answers the explicit open request in the handoffs thread (#1166 (comment)) and open next questions 1-2 of #1664 (
research/dirty-host-cutrank-audit/): bind a hosted residual's claimed credit to exact host entry/exit gauges and to the history-span endpoint termH_end, on the smallest complete instances.Package:
research/dirty-host-gauge-binding-seedea2e/. The model is PR 1664's scalar common-frame transport model (its PROOF.md sections 4-5) applied to the idle-axis hosted-residual mechanism (research/idle-axis-hosting/PROOF.md).Finding 1 (operator gauges, exact; sufficient hypotheses). The hosting move leaves the complete operator unchanged whenever the moved factor is the advance's own factor on the hosted block
S', no touch of the host occurs strictly between the residual application and the advance (more generally, every such touch commutes with the moved factor), and hosted blocks are disjoint (each useful pending factor counted once). These are sufficient legality hypotheses of the inherited hosting interface, not a necessary condition for operator equality, and no necessity claim is proved for any class. Exact 3x3 counterexample over Q (R = I + E01,T = I + E12,T^{-1} = I - E12; regression controlcancellation-equality-not-rejectedinverify.py): bothTandT^{-1}fail to commute withR, yetT^{-1} T R = R T^{-1} T = R, so cancellation-based routes remain open and are not closed by this receipt. Each dropped gauge still has a smallest counterexample as composed linear maps (3x3 shears): escaping block, a single out-of-window non-commuting touch, exhibited overlapping order-dependent blocks; these show the hypotheses cannot simply be deleted, not that any of them is necessary. The tiny cut examples (including the 156 regions below) and the selected no-touch hosting rule remain valid as they stand. Wording corrected after review comment #1837 (comment).Finding 2 (credit binding, smallest complete instances first). With hosts restored and the clean scatter
Y' = Y + S Xdemanded at height 0 (PR 1664 section 5.1's contract), the exact per-cut demand identitysum_j need_j = q*rank(S) + H_endholds on all 156 enumerated tiny regions (every binaryt x mscatter matrix,m,t <= 2,w <= 2, host motions(a,b)in{(1,0),(2,0),(2,1)}). The smallest double-duty borrow (one host rowddescending1 -> 0carryingd+xwhile bothy'=y+xand a restoreddare demanded) is refuted at cut 1 by exactly one direction, both by the count (D_j = 1 < 2) and by span feasibility. So a hosted factor's creditable mass is exactly its host's displacementH_end: the scatter term cannot be hosted away while hosts are restored, and the double-credit loop is the smallest refuted instance. This instantiates PR 1664's "show that the claimed hosting credit isH_end" affirmatively for the toy class.Finding 3 (the only free route is a contract change). A host crossing may deliver a hosted direction at zero extra mass only if the host's own prescribed endpoint absorbs that direction and no separate target or restoration demand survives — i.e. only by dropping PR 1664's clean-scatter/restoration obligations, an endpoint-contract change that must be charged against the data endpoint. That is the precise accounting interface between "hosting credit" and "unpaid coordinate", the quantity the coverage-law line (#1587) changes. A pre-positioned copy of the host dirt below the cut earns no credit (PR 1664 section 7 instantiated as a machine check).
Evidence and reproduction
All three pass locally (Python 3.12.14, stdlib only); the registered replay ends
PASS_REGISTERED_RESEARCH_PACKAGE research/dirty-host-gauge-binding-seedea2e outcome=completed. Exact rational arithmetic throughout; entry rows are an identity basis, so row equality covers arbitrary dirty inputs by linearity. Smallest falsifying instances run first, with three gauge failure controls, a PR 1664 section 5.2 canonical-arithmetic fixture (M=8 =H_end + q*r) and an M<=6 mutant that is refused.Also run and passing:
python3.12 -B -m unittest discover -s tests -p 'test_research_*.py'(42 tests OK, including the metadata/pin checks).Scope, limits, obligations
recursive-interfaces, cardpersistent-boundary, scope changed (reason inTASK.json): the drawn consecutive dirty-connector object is covered by open concurrent Add rank-one connector transition across source updates #1739 and the adjacent-call centre-fanout claim in CLAIM: can the centre path be hosted on idle coordinates like helper residuals? (ctoth, expires 05:00Z) #1516 (2026-10-14T11:11Z); this takes the handoff request instead, keeping the card's method-2 shape (a lower bound on the compulsory transitions of one proposed typed interface). Claim/receipt: Handoffs and requests for independent checks #1166 (comment).w*|a-b|per host row), wrappers/spectators/gauge charts (PR 1664's non-nested-frame warning stays open here), physical and production admission, any selected-word application (including the separate 88-by-8 scatter receipt), and any kappa, supplier or frontier change. Finite toy checks do not certify the universal written statements of PR 1664 or idle-axis hosting. The whole-construction budget and thea < D/Ediagnostic are not applicable to an interface receipt.makeis not installed, somake selected-record-check/make frontier1094-verifywere not run; the selected-record pin is instead validated insideresearch_package.py --check-only.Credit
Prepared by Aaron Wang, with help from opencode (substantial AI assistance, disclosed in
TASK.json).Predecessors (read, not modified): Andrey Mas / an664's #1664 (
research/dirty-host-cutrank-audit/, including its GPT-6 Pro review) and the handoff #1166 (comment); ctoth's dirty-host implication and branching-tree bound in #1516; DaysSky'sresearch/idle-axis-hosting; and the lineage recorded in PR 1664's SOURCES.json (icekylinx, DreamingOfClouds, jeremykothe2, rohanarun, Dennis / @antunishdPursuit). Complementary, not competing: #1739 (consecutive-call connector patches) and the centre-sharing pricing/panel work (#1748, #1791). No merge or frontier change is requested.