{
  "id": "KL-FCS-005",
  "version": "1.0.0",
  "domain": "SAT / SMT",
  "kind": "sat",
  "title": "A satisfiable CNF with a witness",
  "problem": "Decide (a ∨ b) ∧ (¬a ∨ b) ∧ (a ∨ ¬b). Signed literals use DIMACS-style variable numbers.",
  "specification": {
    "variables": 2,
    "clauses": [
      [
        1,
        2
      ],
      [
        -1,
        2
      ],
      [
        1,
        -2
      ]
    ]
  },
  "claim": {
    "satisfiable": true
  },
  "witness": {
    "assignment": [
      true,
      true
    ]
  },
  "verification_scope": "Complete Boolean enumeration · 4 assignments",
  "explanation": "The supplied model a=true, b=true satisfies all three clauses. Enumeration checks the verdict over every assignment.",
  "limitations": "A tiny propositional instance; no solver performance claim or general SAT algorithm benchmark.",
  "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://smt-lib.org/theories-FixedSizeBitVectors.shtml"
  ],
  "license_status": "not-yet-selected",
  "dataset": {
    "family": "sat-smt",
    "task": "Decide (a ∨ b) ∧ (¬a ∨ b) ∧ (a ∨ ¬b). Signed literals use DIMACS-style variable numbers.",
    "input_encoding": "Structured JSON; field meanings are stated in the specification.",
    "coverage": "Complete Boolean enumeration · 4 assignments",
    "acceptance": [
      "Interpret each literal using its variable number and sign.",
      "Enumerate the entire declared Boolean or bit-vector domain.",
      "Check the supplied model against every constraint.",
      "For unsatisfiability, require complete coverage with no satisfying assignment."
    ],
    "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": "Make satisfiability evidence explicit: a model for a positive answer, or complete finite coverage for a negative one.",
    "definitions": [
      {
        "term": "CNF",
        "definition": "A conjunction of clauses, each a disjunction of signed literals."
      },
      {
        "term": "Satisfying model",
        "definition": "An assignment making every clause true."
      },
      {
        "term": "Bit-vector theory",
        "definition": "Fixed-width values with arithmetic modulo 2ʷ; distinct from unbounded integers."
      }
    ],
    "reasoning": [
      "Interpret each literal using its variable number and sign.",
      "Enumerate the entire declared Boolean or bit-vector domain.",
      "Check the supplied model against every constraint.",
      "For unsatisfiability, require complete coverage with no satisfying assignment."
    ],
    "worked_example": "The supplied model a=true, b=true satisfies all three clauses. Enumeration checks the verdict over every assignment.",
    "complexity": "Boolean enumeration examines 2ⁿ assignments. A width-w unary bit-vector instance examines 2ʷ values.",
    "common_error": "A solver’s unverified UNSAT verdict is not a certificate. Fixed-width overflow is part of the theory.",
    "further_work": "Add checked UNSAT proof formats and solver-backed artifacts with pinned versions."
  },
  "related_ids": [
    "KL-FCS-006",
    "KL-FCS-007"
  ]
}
