Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 57 additions & 0 deletions research/r420-adjoint-compensation/CLAIM.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# R420 adjoint compensation claim

- Track: independent verification, OS-random assignment seed 81.
- Base: `66849e1475c930fd7732b1a0067ffee7e1e95f60`.
- Selected context: PR626 with PR543, conditional kappa
`51110230636731/31250000000000000`. No new bound is proposed.
- Object: the 120 by 420 dirty-helper compensation matrix in the selected
PR543 R420 native word. Check the raw A/scatter/B target map and equality
with D by reverse covector propagation, independently of the supplier's
forward all-column checker.
- Deliverable: a standalone standard-library verifier, exact matrix/cut
certificate, rank and kernel information, rejecting controls, and proof note.
- Time budget: approximately 30 minutes from 2026-10-13 04:50 UTC. Finish by
05:20 UTC, with the final 7.5 minutes reserved for verification and handoff.
- Coordination: GitHub returned no pinned issues. This is the local claim.
Open PR titles and relevant bodies were inspected before claiming.

Three candidates considered were the R420 compensation identity, selected
complex cold-wrapper phases, and selected supplier moment bounds. PR702/712
cover the phase route and PR678/706 cover the moments. Seed 81 selects the bit
object and backward scalar method. PR612 checks typed R420 boundaries and
B-XOR target translation, but explicitly leaves D parity/compensation equality
open. The supplier's existing `xcheck.py` already checks that equality by a
forward symbolic replay. This work independently corroborates it with backward
covectors and an explicit matrix certificate; it does not claim that the
identity itself is new or that a Python check completes the Lean obligation.

Scope excludes frame legality, COPY/ERASE realization, hosting, costs, moments,
all-size compilation and the multiplication theorem. No existing supplier,
selected certificate, or `upstream/` file will change. Acceptance requires
exact equality for every target and every original input coordinate, source
binding, deterministic evidence, and controls that reject altered compensation
and incorrect transpose semantics.

Prepared for Sagar Thakrar (@thakrarsagar) with substantial OpenAI Codex
assistance. Apache-2.0; independent implementation is not independent human
peer review.

## Completed result and one scope pivot

Submitted [PR762](https://github.com/CrocSwap/integer-mult-bounds/pull/762).
The result is ten optimal nonadaptive dirty-input tests for compensation-row
errors of weight at most three, with an executable four-error blind witness.
The primary command passes 129 rejection controls. The separate support-set
and Boolean checker confirms the fixed baseline, all ten probes and malformed
suite rejection. See README.md and VALIDATION.md for exact scope and checks.

The initial queue scan ended at PR725. A later refresh discovered Joshua
Snider's PR731 at `cf5ff54a358b400a7e69abe941d1d0ad0944b25e`, which had
submitted the same adjoint/rank work with additional kernel evidence. The
planned rank certificate was removed and the scope pivoted once to the
optimal ten-test suite. This credits PR731 and adds a distinct result on the
test matrix, not another claim about its compensation kernel.

The pre-submission refresh covered 578 open PRs through PR759. No pinned
coordination issue existed, so this is the single local completion update.
No pending code was imported. Only this seven-file package was added.
192 changes: 192 additions & 0 deletions research/r420-adjoint-compensation/EXPECTED.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,192 @@
{
"assignment_seed": 81,
"domain": {
"helpers": 420,
"original_inputs": 660,
"targets": 120
},
"format": "r420-compensation-optimal-test-suite-v1",
"gate_counts": {
"A": 2064,
"B": 837,
"C": 2661,
"D": 120
},
"matrix_binary_sha256": "c833a715013f78e383ca95a684d26c000db5cba0dc848221bb05e5db6e63d4ed",
"negative_controls": [
"omit_D_operand_0",
"omit_D_operand_1",
"omit_D_operand_2",
"omit_D_operand_3",
"omit_D_operand_4",
"omit_D_operand_5",
"omit_D_operand_6",
"omit_D_operand_7",
"omit_D_operand_8",
"omit_D_operand_9",
"omit_D_operand_10",
"omit_D_operand_11",
"omit_D_operand_12",
"omit_D_operand_13",
"omit_D_operand_14",
"omit_D_operand_15",
"omit_D_operand_16",
"omit_D_operand_17",
"omit_D_operand_18",
"omit_D_operand_19",
"omit_D_operand_20",
"omit_D_operand_21",
"omit_D_operand_22",
"omit_D_operand_23",
"omit_D_operand_24",
"omit_D_operand_25",
"omit_D_operand_26",
"omit_D_operand_27",
"omit_D_operand_28",
"omit_D_operand_29",
"omit_D_operand_30",
"omit_D_operand_31",
"omit_D_operand_32",
"omit_D_operand_33",
"omit_D_operand_34",
"omit_D_operand_35",
"omit_D_operand_36",
"omit_D_operand_37",
"omit_D_operand_38",
"omit_D_operand_39",
"omit_D_operand_40",
"omit_D_operand_41",
"omit_D_operand_42",
"omit_D_operand_43",
"omit_D_operand_44",
"omit_D_operand_45",
"omit_D_operand_46",
"omit_D_operand_47",
"omit_D_operand_48",
"omit_D_operand_49",
"omit_D_operand_50",
"omit_D_operand_51",
"omit_D_operand_52",
"omit_D_operand_53",
"omit_D_operand_54",
"omit_D_operand_55",
"omit_D_operand_56",
"omit_D_operand_57",
"omit_D_operand_58",
"omit_D_operand_59",
"omit_D_operand_60",
"omit_D_operand_61",
"omit_D_operand_62",
"omit_D_operand_63",
"omit_D_operand_64",
"omit_D_operand_65",
"omit_D_operand_66",
"omit_D_operand_67",
"omit_D_operand_68",
"omit_D_operand_69",
"omit_D_operand_70",
"omit_D_operand_71",
"omit_D_operand_72",
"omit_D_operand_73",
"omit_D_operand_74",
"omit_D_operand_75",
"omit_D_operand_76",
"omit_D_operand_77",
"omit_D_operand_78",
"omit_D_operand_79",
"omit_D_operand_80",
"omit_D_operand_81",
"omit_D_operand_82",
"omit_D_operand_83",
"omit_D_operand_84",
"omit_D_operand_85",
"omit_D_operand_86",
"omit_D_operand_87",
"omit_D_operand_88",
"omit_D_operand_89",
"omit_D_operand_90",
"omit_D_operand_91",
"omit_D_operand_92",
"omit_D_operand_93",
"omit_D_operand_94",
"omit_D_operand_95",
"omit_D_operand_96",
"omit_D_operand_97",
"omit_D_operand_98",
"omit_D_operand_99",
"omit_D_operand_100",
"omit_D_operand_101",
"omit_D_operand_102",
"omit_D_operand_103",
"omit_D_operand_104",
"omit_D_operand_105",
"omit_D_operand_106",
"omit_D_operand_107",
"omit_D_operand_108",
"omit_D_operand_109",
"omit_D_operand_110",
"omit_D_operand_111",
"omit_D_operand_112",
"omit_D_operand_113",
"omit_D_operand_114",
"omit_D_operand_115",
"omit_D_operand_116",
"omit_D_operand_117",
"omit_D_operand_118",
"omit_D_operand_119",
"omit_D",
"duplicate_D_operand",
"swap_D_targets",
"wrong_A_order",
"wrong_B_order",
"wrong_scatter_helpers",
"omit_scatter_operand",
"D_reads_source",
"self_alias"
],
"nonzero_entries": 19922,
"positive_controls": [
"duplicate_D_pair",
"two_gate_transpose",
"two_gate_wrong_order"
],
"raw_sections": [
"A",
"scatter",
"B"
],
"row_weight_range": [
121,
204
],
"suite": {
"blind_four_support": [
240,
241,
242,
243
],
"blind_target": 201,
"blind_witness_dirty_helper": 240,
"column_rule": "1 | (helper_relative_index << 1)",
"fault_radius_per_target": 3,
"optimality_bound": "420 <= 2^(q-1), hence q >= 10",
"pair_supports": 87990,
"pattern_hex": [
"fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
"0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0",
"0ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00",
"0ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000",
"f00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000",
"000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000",
"fffffffff00000000000000000000000000000000ffffffffffffffffffffffffffffffff00000000000000000000000000000000",
"fffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000"
],
"single_supports": 420,
"test_count": 10,
"triple_supports": 12259940
},
"zero_columns": []
}
Loading