{
  "id": "KL-FCS-014",
  "version": "1.0.0",
  "domain": "Automata",
  "kind": "automata",
  "title": "Parity language under renaming",
  "problem": "Compare two isomorphic parity automata.",
  "specification": {
    "alphabet": [
      "0",
      "1"
    ],
    "left": {
      "start": "E",
      "accepting": [
        "E"
      ],
      "transitions": {
        "E": {
          "0": "E",
          "1": "O"
        },
        "O": {
          "0": "O",
          "1": "E"
        }
      }
    }
  },
  "claim": {
    "equivalent": true
  },
  "witness": {
    "right": {
      "start": "S",
      "accepting": [
        "S"
      ],
      "transitions": {
        "S": {
          "0": "S",
          "1": "T"
        },
        "T": {
          "0": "T",
          "1": "S"
        }
      }
    }
  },
  "verification_scope": "Complete product reachability",
  "explanation": "Renaming states preserves transitions and acceptance. The checker establishes equivalence over every finite binary word.",
  "limitations": "This certificate concerns the declared deterministic machines only.",
  "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": "automata",
    "task": "Compare two isomorphic parity automata.",
    "input_encoding": "Structured JSON; field meanings are stated in the specification.",
    "coverage": "Complete product reachability",
    "acceptance": [
      "Start from the pair of initial states.",
      "Explore every symbol transition until no new pair is reachable.",
      "Compare acceptance in every reachable pair.",
      "For inequivalence, replay a distinguishing input from both initial states."
    ],
    "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": "Compare complete transition systems through their reachable product, rather than checking a short sample of strings.",
    "definitions": [
      {
        "term": "DFA",
        "definition": "A deterministic transition function over a finite state set and alphabet."
      },
      {
        "term": "Product state",
        "definition": "A pair of states reached by reading the same prefix in both automata."
      },
      {
        "term": "Distinguishing word",
        "definition": "A finite input accepted by exactly one of the compared machines."
      }
    ],
    "reasoning": [
      "Start from the pair of initial states.",
      "Explore every symbol transition until no new pair is reachable.",
      "Compare acceptance in every reachable pair.",
      "For inequivalence, replay a distinguishing input from both initial states."
    ],
    "worked_example": "Renaming states preserves transitions and acceptance. The checker establishes equivalence over every finite binary word.",
    "complexity": "At most |Q₁|·|Q₂| product states are visited, with one outgoing edge per alphabet symbol.",
    "common_error": "Bounded string testing is weaker than complete DFA product exploration.",
    "further_work": "Extend the checker to emit shortest distinguishing words and state-minimization partitions."
  },
  "related_ids": [
    "KL-FCS-002",
    "KL-FCS-015"
  ]
}
