{
  "schema_version": "ocme-reviewed-question-reader-v1",
  "question_id": "q-20261014-advance-20261112-r07-subset-construction-nfa-to-dfa-0071",
  "pilot_number": "R0046-23921",
  "number": 23921,
  "family_id": "qf-mod43-subsetdfa-accepting-subset",
  "title": {
    "zh-Hant": "第 23921 題：NFA到DFA的子集合構造",
    "en": "Question 23921: A Subset Accepts Exactly When It Intersects the NFA Final Set"
  },
  "original_question": {
    "schema_version": "ocme-question-v0.1",
    "id": "q-20261014-advance-20261112-r07-subset-construction-nfa-to-dfa-0071",
    "batch_id": "batch-20261014-advance-20261112-r07-subset-construction-nfa-to-dfa-foundations",
    "language": "zh-Hant",
    "source_mko_ids": [
      "mko-subset-construction-nfa-to-dfa"
    ],
    "title_zh": "NFA到DFA的子集合構造",
    "stem_zh": "epsilon-closed start、move後closure與accepting-subset交集規則。操作=subsetdfa-accepting-subset；資料={\"states\":[\"s20\",\"m20\",\"f20\",\"e120\",\"e220\",\"d20\"],\"alphabet\":[\"a20\",\"b20\"],\"start_state\":\"s20\",\"final_states\":[\"f20\"],\"transitions\":[[\"s20\",null,\"m20\"],[\"s20\",null,\"d20\"],[\"m20\",\"a20\",\"m20\"],[\"m20\",\"b20\",\"f20\"],[\"f20\",null,\"e120\"],[\"e120\",null,\"e220\"]],\"subset\":[\"f20\",\"m20\"]}。請依 exact_ordered_tuple_declared_by_interface 欄序回答。",
    "answer": {
      "kind": "expression",
      "value": "([f20, m20], [f20], [f20], 是, DFA_subset_accepts_exactly_when_it_intersects_the_NFA_final_set)",
      "explanation_zh": "Wave6第六層核對=([f20, m20], [f20], [f20], 是, DFA_subset_accepts_exactly_when_it_intersects_the_NFA_final_set)；依完整明示資料獨立重算；empty subset是合法dead state，DFA prefix subset須等於全部epsilon-closed NFA reachable states；language equivalence依任意word prefix induction；有限accept/reject tests不足。"
    },
    "difficulty": {
      "band": "undergraduate_core",
      "level": 3,
      "skills": [
        "NFA到DFA的子集合構造"
      ]
    },
    "variant": {
      "family_id": "qf-mod43-subsetdfa-accepting-subset",
      "seed": 202611127071,
      "parameters": {
        "states": [
          "s20",
          "m20",
          "f20",
          "e120",
          "e220",
          "d20"
        ],
        "alphabet": [
          "a20",
          "b20"
        ],
        "start_state": "s20",
        "final_states": [
          "f20"
        ],
        "transitions": [
          [
            "s20",
            null,
            "m20"
          ],
          [
            "s20",
            null,
            "d20"
          ],
          [
            "m20",
            "a20",
            "m20"
          ],
          [
            "m20",
            "b20",
            "f20"
          ],
          [
            "f20",
            null,
            "e120"
          ],
          [
            "e120",
            null,
            "e220"
          ]
        ],
        "subset": [
          "f20",
          "m20"
        ],
        "domain": "Epsilon_NFA_subset_construction",
        "operation": "subsetdfa-accepting-subset",
        "semantic_template": "qf-mod43-subsetdfa-accepting-subset/{\"alphabet\":[\"a20\",\"b20\"],\"final_states\":[\"f20\"],\"start_state\":\"s20\",\"states\":[\"d20\",\"e120\",\"e220\",\"f20\",\"m20\",\"s20\"],\"subset\":[\"f20\",\"m20\"],\"transitions\":[[\"e120\",null,\"e220\"],[\"f20\",null,\"e120\"],[\"m20\",\"a20\",\"m20\"],[\"m20\",\"b20\",\"f20\"],[\"s20\",null,\"d20\"],[\"s20\",null,\"m20\"]]}"
      }
    },
    "verification": {
      "status": "candidate",
      "checks": [
        "producer_exact_finite_or_symbolic_model",
        "producer_source_snapshot_check",
        "producer_substantive_template_deduplication",
        "producer_json_schema"
      ],
      "warning_zh": "候選須主端重算；不構成人工審定、一般定理的有限枚舉替代、未宣告瑕積分、未明示係數律、Euler criterion循環、有限word等價、Lean或Evidence。"
    },
    "provenance": {
      "generator_role": "question_producer",
      "generator_model": "model_unknown",
      "generated_at": "2026-10-14",
      "contract_version": "ocme-question-factory-v0.1"
    }
  },
  "original_english_edition": {
    "schema_version": "ocme-question-localization-v0.1",
    "question_id": "q-20261014-advance-20261112-r07-subset-construction-nfa-to-dfa-0071",
    "batch_id": "batch-20261014-advance-20261112-r07-subset-construction-nfa-to-dfa-foundations",
    "locale": "en",
    "translation_state": "ai_candidate",
    "source": {
      "question_sha256": "669cba570953f6729acf240b3de1fd7f3adfacd0dfc5937912848f571e0259e0",
      "family_id": "qf-mod43-subsetdfa-accepting-subset",
      "seed": 202611127071,
      "semantic_template": "qf-mod43-subsetdfa-accepting-subset/{\"alphabet\":[\"a20\",\"b20\"],\"final_states\":[\"f20\"],\"start_state\":\"s20\",\"states\":[\"d20\",\"e120\",\"e220\",\"f20\",\"m20\",\"s20\"],\"subset\":[\"f20\",\"m20\"],\"transitions\":[[\"e120\",null,\"e220\"],[\"f20\",null,\"e120\"],[\"m20\",\"a20\",\"m20\"],[\"m20\",\"b20\",\"f20\"],[\"s20\",null,\"d20\"],[\"s20\",null,\"m20\"]]}"
    },
    "fields": {
      "title": "A Subset Accepts Exactly When It Intersects the NFA Final Set",
      "stem": "Use complete epsilon-NFA states=[s20, m20, f20, e120, e220, d20], alphabet=[a20, b20], start=s20, final_states=[f20], transitions=[[s20, null, m20], [s20, null, d20], [m20, a20, m20], [m20, b20, f20], [f20, null, e120], [e120, null, e220]]. Each transition is [from,input symbol or null,to], with null consuming no input. States/labels and transitions must qualify, and subsets are unique carrier subsets sorted lexicographically. Empty alphabet/final sets and empty subset states are allowed. Given subset S=[f20, m20]. Give (subset, NFA_final_states, intersection, accepting_subset, certificate).",
      "answer": {
        "kind": "expression",
        "value": "([f20, m20], [f20], [f20], Yes, DFA_subset_accepts_exactly_when_it_intersects_the_NFA_final_set)",
        "explanation": "Intersect the exact supplied subset with final states and test nonemptiness. Empty subset is a legal rejecting dead state. Do not insert an additional unrequested epsilon closure into this acceptance rule. The exact result, retaining the requested order, is ([f20, m20], [f20], [f20], Yes, DFA_subset_accepts_exactly_when_it_intersects_the_NFA_final_set)."
      },
      "skills": [
        "A Subset Accepts Exactly When It Intersects the NFA Final Set"
      ],
      "verification_warning": "This is a candidate exercise. Mechanical recomputation checks only the stated conditions and this instance; it is neither a formal proof nor human review."
    }
  },
  "givens": [
    {
      "id": "G001",
      "text": {
        "zh-Hant": "epsilon-closed start、move後closure與accepting-subset交集規則。操作=subsetdfa-accepting-subset；資料={\"states\":[\"s20\",\"m20\",\"f20\",\"e120\",\"e220\",\"d20\"],\"alphabet\":[\"a20\",\"b20\"],\"start_state\":\"s20\",\"final_states\":[\"f20\"],\"transitions\":[[\"s20\",null,\"m20\"],[\"s20\",null,\"d20\"],[\"m20\",\"a20\",\"m20\"],[\"m20\",\"b20\",\"f20\"],[\"f20\",null,\"e120\"],[\"e120\",null,\"e220\"]],\"subset\":[\"f20\",\"m20\"]}。請依 exact_ordered_tuple_declared_by_interface 欄序回答。",
        "en": "Use complete epsilon-NFA states=[s20, m20, f20, e120, e220, d20], alphabet=[a20, b20], start=s20, final_states=[f20], transitions=[[s20, null, m20], [s20, null, d20], [m20, a20, m20], [m20, b20, f20], [f20, null, e120], [e120, null, e220]]. Each transition is [from,input symbol or null,to], with null consuming no input. States/labels and transitions must qualify, and subsets are unique carrier subsets sorted lexicographically. Empty alphabet/final sets and empty subset states are allowed. Given subset S=[f20, m20]. Give (subset, NFA_final_states, intersection, accepting_subset, certificate)."
      }
    }
  ],
  "steps": [
    {
      "id": "S001",
      "uses": [
        "G001"
      ],
      "before": "source operation=subsetdfa-accepting-subset;original snapshot and mathematics retained",
      "after": "explicit ordered source output fields=[subset, NFA_final_states, intersection, accepting_subset, certificate]",
      "relation": "implies",
      "rule_id": "source_ordered_interface_explicit_without_javascript",
      "conditions": [],
      "explanation": {
        "zh-Hant": "保留原題介面快照，本頁直接列來源欄序，不需JavaScript。radius由原mode選6／11欄，不補欄；No與實際否定依來源責任分清。",
        "en": "Keep the source snapshot while listing ordered fields without JavaScript.Radius uses its original mode to select6 or11 fields without padding;distinguish nonclaims from actual negations."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S002",
      "uses": [
        "G001",
        "S001"
      ],
      "before": "ORIGINAL states=[s20, m20, f20, e120, e220, d20],alphabet=[a20, b20],start=s20;ORIGINAL transition order=[[s20, null, m20], [s20, null, d20], [m20, a20, m20], [m20, b20, f20], [f20, null, e120], [e120, null, e220]]",
      "after": "final set normalized UTF16=[f20];states nonempty,alphabet/finals/relation MAYEMPTY;DUPLICATE triples rejected in THIS model",
      "relation": "implies",
      "rule_id": "subsetdfa_qualified_NFA_signature_DUPLICATE_edges_REJECTED_here",
      "conditions": [],
      "explanation": {
        "zh-Hant": "此題與前一NFA節點不同：transition triple須唯一，finals須排序。所有subset都是真carrier子集合；不偷用舊wrapper的duplicate／final-order慣例。",
        "en": "This model differs from the earlier NFA node:transition triples are unique and finals are sorted.Subsets must be actual carrier subsets;do not import old duplicate/final-order conventions."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S003",
      "uses": [
        "G001",
        "S002"
      ],
      "before": "EXACT ORIGINAL supplied S=[f20, m20];normalized SAME-machine final set=[f20]",
      "after": "actual intersection=[f20];accepting_subset=是;NO EPS closure inserted",
      "relation": "implies",
      "rule_id": "subsetdfa_EXACT_given_subset_final_intersection_NO_hidden_closure",
      "conditions": [],
      "explanation": {
        "zh-Hant": "這是DFA接受subset的定義，不改為從任意未closed S出發的NFA空字接受判定；empty subset是合法rejecting dead state。",
        "en": "This is the definition of an accepting DFA subset,not NFA empty-word acceptance from an arbitrary unclosed S.The empty subset is a legal rejecting dead state."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    }
  ],
  "math_model": {
    "result": [
      [
        "f20",
        "m20"
      ],
      [
        "f20"
      ],
      [
        "f20"
      ],
      true,
      "DFA_subset_accepts_exactly_when_it_intersects_the_NFA_final_set"
    ]
  },
  "conclusion": {
    "canonical_value": "([f20, m20], [f20], [f20], 是, DFA_subset_accepts_exactly_when_it_intersects_the_NFA_final_set)",
    "explanation": {
      "zh-Hant": "依上列完整代值及條件核對得到原題答案；原題編號、格式與狀態保持不變。",
      "en": "The full substitutions and premise checks give the original answer; source identity,format and status are unchanged."
    }
  },
  "definition_note": {
    "zh-Hant": "沿用原題明示的論域、假設與來源 MKO 定義。本題已完成第二對話數理與中英語義覆核，並由原始參數逐題獨立重算模型、答案與每個算術步驟；原題仍為 candidate。",
    "en": "Use the original question domain, assumptions and cited MKO definitions. This item has second-context mathematical and bilingual review, with the model, answer and every arithmetic step independently recomputed from the original parameters; the source question remains a candidate."
  },
  "source": {
    "input_commit": "0f7be61e2c22317a4075561dc822c87d881a50db",
    "question_binding": {
      "batch_id": "batch-20261014-advance-20261112-r07-subset-construction-nfa-to-dfa-foundations",
      "batch_path": "public/data/questions/batches/batch-20261014-advance-20261112-r07-subset-construction-nfa-to-dfa-foundations/questions.jsonl",
      "batch_sha256": "a23687ec03aeead0cc0a25da3de69f4c9b38e10ed6014659a065db3ebe5b40c0",
      "original_line": 71,
      "original_line_sha256": "acaa1c8da4965d84dd6c2a37b3058e6f87c49e103c087b80b7906220a4458e72",
      "question_compact_sha256": "669cba570953f6729acf240b3de1fd7f3adfacd0dfc5937912848f571e0259e0",
      "english_row_compact_sha256": "b10e3d36745965c4c5e8d320710434b62b223c53aedfedf6d556226e97bf057c",
      "english_manifest_path": "public/data/i18n/editions/batch-20261014-advance-20261112-r07-subset-construction-nfa-to-dfa-foundations.en.json",
      "english_rows_path": "public/data/i18n/questions/batch-20261014-advance-20261112-r07-subset-construction-nfa-to-dfa-foundations.en.jsonl"
    },
    "mko_bindings": {
      "mko-subset-construction-nfa-to-dfa": {
        "sha256": "813266740a8269286c26a644c634a9940342e8c8909e1d7fd8233daa628c68b3",
        "english_sha256": "3b47add3d1dae221afbd48a68b2b959bf3bedd4a4bf2ee1185dc04047932c28e",
        "original_path": "public/data/mko/subset-construction-nfa-to-dfa.json",
        "english_path": "public/data/i18n/editions/mko-subset-construction-nfa-to-dfa.en.json"
      }
    },
    "selected_manifest_sha256": "5233edba9654a6cffd8b6b2d83c932f82ded15f9c0b7c733bd049943e672acff",
    "selected_part_sha256": "04d5fe00084f382c9e6853d5f11c80b558d9cf857160ceb644fa20b64948d1fe",
    "original_candidate_sha256": "19bc40eee437209d094d650530bd0c5f740c5ea750d5d6c21de7640614912319",
    "original_candidate_line_sha256": "19bc40eee437209d094d650530bd0c5f740c5ea750d5d6c21de7640614912319"
  },
  "historical_source_state": {
    "review_state": {
      "derivation": "candidate_authored_and_locally_checked",
      "source_question_state": "candidate",
      "independent_AI_or_human_review": "NOT_PERFORMED",
      "formalization": "not_formalized",
      "Lean": "NOT_RUN"
    },
    "scope_note": {
      "zh-Hant": "來源綁定教學推導候選；精確核對不等於獨立AI／人工審查或一般形式證明。原題、答案、MKO、公式、AST與歷史不變。",
      "en": "Source-bound pedagogical derivation candidate.Exact checking is not independent AI/human review or general formal proof.Original questions,answers,MKOs,formulas,ASTs and history remain unchanged."
    },
    "label": "Frozen producer metadata; current per-question review is separate below."
  },
  "revision": {
    "id": "review-20261026-009-p47",
    "review_date": "2026-10-26",
    "owner_authorized_reader_publication": true,
    "scope": "One hundred sixty family prototypes and their mathematical/bilingual reasoning variants, stems, boundary statements and every distinct explanation shape were reviewed in a context independent of the producer; parameter substitutions, source bindings, full math models, both answer strings and every arithmetic step were independently reconstructed per question from the original parameters only, with negative controls. This grouped method does not claim a separate literal AI reading of every repeated sentence or an extra AI voter.",
    "review_receipts": {
      "semantic_review_sha256": "a7c0d888ade6d307703c4222c4137c78c0d2448babdcba2fa3446fe6fdd343c1",
      "question_first_witness_sha256": "c9571f97a37d503ad6a61034cc00108543a05c37ef246d1c4962f55136a3de02"
    },
    "status": "second_context_reviewed",
    "mathematical_semantics": true,
    "bilingual_semantics": true,
    "steps_reviewed": 3,
    "method": "family_template_semantic_review_plus_independent_per_instance_reconstruction",
    "exact_question_first_check": {
      "model_sha256": "fe1cd4ed79bc2f8dad8ec13f8bce44cc71a468dbbb389c3fd374353e355aa2d3",
      "arithmetic_steps": 0
    },
    "uses_answer_as_premise": false,
    "human_review": "NOT_PERFORMED",
    "formalization": "not_formalized",
    "Lean": "NOT_RUN",
    "Canonical_truth_promotion": false,
    "authority": "Owner-authorized reviewed reader publication; original question/candidate states remain historical and unchanged."
  }
}
