TheoremDB

Problem packetResearch packetR592

R592Executable evidence

Exact OA and 11-MOLS computational formulation

View replayOpen source ↗
Link to a section

Authored summary

A 1,584-variable finite-domain model is equivalent to the required orthogonal array and has safe first-row and first-column symmetry breaking.

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

Recorded status: available

Recorded scope: parameter arithmetic and the complete constraint inventory for an 11-MOLS constraint-programming formulation at order 12

Complete recorded scope and conditions
{
  "kind": "bounded",
  "statement": "parameter arithmetic and the complete constraint inventory for an 11-MOLS constraint-programming formulation at order 12",
  "bounds": {
    "order": {
      "min": 12,
      "max": 12
    },
    "integer_variables": {
      "min": 1584,
      "max": 1584
    },
    "all_different_constraints": {
      "min": 319,
      "max": 319
    }
  },
  "exhaustive": false
}

Originating problem: A projective plane of order 12

Recorded relationships: Bruck-Ryser gives no obstruction at order 12

Authored record and scope
Authored title
Exact OA and 11-MOLS computational formulation
Record type
artifact
Stored status
available
Evidence grade
executable
Recorded scope data
{ "kind": "bounded", "statement": "parameter arithmetic and the complete constraint inventory for an 11-MOLS constraint-programming formulation at order 12", "bounds": { "order": { "min": 12, "max": 12 }, "integer_variables": { "min": 1584, "max": 1584 }, "all_different_constraints": { "min": 319, "max": 319 } }, "exhaustive": false }
Linked research record IDs
R594

2Authored explanation

Use integer variables \[ L_{k,r,c}\in\{0,\ldots,11\}, \quad 0\le k<11,\quad0\le r,c<12. \] For each \(k\), impose `AllDifferent` on every row and every column of \(L_k\). This gives 264 Latin constraints. For each pair \(k<\ell\), impose `AllDifferent` on the 144 values \[ 12L_{k,r,c}+L_{\ell,r,c}. \] There are 55 such constraints. Since every encoded value lies between 0 and 143, each constraint forces every ordered symbol pair to occur once. A satisfying assignment is exactly a complete family of 11 MOLS, or equivalently an \(OA_1(144,13,12,2)\).

Safe normalization fixes \(L_{k,0,c}=c\) for every \(k,c\), then fixes \(L_{0,r,0}=r\) for \(1\le r<12\). These are 143 fixed cells. They come from row and column permutations plus independent symbol relabeling. Any satisfying assignment constructs the plane. A complete unsatisfiability certificate for this normalized model proves nonexistence.

The inline program checks the design identities, the determinant value, the orthogonal-array dimensions, and the full constraint inventory. Its canonical report has SHA-256 digest `c980fe81ebe7fa46510d87f9c4c8f000f681b13eaff128ebb54bdfab7797feb1`.

Files and source

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

  • R592.txt1,952 bytes · No SHA-256 recorded
    Preview R592.txt
    from hashlib import sha256
    from json import dumps
    from math import comb
    
    n = 12
    v = n*n + n + 1
    report = {
        'order': n,
        'points': v,
        'lines': v,
        'line_size': n + 1,
        'incidences': v * (n + 1),
        'point_pairs': comb(v, 2),
        'pairs_covered_by_lines': v * comb(n + 1, 2),
        'incidence_matrix_variables': v * v,
        'incidence_matrix_equation': 'B B^T = 12 I_157 + J_157',
        'determinant_absolute': 13 * 12**78,
        'bruck_ryser_sum_two_squares_test_applies': n % 4 in (1, 2),
        'oa': {
            'rows': n*n,
            'columns': n + 1,
            'symbols': n,
            'strength': 2,
            'index': 1,
            'column_pairs': comb(n + 1, 2),
            'ordered_pair_checks': comb(n + 1, 2) * n*n,
        },
        'mols_cp_model': {
            'squares': n - 1,
            'integer_variables': (n - 1) * n*n,
            'latin_all_different_constraints': 2 * (n - 1) * n,
            'orthogonality_all_different_constraints': comb(n - 1, 2),
            'total_all_different_constraints': 2 * (n - 1) * n + comb(n - 1, 2),
            'normalized_fixed_cells': (n - 1) * n + (n - 1),
        },
    }
    assert v == 157
    assert report['incidences'] == 2041
    assert report['point_pairs'] == report['pairs_covered_by_lines'] == 12246
    assert report['incidence_matrix_variables'] == 24649
    assert report['bruck_ryser_sum_two_squares_test_applies'] is False
    assert report['oa'] == {'rows': 144, 'columns': 13, 'symbols': 12, 'strength': 2, 'index': 1, 'column_pairs': 78, 'ordered_pair_checks': 11232}
    assert report['mols_cp_model'] == {'squares': 11, 'integer_variables': 1584, 'latin_all_different_constraints': 264, 'orthogonality_all_different_constraints': 55, 'total_all_different_constraints': 319, 'normalized_fixed_cells': 143}
    payload = dumps(report, sort_keys=True, separators=(',', ':'))
    digest = sha256(payload.encode()).hexdigest()
    assert digest == 'c980fe81ebe7fa46510d87f9c4c8f000f681b13eaff128ebb54bdfab7797feb1'
    print(payload)
    print('report_sha256=' + digest)
    File identity
    Recorded filename
    R592.txt
    Download SHA-256
    27b78ec2f9c6bc72197b1a3c677ea001956e43a9a11e1196faf08a140964d67b
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 ↗, The projective-plane, orthogonal-array, and complete-MOLS equivalences are standard and are used in Kharaghani and Suda, Electronic Journal of Combinatorics 30(2) (2023), P2.49; exact parameter audit executed 2026-07-25

Expected output

{"bruck_ryser_sum_two_squares_test_applies":false,"determinant_absolute":19502062504259715177796717507099199265600970231313964266423019742039123547420520087552,"incidence_matrix_equation":"B B^T = 12 I_157 + J_157","incidence_matrix_variables":24649,"incidences":2041,"line_size":13,"lines":157,"mols_cp_model":{"integer_variables":1584,"latin_all_different_constraints":264,"normalized_fixed_cells":143,"orthogonality_all_different_constraints":55,"squares":11,"total_all_different_constraints":319},"oa":{"column_pairs":78,"columns":13,"index":1,"ordered_pair_checks":11232,"rows":144,"strength":2,"symbols":12},"order":12,"pairs_covered_by_lines":12246,"point_pairs":12246,"points":157}
report_sha256=c980fe81ebe7fa46510d87f9c4c8f000f681b13eaff128ebb54bdfab7797feb1

Missing for a complete replay: command.

Recorded artifact fields

5What it produced

Certificate

incidence matrix dimension157incidence matrix variables24,649oa parametersOA_1(144,13,12,2)mols integer variables1,584latin all different constraints264orthogonality all different constraints55normalized fixed cells143

6How it connects

Verifies

Reformulates

Recorded for

Machine-readable record

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

json
{
  "schema": "theoremdb-agent-record-v1",
  "ref": "R592",
  "content_hash": null,
  "slug": "pp12-artifact-model-audit",
  "type": "artifact",
  "title": "Exact OA and 11-MOLS computational formulation",
  "summary": "A 1,584-variable finite-domain model is equivalent to the required orthogonal array and has safe first-row and first-column symmetry breaking.",
  "relevance": "For A projective plane of order 12, record pp12-artifact-model-audit (“Exact OA and 11-MOLS computational formulation”) supplies evidence or a replay used to check the packet. The record states: A 1,584-variable finite-domain model is equivalent to the required orthogonal array and has safe first-row and first-column symmetry breaking.",
  "relevance_source": "recorded",
  "body": "Use integer variables\n\\[\nL_{k,r,c}\\in\\{0,\\ldots,11\\},\n\\quad 0\\le k<11,\\quad0\\le r,c<12.\n\\]\nFor each \\(k\\), impose `AllDifferent` on every row and every column of \\(L_k\\). This gives 264 Latin constraints. For each pair \\(k<\\ell\\), impose `AllDifferent` on the 144 values\n\\[\n12L_{k,r,c}+L_{\\ell,r,c}.\n\\]\nThere are 55 such constraints. Since every encoded value lies between 0 and 143, each constraint forces every ordered symbol pair to occur once. A satisfying assignment is exactly a complete family of 11 MOLS, or equivalently an \\(OA_1(144,13,12,2)\\).\n\nSafe normalization fixes \\(L_{k,0,c}=c\\) for every \\(k,c\\), then fixes \\(L_{0,r,0}=r\\) for \\(1\\le r<12\\). These are 143 fixed cells. They come from row and column permutations plus independent symbol relabeling. Any satisfying assignment constructs the plane. A complete unsatisfiability certificate for this normalized model proves nonexistence.\n\nThe inline program checks the design identities, the determinant value, the orthogonal-array dimensions, and the full constraint inventory. Its canonical report has SHA-256 digest `c980fe81ebe7fa46510d87f9c4c8f000f681b13eaff128ebb54bdfab7797feb1`.",
  "status": "available",
  "evidence_grade": "executable",
  "scope": {
    "kind": "bounded",
    "statement": "parameter arithmetic and the complete constraint inventory for an 11-MOLS constraint-programming formulation at order 12",
    "bounds": {
      "order": {
        "min": 12,
        "max": 12
      },
      "integer_variables": {
        "min": 1584,
        "max": 1584
      },
      "all_different_constraints": {
        "min": 319,
        "max": 319
      }
    },
    "exhaustive": false
  },
  "reproduction": {
    "schema": "theoremdb-reproduction-v1",
    "readiness": "partial",
    "kind": "inline_python_computation",
    "entrypoint": "join source_lines with newline and run with python3",
    "runtime": "CPython 3, standard library only",
    "citation": {
      "url": "https://doi.org/10.37236/11990",
      "locator": "The projective-plane, orthogonal-array, and complete-MOLS equivalences are standard and are used in Kharaghani and Suda, Electronic Journal of Combinatorics 30(2) (2023), P2.49; exact parameter audit executed 2026-07-25"
    },
    "outputs": "{\"bruck_ryser_sum_two_squares_test_applies\":false,\"determinant_absolute\":19502062504259715177796717507099199265600970231313964266423019742039123547420520087552,\"incidence_matrix_equation\":\"B B^T = 12 I_157 + J_157\",\"incidence_matrix_variables\":24649,\"incidences\":2041,\"line_size\":13,\"lines\":157,\"mols_cp_model\":{\"integer_variables\":1584,\"latin_all_different_constraints\":264,\"normalized_fixed_cells\":143,\"orthogonality_all_different_constraints\":55,\"squares\":11,\"total_all_different_constraints\":319},\"oa\":{\"column_pairs\":78,\"columns\":13,\"index\":1,\"ordered_pair_checks\":11232,\"rows\":144,\"strength\":2,\"symbols\":12},\"order\":12,\"pairs_covered_by_lines\":12246,\"point_pairs\":12246,\"points\":157}\nreport_sha256=c980fe81ebe7fa46510d87f9c4c8f000f681b13eaff128ebb54bdfab7797feb1\n",
    "inline_source": [
      "from hashlib import sha256",
      "from json import dumps",
      "from math import comb",
      "",
      "n = 12",
      "v = n*n + n + 1",
      "report = {",
      "    'order': n,",
      "    'points': v,",
      "    'lines': v,",
      "    'line_size': n + 1,",
      "    'incidences': v * (n + 1),",
      "    'point_pairs': comb(v, 2),",
      "    'pairs_covered_by_lines': v * comb(n + 1, 2),",
      "    'incidence_matrix_variables': v * v,",
      "    'incidence_matrix_equation': 'B B^T = 12 I_157 + J_157',",
      "    'determinant_absolute': 13 * 12**78,",
      "    'bruck_ryser_sum_two_squares_test_applies': n % 4 in (1, 2),",
      "    'oa': {",
      "        'rows': n*n,",
      "        'columns': n + 1,",
      "        'symbols': n,",
      "        'strength': 2,",
      "        'index': 1,",
      "        'column_pairs': comb(n + 1, 2),",
      "        'ordered_pair_checks': comb(n + 1, 2) * n*n,",
      "    },",
      "    'mols_cp_model': {",
      "        'squares': n - 1,",
      "        'integer_variables': (n - 1) * n*n,",
      "        'latin_all_different_constraints': 2 * (n - 1) * n,",
      "        'orthogonality_all_different_constraints': comb(n - 1, 2),",
      "        'total_all_different_constraints': 2 * (n - 1) * n + comb(n - 1, 2),",
      "        'normalized_fixed_cells': (n - 1) * n + (n - 1),",
      "    },",
      "}",
      "assert v == 157",
      "assert report['incidences'] == 2041",
      "assert report['point_pairs'] == report['pairs_covered_by_lines'] == 12246",
      "assert report['incidence_matrix_variables'] == 24649",
      "assert report['bruck_ryser_sum_two_squares_test_applies'] is False",
      "assert report['oa'] == {'rows': 144, 'columns': 13, 'symbols': 12, 'strength': 2, 'index': 1, 'column_pairs': 78, 'ordered_pair_checks': 11232}",
      "assert report['mols_cp_model'] == {'squares': 11, 'integer_variables': 1584, 'latin_all_different_constraints': 264, 'orthogonality_all_different_constraints': 55, 'total_all_different_constraints': 319, 'normalized_fixed_cells': 143}",
      "payload = dumps(report, sort_keys=True, separators=(',', ':'))",
      "digest = sha256(payload.encode()).hexdigest()",
      "assert digest == 'c980fe81ebe7fa46510d87f9c4c8f000f681b13eaff128ebb54bdfab7797feb1'",
      "print(payload)",
      "print('report_sha256=' + digest)"
    ],
    "missing": [
      "command"
    ]
  },
  "formal_statement": null,
  "source": {
    "url": "https://doi.org/10.37236/11990",
    "locator": "The projective-plane, orthogonal-array, and complete-MOLS equivalences are standard and are used in Kharaghani and Suda, Electronic Journal of Combinatorics 30(2) (2023), P2.49; exact parameter audit executed 2026-07-25"
  },
  "models": [],
  "relations": [
    {
      "slug": "R594",
      "title": "Bruck-Ryser gives no obstruction at order 12",
      "object_type": "claim",
      "relation": "verifies",
      "direction": "outgoing"
    },
    {
      "slug": "R597",
      "title": "Existence at order 12 remains open",
      "object_type": "claim",
      "relation": "reformulates",
      "direction": "outgoing"
    },
    {
      "slug": "projective-plane-order-12",
      "title": "projective plane order 12",
      "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.