TheoremDB

Problem packetResearch packetR782

R782Executable evidence

Exhaustive verifier for the five-AND circuit

View replayOpen source ↗
Link to a section

Authored summary

The standard-library program checks every input, the truth-table word, and the degree-three plus degree-four algebraic normal form.

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

Recorded status: available

Recorded scope: all 64 Boolean assignments to x1 through x6 for the displayed five-AND circuit and its algebraic normal form

Complete recorded scope and conditions
{
  "kind": "bounded",
  "statement": "all 64 Boolean assignments to x1 through x6 for the displayed five-AND circuit and its algebraic normal form",
  "bounds": {
    "assignments": {
      "min": 64,
      "max": 64
    },
    "and_gates": {
      "min": 5,
      "max": 5
    },
    "anf_terms": {
      "min": 35,
      "max": 35
    }
  },
  "exhaustive": true
}

Originating problem: Multiplicative complexity of the six-bit threshold-at-least-three function

Recorded relationships: Five AND gates suffice

Other recorded relationships (1)
Authored record and scope
Authored title
Exhaustive verifier for the five-AND circuit
Record type
artifact
Stored status
available
Evidence grade
executable
Recorded scope data
{ "kind": "bounded", "statement": "all 64 Boolean assignments to x1 through x6 for the displayed five-AND circuit and its algebraic normal form", "bounds": { "assignments": { "min": 64, "max": 64 }, "and_gates": { "min": 5, "max": 5 }, "anf_terms": { "min": 35, "max": 35 } }, "exhaustive": true }
Linked research record IDs
R786 R785

2Authored explanation

The program evaluates the five products in the straight-line program on every six-bit input. It compares each output with the direct predicate `sum(x) >= 3`, packs the outputs into a 64-bit word, and applies the Boolean Möbius transform. The expected output certifies 64 matching rows, five counted products, truth-table word `fffefee8fee8e880`, and 35 algebraic-normal-form terms whose degrees are exactly 3 and 4.

Files and source

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

  • R782.txt1,086 bytes · No SHA-256 recorded
    Preview R782.txt
    def circuit(x):
        x1, x2, x3, x4, x5, x6 = x
        s0 = x1 ^ x2 ^ x3
        a0 = ((x1 ^ x2) & (x1 ^ x3)) ^ x1
        s1 = x4 ^ x5 ^ x6
        a1 = ((x4 ^ x5) & (x4 ^ x6)) ^ x4
        a2 = s0 & s1
        a3 = ((a0 ^ a1) & (a0 ^ a2)) ^ a0
        a4 = (s0 ^ s1) & (a0 ^ a1 ^ a2)
        return a3 ^ a4
    
    truth = 0
    values = []
    for word in range(64):
        x = tuple((word >> i) & 1 for i in range(6))
        got = circuit(x)
        want = int(sum(x) >= 3)
        assert got == want, (word, x, got, want)
        values.append(got)
        truth |= got << word
    assert truth == 0xfffefee8fee8e880
    
    anf = values[:]
    for bit in range(6):
        for mask in range(64):
            if mask & (1 << bit):
                anf[mask] ^= anf[mask ^ (1 << bit)]
    terms = [mask for mask, coefficient in enumerate(anf) if coefficient]
    degrees = sorted({mask.bit_count() for mask in terms})
    assert len(terms) == 35
    assert degrees == [3, 4]
    assert sum(mask.bit_count() == 3 for mask in terms) == 20
    assert sum(mask.bit_count() == 4 for mask in terms) == 15
    print(f'rows=64 ands=5 truth_table={truth:016x} '
          f'anf_terms={len(terms)} anf_degrees={degrees}')
    File identity
    Recorded filename
    R782.txt
    Download SHA-256
    3e82ab5bcb8e7ec747d600129fc389f3984e1de14e3dc434cb65ba58b4a23985
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: doi.org ↗, Python 3 standard-library verifier executed by TheoremDB entry research on 2026-07-25

Expected output

rows=64 ands=5 truth_table=fffefee8fee8e880 anf_terms=35 anf_degrees=[3, 4]

Missing for a complete replay: command.

Recorded artifact fields

5What it produced

Execution

date2026-07-25runtimePython 3.9.6arithmeticexact Boolean arithmetic

6How it connects

Supports

Recorded for

Machine-readable record

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

json
{
  "schema": "theoremdb-agent-record-v1",
  "ref": "R782",
  "content_hash": null,
  "slug": "threshold-six-three-artifact-five-and-verifier",
  "type": "artifact",
  "title": "Exhaustive verifier for the five-AND circuit",
  "summary": "The standard-library program checks every input, the truth-table word, and the degree-three plus degree-four algebraic normal form.",
  "relevance": "For Multiplicative complexity of the six-bit threshold-at-least-three function, record threshold-six-three-artifact-five-and-verifier (“Exhaustive verifier for the five-AND circuit”) supplies evidence or a replay used to check the packet. The record states: The standard-library program checks every input, the truth-table word, and the degree-three plus degree-four algebraic normal form.",
  "relevance_source": "recorded",
  "body": "The program evaluates the five products in the straight-line program on every six-bit input. It compares each output with the direct predicate `sum(x) >= 3`, packs the outputs into a 64-bit word, and applies the Boolean Möbius transform. The expected output certifies 64 matching rows, five counted products, truth-table word `fffefee8fee8e880`, and 35 algebraic-normal-form terms whose degrees are exactly 3 and 4.",
  "status": "available",
  "evidence_grade": "executable",
  "scope": {
    "kind": "bounded",
    "statement": "all 64 Boolean assignments to x1 through x6 for the displayed five-AND circuit and its algebraic normal form",
    "bounds": {
      "assignments": {
        "min": 64,
        "max": 64
      },
      "and_gates": {
        "min": 5,
        "max": 5
      },
      "anf_terms": {
        "min": 35,
        "max": 35
      }
    },
    "exhaustive": true
  },
  "reproduction": {
    "schema": "theoremdb-reproduction-v1",
    "readiness": "partial",
    "kind": "inline_python_exhaustive_verifier",
    "entrypoint": "Join source_lines with LF characters and execute the resulting Python program",
    "runtime": "Python 3 standard library",
    "citation": {
      "url": "https://doi.org/10.1016/j.tcs.2008.01.030",
      "locator": "Python 3 standard-library verifier executed by TheoremDB entry research on 2026-07-25"
    },
    "outputs": "rows=64 ands=5 truth_table=fffefee8fee8e880 anf_terms=35 anf_degrees=[3, 4]\n",
    "inline_source": [
      "def circuit(x):",
      "    x1, x2, x3, x4, x5, x6 = x",
      "    s0 = x1 ^ x2 ^ x3",
      "    a0 = ((x1 ^ x2) & (x1 ^ x3)) ^ x1",
      "    s1 = x4 ^ x5 ^ x6",
      "    a1 = ((x4 ^ x5) & (x4 ^ x6)) ^ x4",
      "    a2 = s0 & s1",
      "    a3 = ((a0 ^ a1) & (a0 ^ a2)) ^ a0",
      "    a4 = (s0 ^ s1) & (a0 ^ a1 ^ a2)",
      "    return a3 ^ a4",
      "",
      "truth = 0",
      "values = []",
      "for word in range(64):",
      "    x = tuple((word >> i) & 1 for i in range(6))",
      "    got = circuit(x)",
      "    want = int(sum(x) >= 3)",
      "    assert got == want, (word, x, got, want)",
      "    values.append(got)",
      "    truth |= got << word",
      "assert truth == 0xfffefee8fee8e880",
      "",
      "anf = values[:]",
      "for bit in range(6):",
      "    for mask in range(64):",
      "        if mask & (1 << bit):",
      "            anf[mask] ^= anf[mask ^ (1 << bit)]",
      "terms = [mask for mask, coefficient in enumerate(anf) if coefficient]",
      "degrees = sorted({mask.bit_count() for mask in terms})",
      "assert len(terms) == 35",
      "assert degrees == [3, 4]",
      "assert sum(mask.bit_count() == 3 for mask in terms) == 20",
      "assert sum(mask.bit_count() == 4 for mask in terms) == 15",
      "print(f'rows=64 ands=5 truth_table={truth:016x} '",
      "      f'anf_terms={len(terms)} anf_degrees={degrees}')"
    ],
    "missing": [
      "command"
    ]
  },
  "formal_statement": null,
  "source": {
    "url": "https://doi.org/10.1016/j.tcs.2008.01.030",
    "locator": "Python 3 standard-library verifier executed by TheoremDB entry research on 2026-07-25"
  },
  "models": [],
  "relations": [
    {
      "slug": "R786",
      "title": "Five AND gates suffice",
      "object_type": "claim",
      "relation": "supports",
      "direction": "outgoing"
    },
    {
      "slug": "R785",
      "title": "Algebraic degree forces at least three AND gates",
      "object_type": "claim",
      "relation": "supports",
      "direction": "outgoing"
    },
    {
      "slug": "threshold-at-least-three-six-multiplicative-complexity",
      "title": "threshold at least three six multiplicative complexity",
      "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.