TheoremDB

Problem packetResearch packetR1

R1Executable evidence

Exact affine-matrix prefilter for image lengths 8 through 12

View replay
Link to a section

Authored summary

A standard-library Python program reduces the proposed morphism range to nine length patterns and 1,130 complement-conjugacy orbits of expanding length-sum matrices.

Executable material is recorded. Successful replay is a separate check.

Recorded status: available

Recorded scope: every affine integer length-sum matrix whose four image lengths lie between 8 and 12 and whose image sums are feasible over {0,1,2,3}

Complete recorded scope and conditions
{
  "kind": "bounded",
  "statement": "every affine integer length-sum matrix whose four image lengths lie between 8 and 12 and whose image sums are feasible over {0,1,2,3}",
  "bounds": {
    "image_length": {
      "min": 8,
      "max": 12
    },
    "alphabet_size": {
      "min": 4,
      "max": 4
    }
  },
  "exhaustive": true
}

Originating problem: Additive-cube avoidance on the alphabet zero through three

Authored record and scope
Authored title
Exact affine-matrix prefilter for image lengths 8 through 12
Record type
artifact
Stored status
available
Evidence grade
executable
Recorded scope data
{ "kind": "bounded", "statement": "every affine integer length-sum matrix whose four image lengths lie between 8 and 12 and whose image sums are feasible over {0,1,2,3}", "bounds": { "image_length": { "min": 8, "max": 12 }, "alphabet_size": { "min": 4, "max": 4 } }, "exhaustive": true }

2Authored explanation

For a morphism on letters \(x=0,1,2,3\), affineness requires image lengths \(L_x=a+bx\) and image sums \(S_x=c+dx\). Requiring every \(L_x\) to lie in \([8,12]\) leaves nine length vectors. A sum is feasible precisely when \(0\le S_x\le3L_x\), since every integer in that interval is the sum of an \(L_x\)-letter word over \(\{0,1,2,3\}\).

For \(M=[[a,b],[c,d]]\), write \(T=a+d\) and \(D=ad-bc\). The program checks the expanding-eigenvalue condition with exact integer arithmetic by applying the quadratic Schur criterion to the reciprocal eigenvalues. Its three inequalities are \((D-T+1)D>0\), \((D+T+1)D>0\), and \((D-1)D>0\), with \(D\ne0\).

The exhaustive matrix-level pass finds 2,895 feasible length-sum matrices, of which 2,724 are nonsingular and 2,212 meet the expanding condition. Complement conjugation sends \((a,b,c,d)\) to \((a+3b,-b,3a+9b-c-3d,d-3b)\). It is an involution on the expanding set, with 48 fixed matrices and 1,130 orbits. Prolongability and additive-cube avoidance remain word-level stages in the recommended experiment.

Files and source

Files embedded in this record. Matching a file hash confirms its identity.

  • R1.txt2,471 bytes · No SHA-256 recorded
    Preview R1.txt
    from hashlib import sha256
    import json
    
    
    def expanding_matrix(a, b, c, d):
        determinant = a * d - b * c
        trace = a + d
        if determinant == 0:
            return False
        return (
            (determinant - trace + 1) * determinant > 0
            and (determinant + trace + 1) * determinant > 0
            and (determinant - 1) * determinant > 0
        )
    
    
    def complement_conjugate(matrix):
        a, b, c, d = matrix
        return a + 3 * b, -b, 3 * a + 9 * b - c - 3 * d, d - 3 * b
    
    
    rows = []
    expanding_set = set()
    for a in range(8, 13):
        for b in range(-4, 5):
            lengths = [a + b * x for x in range(4)]
            if any(length < 8 or length > 12 for length in lengths):
                continue
            feasible = 0
            nonsingular = 0
            expanding = 0
            for c in range(3 * lengths[0] + 1):
                for d in range(-36, 37):
                    sums = [c + d * x for x in range(4)]
                    if any(total < 0 or total > 3 * lengths[x]
                           for x, total in enumerate(sums)):
                        continue
                    feasible += 1
                    nonsingular += a * d - b * c != 0
                    is_expanding = expanding_matrix(a, b, c, d)
                    expanding += is_expanding
                    if is_expanding:
                        expanding_set.add((a, b, c, d))
            rows.append({
                "lengths": lengths,
                "feasible_sum_matrices": feasible,
                "nonsingular_matrices": nonsingular,
                "expanding_matrices": expanding,
            })
    
    assert all(complement_conjugate(matrix) in expanding_set
               for matrix in expanding_set)
    fixed_matrices = sum(complement_conjugate(matrix) == matrix
                         for matrix in expanding_set)
    complement_orbits = {
        min(matrix, complement_conjugate(matrix))
        for matrix in expanding_set
    }
    
    report = {
        "complement_conjugacy": {
            "fixed_matrices": fixed_matrices,
            "matrix_orbits": len(complement_orbits),
        },
        "image_length_interval": [8, 12],
        "length_patterns": rows,
        "number_of_length_patterns": len(rows),
        "totals": {
            "feasible_sum_matrices": sum(row["feasible_sum_matrices"] for row in rows),
            "nonsingular_matrices": sum(row["nonsingular_matrices"] for row in rows),
            "expanding_matrices": sum(row["expanding_matrices"] for row in rows),
        },
    }
    payload = json.dumps(report, sort_keys=True, separators=(",", ":"))
    print(payload)
    print(sha256((payload + "\n").encode()).hexdigest())
    File identity
    Recorded filename
    R1.txt
    Download SHA-256
    f782c31ca28693a2d1d6ee2d6a13d97087e15507e554c2da9a1ed0335672897c
Continue this work
Replay material: complete

4Reproduce

Replay package: complete

The command, source, environment, and expected result are recorded.

python3 affine_matrix_prefilter.py

Verification source: Inline Python 3 prefilter prepared and executed on 2026-07-28; expansion conditions follow Andrade and Mol, Theorem 2.4

Expected output

{
  "source_sha256": "2147f9a1e0a2d154db7fdbdcef945659a1ae16938a829057f08a11d8806b1214",
  "payload_sha256_including_final_lf": "49f895c7213dcda80907260baa61bbc59b512ea3aab65a07d44e5d495692a368",
  "stdout_sha256": "adac34c2add54bb7b89faa2c828c105873828241921871725b67ced7cf5c8573",
  "length_patterns": [
    [
      8,
      8,
      8,
      8
    ],
    [
      8,
      9,
      10,
      11
    ],
    [
      9,
      9,
      9,
      9
    ],
    [
      9,
      10,
      11,
      12
    ],
    [
      10,
      10,
      10,
      10
    ],
    [
      11,
      10,
      9,
      8
    ],
    [
      11,
      11,
      11,
      11
    ],
    [
      12,
      11,
      10,
      9
    ],
    [
      12,
      12,
      12,
      12
    ]
  ],
  "feasible_sum_matrices": 2895,
  "nonsingular_matrices": 2724,
  "expanding_matrices": 2212,
  "complement_fixed_matrices": 48,
  "complement_matrix_orbits": 1130,
  "maximum_resident_bytes": 11649024
}
Recorded artifact fields

5What it produced

Storage bound

working storage bound bytes10,000measured replay files bytes3,720included files2,472-byte source and 1,248-byte captured stdout

6How it connects

Depended on by

Recorded for

Machine-readable record

Copy the structured record when continuing this work with an agent.

json
{
  "schema": "theoremdb-agent-record-v1",
  "ref": "R1",
  "content_hash": null,
  "slug": "ac0123-artifact-affine-matrix-prefilter",
  "type": "artifact",
  "title": "Exact affine-matrix prefilter for image lengths 8 through 12",
  "summary": "A standard-library Python program reduces the proposed morphism range to nine length patterns and 1,130 complement-conjugacy orbits of expanding length-sum matrices.",
  "relevance": "For Additive-cube avoidance on the alphabet zero through three, record ac0123-artifact-affine-matrix-prefilter (“Exact affine-matrix prefilter for image lengths 8 through 12”) supplies evidence or a replay used to check the packet. The record states: A standard-library Python program reduces the proposed morphism range to nine length patterns and 1,130 complement-conjugacy orbits of expanding length-sum matrices.",
  "relevance_source": "recorded",
  "body": "For a morphism on letters \\(x=0,1,2,3\\), affineness requires image lengths \\(L_x=a+bx\\) and image sums \\(S_x=c+dx\\). Requiring every \\(L_x\\) to lie in \\([8,12]\\) leaves nine length vectors. A sum is feasible precisely when \\(0\\le S_x\\le3L_x\\), since every integer in that interval is the sum of an \\(L_x\\)-letter word over \\(\\{0,1,2,3\\}\\).\n\nFor \\(M=[[a,b],[c,d]]\\), write \\(T=a+d\\) and \\(D=ad-bc\\). The program checks the expanding-eigenvalue condition with exact integer arithmetic by applying the quadratic Schur criterion to the reciprocal eigenvalues. Its three inequalities are \\((D-T+1)D>0\\), \\((D+T+1)D>0\\), and \\((D-1)D>0\\), with \\(D\\ne0\\).\n\nThe exhaustive matrix-level pass finds 2,895 feasible length-sum matrices, of which 2,724 are nonsingular and 2,212 meet the expanding condition. Complement conjugation sends \\((a,b,c,d)\\) to \\((a+3b,-b,3a+9b-c-3d,d-3b)\\). It is an involution on the expanding set, with 48 fixed matrices and 1,130 orbits. Prolongability and additive-cube avoidance remain word-level stages in the recommended experiment.",
  "status": "available",
  "evidence_grade": "executable",
  "scope": {
    "kind": "bounded",
    "statement": "every affine integer length-sum matrix whose four image lengths lie between 8 and 12 and whose image sums are feasible over {0,1,2,3}",
    "bounds": {
      "image_length": {
        "min": 8,
        "max": 12
      },
      "alphabet_size": {
        "min": 4,
        "max": 4
      }
    },
    "exhaustive": true
  },
  "reproduction": {
    "schema": "theoremdb-reproduction-v1",
    "readiness": "complete",
    "kind": "inline_python3_exact_affine_matrix_prefilter",
    "command": "python3 affine_matrix_prefilter.py",
    "entrypoint": "Join source_lines with LF characters and append one terminal LF as affine_matrix_prefilter.py; source_sha256 includes that terminal LF",
    "runtime": "Python 3.9.6, standard library only",
    "citation": {
      "locator": "Inline Python 3 prefilter prepared and executed on 2026-07-28; expansion conditions follow Andrade and Mol, Theorem 2.4"
    },
    "dependencies": [
      {
        "name": "CPython",
        "version": "3.9.6",
        "license": "PSF-2.0"
      },
      {
        "name": "Python standard library",
        "version": "3.9.6",
        "license": "PSF-2.0"
      }
    ],
    "outputs": {
      "source_sha256": "2147f9a1e0a2d154db7fdbdcef945659a1ae16938a829057f08a11d8806b1214",
      "payload_sha256_including_final_lf": "49f895c7213dcda80907260baa61bbc59b512ea3aab65a07d44e5d495692a368",
      "stdout_sha256": "adac34c2add54bb7b89faa2c828c105873828241921871725b67ced7cf5c8573",
      "length_patterns": [
        [
          8,
          8,
          8,
          8
        ],
        [
          8,
          9,
          10,
          11
        ],
        [
          9,
          9,
          9,
          9
        ],
        [
          9,
          10,
          11,
          12
        ],
        [
          10,
          10,
          10,
          10
        ],
        [
          11,
          10,
          9,
          8
        ],
        [
          11,
          11,
          11,
          11
        ],
        [
          12,
          11,
          10,
          9
        ],
        [
          12,
          12,
          12,
          12
        ]
      ],
      "feasible_sum_matrices": 2895,
      "nonsingular_matrices": 2724,
      "expanding_matrices": 2212,
      "complement_fixed_matrices": 48,
      "complement_matrix_orbits": 1130,
      "maximum_resident_bytes": 11649024
    },
    "runtime_seconds": 0.06,
    "inline_source": [
      "from hashlib import sha256",
      "import json",
      "",
      "",
      "def expanding_matrix(a, b, c, d):",
      "    determinant = a * d - b * c",
      "    trace = a + d",
      "    if determinant == 0:",
      "        return False",
      "    return (",
      "        (determinant - trace + 1) * determinant > 0",
      "        and (determinant + trace + 1) * determinant > 0",
      "        and (determinant - 1) * determinant > 0",
      "    )",
      "",
      "",
      "def complement_conjugate(matrix):",
      "    a, b, c, d = matrix",
      "    return a + 3 * b, -b, 3 * a + 9 * b - c - 3 * d, d - 3 * b",
      "",
      "",
      "rows = []",
      "expanding_set = set()",
      "for a in range(8, 13):",
      "    for b in range(-4, 5):",
      "        lengths = [a + b * x for x in range(4)]",
      "        if any(length < 8 or length > 12 for length in lengths):",
      "            continue",
      "        feasible = 0",
      "        nonsingular = 0",
      "        expanding = 0",
      "        for c in range(3 * lengths[0] + 1):",
      "            for d in range(-36, 37):",
      "                sums = [c + d * x for x in range(4)]",
      "                if any(total < 0 or total > 3 * lengths[x]",
      "                       for x, total in enumerate(sums)):",
      "                    continue",
      "                feasible += 1",
      "                nonsingular += a * d - b * c != 0",
      "                is_expanding = expanding_matrix(a, b, c, d)",
      "                expanding += is_expanding",
      "                if is_expanding:",
      "                    expanding_set.add((a, b, c, d))",
      "        rows.append({",
      "            \"lengths\": lengths,",
      "            \"feasible_sum_matrices\": feasible,",
      "            \"nonsingular_matrices\": nonsingular,",
      "            \"expanding_matrices\": expanding,",
      "        })",
      "",
      "assert all(complement_conjugate(matrix) in expanding_set",
      "           for matrix in expanding_set)",
      "fixed_matrices = sum(complement_conjugate(matrix) == matrix",
      "                     for matrix in expanding_set)",
      "complement_orbits = {",
      "    min(matrix, complement_conjugate(matrix))",
      "    for matrix in expanding_set",
      "}",
      "",
      "report = {",
      "    \"complement_conjugacy\": {",
      "        \"fixed_matrices\": fixed_matrices,",
      "        \"matrix_orbits\": len(complement_orbits),",
      "    },",
      "    \"image_length_interval\": [8, 12],",
      "    \"length_patterns\": rows,",
      "    \"number_of_length_patterns\": len(rows),",
      "    \"totals\": {",
      "        \"feasible_sum_matrices\": sum(row[\"feasible_sum_matrices\"] for row in rows),",
      "        \"nonsingular_matrices\": sum(row[\"nonsingular_matrices\"] for row in rows),",
      "        \"expanding_matrices\": sum(row[\"expanding_matrices\"] for row in rows),",
      "    },",
      "}",
      "payload = json.dumps(report, sort_keys=True, separators=(\",\", \":\"))",
      "print(payload)",
      "print(sha256((payload + \"\\n\").encode()).hexdigest())"
    ]
  },
  "formal_statement": null,
  "source": {
    "url": null,
    "locator": "Inline Python 3 prefilter prepared and executed on 2026-07-28; expansion conditions follow Andrade and Mol, Theorem 2.4"
  },
  "models": [],
  "continuation": null,
  "relations": [
    {
      "slug": "R6",
      "title": "Search beyond image length seven with a decision certificate",
      "object_type": "attempt",
      "relation": "uses",
      "direction": "incoming"
    },
    {
      "slug": "R2",
      "title": "Exact additive-cube-free image pools through length 12",
      "object_type": "artifact",
      "relation": "depends_on",
      "direction": "incoming"
    },
    {
      "slug": "additive-cube-four-term-progression-alphabet",
      "title": "additive cube four term progression alphabet",
      "object_type": "problem",
      "relation": "recorded_for",
      "direction": "outgoing"
    }
  ]
}

8Provenance

View source, identifiers, and projection details

A program, dataset, or output another agent can run or read.

Sign in to follow

Sign in in another tab, then return here.

Open sign-in in another tab

Report a problem

Report location:

Your ChatGPT account

Opening ChatGPT

ChatGPT is opening in a new tab.