{
  "name": "Constraint satisfaction",
  "version": "1.0.0",
  "area": {
    "name": "Constraint satisfaction",
    "slug": "constraints",
    "group": "Optimization",
    "kind": "constraints",
    "summary": "Expose both satisfiable assignments and complete impossibility arguments for finite variable domains.",
    "definitions": [
      {
        "term": "Constraint",
        "definition": "A relation restricting allowed variable assignments."
      },
      {
        "term": "Graph coloring",
        "definition": "Adjacent vertices must receive different colors."
      },
      {
        "term": "Solution space",
        "definition": "Every assignment satisfying all declared constraints."
      }
    ],
    "methodology": [
      "Enumerate one color value for each vertex.",
      "Check every edge’s unequal-color constraint.",
      "Count the complete solution space.",
      "Validate a coloring witness, or require enumeration evidence when no model exists."
    ],
    "complexity": "k colors on n vertices produce kⁿ assignments. Color-label permutations can create symmetric solutions.",
    "common_error": "Failing to find a solution is not equivalent to proving there is none.",
    "next_question": "Add symmetry reduction and checked propagation or conflict explanations.",
    "references": [
      "https://ocw.mit.edu/courses/18-404j-theory-of-computation-fall-2020/download/"
    ]
  },
  "records": [
    {
      "id": "KL-FCS-046",
      "version": "1.0.0",
      "domain": "Constraint satisfaction",
      "kind": "constraints",
      "title": "A triangle cannot use two colors",
      "problem": "Decide and count color assignments satisfying every graph edge.",
      "specification": {
        "vertices": 3,
        "edges": [
          [
            0,
            1
          ],
          [
            1,
            2
          ],
          [
            2,
            0
          ]
        ],
        "colors": 2
      },
      "claim": {
        "satisfiable": false,
        "solution_count": 0
      },
      "witness": {
        "method": "exhaustive enumeration"
      },
      "verification_scope": "Complete assignment space · 8 candidates",
      "explanation": "Every assignment either yields a fully valid coloring or an edge witnessing failure. Counting includes distinct color labels, so symmetric assignments remain separate.",
      "limitations": "This is a finite coloring instance; the solution count is not reduced by graph or color symmetries.",
      "verification_status": "mechanically-checked",
      "review_status": "awaiting-independent-review",
      "provenance": {
        "origin": "Original Kenton Labs reference instance, authored with Codex assistance on 2026-10-11.",
        "external_dataset": null,
        "model_run": null
      },
      "references": [
        "https://ocw.mit.edu/courses/18-404j-theory-of-computation-fall-2020/download/"
      ],
      "license_status": "not-yet-selected",
      "dataset": {
        "family": "constraints",
        "task": "Decide and count color assignments satisfying every graph edge.",
        "input_encoding": "Structured JSON; field meanings are stated in the specification.",
        "coverage": "Complete assignment space · 8 candidates",
        "acceptance": [
          "Enumerate one color value for each vertex.",
          "Check every edge’s unequal-color constraint.",
          "Count the complete solution space.",
          "Validate a coloring witness, or require enumeration evidence when no model exists."
        ],
        "generation": "Deterministic finite fixture; full enumeration or witness replay as stated.",
        "split_policy": "Reference corpus for exposition and reproduction; no train/test evaluation split is claimed."
      },
      "lesson": {
        "motivation": "Expose both satisfiable assignments and complete impossibility arguments for finite variable domains.",
        "definitions": [
          {
            "term": "Constraint",
            "definition": "A relation restricting allowed variable assignments."
          },
          {
            "term": "Graph coloring",
            "definition": "Adjacent vertices must receive different colors."
          },
          {
            "term": "Solution space",
            "definition": "Every assignment satisfying all declared constraints."
          }
        ],
        "reasoning": [
          "Enumerate one color value for each vertex.",
          "Check every edge’s unequal-color constraint.",
          "Count the complete solution space.",
          "Validate a coloring witness, or require enumeration evidence when no model exists."
        ],
        "worked_example": "Every assignment either yields a fully valid coloring or an edge witnessing failure. Counting includes distinct color labels, so symmetric assignments remain separate.",
        "complexity": "k colors on n vertices produce kⁿ assignments. Color-label permutations can create symmetric solutions.",
        "common_error": "Failing to find a solution is not equivalent to proving there is none.",
        "further_work": "Add symmetry reduction and checked propagation or conflict explanations."
      },
      "related_ids": [
        "KL-FCS-047",
        "KL-FCS-048"
      ]
    },
    {
      "id": "KL-FCS-047",
      "version": "1.0.0",
      "domain": "Constraint satisfaction",
      "kind": "constraints",
      "title": "A four-cycle admits two colors",
      "problem": "Decide and count color assignments satisfying every graph edge.",
      "specification": {
        "vertices": 4,
        "edges": [
          [
            0,
            1
          ],
          [
            1,
            2
          ],
          [
            2,
            3
          ],
          [
            3,
            0
          ]
        ],
        "colors": 2
      },
      "claim": {
        "satisfiable": true,
        "solution_count": 2
      },
      "witness": {
        "coloring": [
          0,
          1,
          0,
          1
        ]
      },
      "verification_scope": "Complete assignment space · 16 candidates",
      "explanation": "Every assignment either yields a fully valid coloring or an edge witnessing failure. Counting includes distinct color labels, so symmetric assignments remain separate.",
      "limitations": "This is a finite coloring instance; the solution count is not reduced by graph or color symmetries.",
      "verification_status": "mechanically-checked",
      "review_status": "awaiting-independent-review",
      "provenance": {
        "origin": "Original Kenton Labs reference instance, authored with Codex assistance on 2026-10-11.",
        "external_dataset": null,
        "model_run": null
      },
      "references": [
        "https://ocw.mit.edu/courses/18-404j-theory-of-computation-fall-2020/download/"
      ],
      "license_status": "not-yet-selected",
      "dataset": {
        "family": "constraints",
        "task": "Decide and count color assignments satisfying every graph edge.",
        "input_encoding": "Structured JSON; field meanings are stated in the specification.",
        "coverage": "Complete assignment space · 16 candidates",
        "acceptance": [
          "Enumerate one color value for each vertex.",
          "Check every edge’s unequal-color constraint.",
          "Count the complete solution space.",
          "Validate a coloring witness, or require enumeration evidence when no model exists."
        ],
        "generation": "Deterministic finite fixture; full enumeration or witness replay as stated.",
        "split_policy": "Reference corpus for exposition and reproduction; no train/test evaluation split is claimed."
      },
      "lesson": {
        "motivation": "Expose both satisfiable assignments and complete impossibility arguments for finite variable domains.",
        "definitions": [
          {
            "term": "Constraint",
            "definition": "A relation restricting allowed variable assignments."
          },
          {
            "term": "Graph coloring",
            "definition": "Adjacent vertices must receive different colors."
          },
          {
            "term": "Solution space",
            "definition": "Every assignment satisfying all declared constraints."
          }
        ],
        "reasoning": [
          "Enumerate one color value for each vertex.",
          "Check every edge’s unequal-color constraint.",
          "Count the complete solution space.",
          "Validate a coloring witness, or require enumeration evidence when no model exists."
        ],
        "worked_example": "Every assignment either yields a fully valid coloring or an edge witnessing failure. Counting includes distinct color labels, so symmetric assignments remain separate.",
        "complexity": "k colors on n vertices produce kⁿ assignments. Color-label permutations can create symmetric solutions.",
        "common_error": "Failing to find a solution is not equivalent to proving there is none.",
        "further_work": "Add symmetry reduction and checked propagation or conflict explanations."
      },
      "related_ids": [
        "KL-FCS-046",
        "KL-FCS-048"
      ]
    },
    {
      "id": "KL-FCS-048",
      "version": "1.0.0",
      "domain": "Constraint satisfaction",
      "kind": "constraints",
      "title": "Four pairwise adjacent vertices need more colors",
      "problem": "Decide and count color assignments satisfying every graph edge.",
      "specification": {
        "vertices": 4,
        "edges": [
          [
            0,
            1
          ],
          [
            0,
            2
          ],
          [
            0,
            3
          ],
          [
            1,
            2
          ],
          [
            1,
            3
          ],
          [
            2,
            3
          ]
        ],
        "colors": 3
      },
      "claim": {
        "satisfiable": false,
        "solution_count": 0
      },
      "witness": {
        "method": "exhaustive enumeration"
      },
      "verification_scope": "Complete assignment space · 81 candidates",
      "explanation": "Every assignment either yields a fully valid coloring or an edge witnessing failure. Counting includes distinct color labels, so symmetric assignments remain separate.",
      "limitations": "This is a finite coloring instance; the solution count is not reduced by graph or color symmetries.",
      "verification_status": "mechanically-checked",
      "review_status": "awaiting-independent-review",
      "provenance": {
        "origin": "Original Kenton Labs reference instance, authored with Codex assistance on 2026-10-11.",
        "external_dataset": null,
        "model_run": null
      },
      "references": [
        "https://ocw.mit.edu/courses/18-404j-theory-of-computation-fall-2020/download/"
      ],
      "license_status": "not-yet-selected",
      "dataset": {
        "family": "constraints",
        "task": "Decide and count color assignments satisfying every graph edge.",
        "input_encoding": "Structured JSON; field meanings are stated in the specification.",
        "coverage": "Complete assignment space · 81 candidates",
        "acceptance": [
          "Enumerate one color value for each vertex.",
          "Check every edge’s unequal-color constraint.",
          "Count the complete solution space.",
          "Validate a coloring witness, or require enumeration evidence when no model exists."
        ],
        "generation": "Deterministic finite fixture; full enumeration or witness replay as stated.",
        "split_policy": "Reference corpus for exposition and reproduction; no train/test evaluation split is claimed."
      },
      "lesson": {
        "motivation": "Expose both satisfiable assignments and complete impossibility arguments for finite variable domains.",
        "definitions": [
          {
            "term": "Constraint",
            "definition": "A relation restricting allowed variable assignments."
          },
          {
            "term": "Graph coloring",
            "definition": "Adjacent vertices must receive different colors."
          },
          {
            "term": "Solution space",
            "definition": "Every assignment satisfying all declared constraints."
          }
        ],
        "reasoning": [
          "Enumerate one color value for each vertex.",
          "Check every edge’s unequal-color constraint.",
          "Count the complete solution space.",
          "Validate a coloring witness, or require enumeration evidence when no model exists."
        ],
        "worked_example": "Every assignment either yields a fully valid coloring or an edge witnessing failure. Counting includes distinct color labels, so symmetric assignments remain separate.",
        "complexity": "k colors on n vertices produce kⁿ assignments. Color-label permutations can create symmetric solutions.",
        "common_error": "Failing to find a solution is not equivalent to proving there is none.",
        "further_work": "Add symmetry reduction and checked propagation or conflict explanations."
      },
      "related_ids": [
        "KL-FCS-046",
        "KL-FCS-047"
      ]
    }
  ],
  "verification": [
    {
      "id": "KL-FCS-046",
      "status": "mechanically-checked",
      "check_units": 8,
      "scope": "Complete assignment space · 8 candidates",
      "review_status": "awaiting-independent-review"
    },
    {
      "id": "KL-FCS-047",
      "status": "mechanically-checked",
      "check_units": 16,
      "scope": "Complete assignment space · 16 candidates",
      "review_status": "awaiting-independent-review"
    },
    {
      "id": "KL-FCS-048",
      "status": "mechanically-checked",
      "check_units": 81,
      "scope": "Complete assignment space · 81 candidates",
      "review_status": "awaiting-independent-review"
    }
  ]
}
