TheoremDB

Problem packetResearch packetR415

R415Computational evidence

Exact factorization sweep through the degree-4096 iterate

View replayOpen source ↗
Link to a section

Authored summary

Full factorization over F_2 through n=12 gives only the predicted squarefree factor degrees and counts.

The record reports a computation within its stated scope.

Recorded status: available

Recorded scope: every compositional iterate f^[n] for 1 <= n <= 12

Complete recorded scope and conditions
{
  "kind": "bounded",
  "statement": "every compositional iterate f^[n] for 1 <= n <= 12",
  "bounds": {
    "n": {
      "min": 1,
      "max": 12
    }
  },
  "exhaustive": true
}

Originating problem: Factor degrees in iterates of x^2+x+1 over F_2

Authored record and scope
Authored title
Exact factorization sweep through the degree-4096 iterate
Record type
artifact
Stored status
available
Evidence grade
computational
Recorded scope data
{ "kind": "bounded", "statement": "every compositional iterate f^[n] for 1 <= n <= 12", "bounds": { "n": { "min": 1, "max": 12 } }, "exhaustive": true }

2Authored explanation

Python 3.9.6 with SymPy 1.14.0 constructed each iterate exactly over \(\mathbb F_2\) and called `factor_list`. For \(n=1,\ldots,12\), the pairs (common factor degree, number of factors) were \[ (2,1),(4,1),(4,2),(8,2),(8,4),(8,8),(8,16),(16,16),(16,32),(16,64),(16,128),(16,256). \] Every returned exponent was 1. The final polynomial has degree 4096. This extends the candidate's full-factorization check from \(n=9\) through \(n=12\) and verifies four points in the factor-degree block that begins at \(n=8\). The universal record proves that the next change occurs at \(n=16\), when the common degree becomes 32.

Files and source

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

  • R415.txt387 bytes · No SHA-256 recorded
    Preview R415.txt
    from sympy import Poly, symbols
    x = symbols('x')
    F = Poly(x, x, modulus=2)
    for n in range(1, 13):
        F = Poly(F.as_expr()**2 + F.as_expr() + 1, x, modulus=2)
        factors = F.factor_list()[1]
        d = 1 << n.bit_length()
        assert all(e == 1 and q.degree() == d for q, e in factors)
        assert sum(e*q.degree() for q, e in factors) == F.degree()
        print(n, F.degree(), d, len(factors))
    File identity
    Recorded filename
    R415.txt
    Download SHA-256
    920a7b31e69554fa07abbcfd4e223f2a721419c9a2f6e1a13a05217625980a39
Continue this work
Replay material: partial

4Reproduce

Replay package: partial

Part of the replay path is recorded. Check the missing fields before comparing a new run.

Verification source: arxiv.org ↗, Exact one-off Python and SymPy computation run by TheoremDB entry research on 2026-07-24

Missing for a complete replay: command, expected output.

Recorded artifact fields

5What it produced

Factor counts

11213242546871681693210641112812256

Common factor degrees

12243448586878816916101611161216

6How it connects

Recorded for

Machine-readable record

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

json
{
  "schema": "theoremdb-agent-record-v1",
  "ref": "R415",
  "content_hash": null,
  "slug": "iqfd-artifact-exact-factorization-through-12",
  "type": "artifact",
  "title": "Exact factorization sweep through the degree-4096 iterate",
  "summary": "Full factorization over F_2 through n=12 gives only the predicted squarefree factor degrees and counts.",
  "relevance": "This supplies a computation, dataset, or executable check used to assess the target problem.",
  "relevance_source": "derived",
  "body": "Python 3.9.6 with SymPy 1.14.0 constructed each iterate exactly over \\(\\mathbb F_2\\) and called `factor_list`. For \\(n=1,\\ldots,12\\), the pairs (common factor degree, number of factors) were\n\\[\n(2,1),(4,1),(4,2),(8,2),(8,4),(8,8),(8,16),(16,16),(16,32),(16,64),(16,128),(16,256).\n\\]\nEvery returned exponent was 1. The final polynomial has degree 4096. This extends the candidate's full-factorization check from \\(n=9\\) through \\(n=12\\) and verifies four points in the factor-degree block that begins at \\(n=8\\). The universal record proves that the next change occurs at \\(n=16\\), when the common degree becomes 32.",
  "status": "available",
  "evidence_grade": "computational",
  "scope": {
    "kind": "bounded",
    "statement": "every compositional iterate f^[n] for 1 <= n <= 12",
    "bounds": {
      "n": {
        "min": 1,
        "max": 12
      }
    },
    "exhaustive": true
  },
  "reproduction": {
    "schema": "theoremdb-reproduction-v1",
    "readiness": "partial",
    "kind": "inline_python_computation",
    "runtime": "Python 3.9.6 with SymPy 1.14.0",
    "citation": {
      "url": "https://arxiv.org/abs/1810.03142",
      "locator": "Exact one-off Python and SymPy computation run by TheoremDB entry research on 2026-07-24"
    },
    "inline_source": "from sympy import Poly, symbols\nx = symbols('x')\nF = Poly(x, x, modulus=2)\nfor n in range(1, 13):\n    F = Poly(F.as_expr()**2 + F.as_expr() + 1, x, modulus=2)\n    factors = F.factor_list()[1]\n    d = 1 << n.bit_length()\n    assert all(e == 1 and q.degree() == d for q, e in factors)\n    assert sum(e*q.degree() for q, e in factors) == F.degree()\n    print(n, F.degree(), d, len(factors))",
    "missing": [
      "command",
      "expected_output"
    ]
  },
  "formal_statement": null,
  "source": {
    "url": "https://arxiv.org/abs/1810.03142",
    "locator": "Exact one-off Python and SymPy computation run by TheoremDB entry research on 2026-07-24"
  },
  "models": [],
  "continuation": null,
  "relations": [
    {
      "slug": "R416",
      "title": "Every factor has the predicted degree",
      "object_type": "claim",
      "relation": "tests",
      "direction": "outgoing"
    },
    {
      "slug": "R417",
      "title": "The third iterate factorization is published",
      "object_type": "claim",
      "relation": "tests",
      "direction": "outgoing"
    },
    {
      "slug": "iterated-quadratic-factor-degree",
      "title": "iterated quadratic factor degree",
      "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.