{
  "schema_version": "ocme-reviewed-question-reader-v1",
  "question_id": "q-20261013-advance-20261019-r04-computational-model-0087",
  "pilot_number": "R0018-09612",
  "number": 9612,
  "family_id": "qf-ext19-model-cycle-termination-risk",
  "title": {
    "zh-Hant": "第 9612 題：有限轉移計算模型",
    "en": "Question 9612: All-Path Finite Termination and Reachable Nonhalting Cycles"
  },
  "original_question": {
    "schema_version": "ocme-question-v0.1",
    "id": "q-20261013-advance-20261019-r04-computational-model-0087",
    "batch_id": "batch-20261013-advance-20261019-r04-computational-model-foundations",
    "language": "zh-Hant",
    "source_mko_ids": [
      "mko-computational-model"
    ],
    "title_zh": "有限轉移計算模型",
    "stem_zh": "完整有限轉移模型。操作=model-cycle-termination-risk；資料={\"n\":6,\"init\":[0],\"halt\":[5],\"steps\":[[0,1],[1,2],[2,5],[0,3],[3,4],[2,1]]}。請依 [reachable,stuck,cycle,all_paths_halt,classification] 欄序回答。",
    "answer": {
      "kind": "expression",
      "value": "([0, 1, 2, 3, 4, 5], [4], 是, 否, reachable非停止cycle)",
      "explanation_zh": "第二批擴展核對=([0, 1, 2, 3, 4, 5], [4], 是, 否, reachable非停止cycle)；依完整明示資料重算；有限／合成資料核對不是一般形式證明；halt與stuck分離；有限prefix不證一般終止。"
    },
    "difficulty": {
      "band": "undergraduate_core",
      "level": 2,
      "skills": [
        "有限轉移計算模型"
      ]
    },
    "variant": {
      "family_id": "qf-ext19-model-cycle-termination-risk",
      "seed": 202610194087,
      "parameters": {
        "n": 6,
        "init": [
          0
        ],
        "halt": [
          5
        ],
        "steps": [
          [
            0,
            1
          ],
          [
            1,
            2
          ],
          [
            2,
            5
          ],
          [
            0,
            3
          ],
          [
            3,
            4
          ],
          [
            2,
            1
          ]
        ],
        "domain": "Fin_transition_model",
        "operation": "model-cycle-termination-risk",
        "semantic_template": "qf-ext19-model-cycle-termination-risk/{\"halt\":[5],\"init\":[0],\"n\":6,\"steps\":[[0,1],[0,3],[1,2],[2,1],[2,5],[3,4]]}"
      }
    },
    "verification": {
      "status": "candidate",
      "checks": [
        "producer_exact_finite_model",
        "producer_source_snapshot_check",
        "producer_substantive_template_deduplication",
        "producer_json_schema"
      ],
      "warning_zh": "僅為產生端候選及自檢；主端須另驗，不構成人工審定、一般程式證明、Lean執行或形式Evidence。"
    },
    "provenance": {
      "generator_role": "question_producer",
      "generator_model": "model_unknown",
      "generated_at": "2026-10-13",
      "contract_version": "ocme-question-factory-v0.1"
    }
  },
  "original_english_edition": {
    "schema_version": "ocme-question-localization-v0.1",
    "question_id": "q-20261013-advance-20261019-r04-computational-model-0087",
    "batch_id": "batch-20261013-advance-20261019-r04-computational-model-foundations",
    "locale": "en",
    "translation_state": "ai_candidate",
    "source": {
      "question_sha256": "6e2803f19e50cbadcbe2bad08e13fd9a892f581be2e277d71e1037a379b9f254",
      "family_id": "qf-ext19-model-cycle-termination-risk",
      "seed": 202610194087,
      "semantic_template": "qf-ext19-model-cycle-termination-risk/{\"halt\":[5],\"init\":[0],\"n\":6,\"steps\":[[0,1],[0,3],[1,2],[2,1],[2,5],[3,4]]}"
    },
    "fields": {
      "title": "All-Path Finite Termination and Reachable Nonhalting Cycles",
      "stem": "Use the complete finite, possibly nondeterministic transition model S=Fin(6)={0,…,5}, Init=[0], Halt=[5], Step=[[0, 1], [1, 2], [2, 5], [0, 3], [3, 4], [2, 1]]. Normalize sets and ordered transition pairs. Execution stops at a declared Halt state, ignoring all of its outgoing edges. A stuck nonhalting state is not a successful halt; finite prefixes prove no general termination. Give (reachable states, reachable stuck states, reachable nonhalting cycle?, all paths reach Halt?, classification). A reachable cycle takes classification precedence over a stuck state, but retain both diagnostics.",
      "answer": {
        "kind": "expression",
        "value": "([0, 1, 2, 3, 4, 5], [4], Yes, No, reachable-nonhalting-cycle)",
        "explanation": "Inspect the entire reachable nonhalting graph; unreachable cycles and outgoing edges from halts do not create this obligation. Empty initial sets are treated vacuously. Finite/synthetic checks are not new general formal Evidence. The exact result, retaining the requested order, is ([0, 1, 2, 3, 4, 5], [4], Yes, No, reachable-nonhalting-cycle)."
      },
      "skills": [
        "All-Path Finite Termination and Reachable Nonhalting Cycles"
      ],
      "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": "完整有限轉移模型。操作=model-cycle-termination-risk；資料={\"n\":6,\"init\":[0],\"halt\":[5],\"steps\":[[0,1],[1,2],[2,5],[0,3],[3,4],[2,1]]}。請依 [reachable,stuck,cycle,all_paths_halt,classification] 欄序回答。",
        "en": "Use the complete finite, possibly nondeterministic transition model S=Fin(6)={0,…,5}, Init=[0], Halt=[5], Step=[[0, 1], [1, 2], [2, 5], [0, 3], [3, 4], [2, 1]]. Normalize sets and ordered transition pairs. Execution stops at a declared Halt state, ignoring all of its outgoing edges. A stuck nonhalting state is not a successful halt; finite prefixes prove no general termination. Give (reachable states, reachable stuck states, reachable nonhalting cycle?, all paths reach Halt?, classification). A reachable cycle takes classification precedence over a stuck state, but retain both diagnostics."
      }
    }
  ],
  "steps": [
    {
      "id": "S001",
      "uses": [
        "G001"
      ],
      "before": "n=6;raw Init=[0];raw Halt=[5];raw Step=[[0, 1], [1, 2], [2, 5], [0, 3], [3, 4], [2, 1]]",
      "after": "Init=[0];Halt=[5];canonical raw Step=[[0, 1], [0, 3], [1, 2], [2, 1], [2, 5], [3, 4]]",
      "relation": "implies",
      "rule_id": "finite_transition_normalization",
      "conditions": [],
      "explanation": {
        "zh-Hant": "整張有限資料先合型，再去重原有向邊。保留halt的原始出邊在資料中，但執行語意在halt停止；不把stuck當成功halt，也不由一條prefix推一般程式終止。",
        "en": "Type the complete finite data and deduplicate directed edges.Retain raw outgoing halt edges as data,but execution stops at halt.Stuck is not successful halt,and one prefix proves no general program termination."
      },
      "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": "Init=[0]",
      "after": "zero-step reachable=[0]",
      "relation": "implies",
      "rule_id": "zero_step_reachability",
      "conditions": [],
      "explanation": {
        "zh-Hant": "每個初始狀態以0步可達，包括初始即halt者；空Init沒有可達狀態。",
        "en": "Every initial state is reachable in zero steps,including an initial halt.An empty Init has no reachable states."
      },
      "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": "depth=0;state=0;halt=否;raw successors=[1, 3]",
      "after": "expanded successors=[1, 3];newly reached=[1, 3]",
      "relation": "implies",
      "rule_id": "reachability_halt_truncates_expansion",
      "conditions": [],
      "explanation": {
        "zh-Hant": "從非halt狀態展開全部後繼，不只挑一條路；已見狀態不重複加入。halt即使列有出邊也不展開。",
        "en": "Expand every successor of a nonhalt state,not just one chosen path.Add unseen states only.A halt is not expanded even when raw outgoing edges exist."
      },
      "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": "S004",
      "uses": [
        "G001",
        "S003"
      ],
      "before": "completed frontier=[0];depth=0",
      "after": "next frontier=[1, 3];all reached=[0, 1, 3]",
      "relation": "implies",
      "rule_id": "complete_finite_reachability_layer",
      "conditions": [],
      "explanation": {
        "zh-Hant": "前緣清空時才到達完整閉包；有限狀態及只加未見者保證此列舉終止，不依賴路徑長度抽樣。",
        "en": "The closure is complete only when the frontier empties.Finitely many states and adding only unseen states ensure enumeration terminates,without sampling a path-length cutoff."
      },
      "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": "S005",
      "uses": [
        "G001",
        "S004"
      ],
      "before": "depth=1;state=1;halt=否;raw successors=[2]",
      "after": "expanded successors=[2];newly reached=[2]",
      "relation": "implies",
      "rule_id": "reachability_halt_truncates_expansion",
      "conditions": [],
      "explanation": {
        "zh-Hant": "從非halt狀態展開全部後繼，不只挑一條路；已見狀態不重複加入。halt即使列有出邊也不展開。",
        "en": "Expand every successor of a nonhalt state,not just one chosen path.Add unseen states only.A halt is not expanded even when raw outgoing edges exist."
      },
      "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": "S006",
      "uses": [
        "G001",
        "S005"
      ],
      "before": "depth=1;state=3;halt=否;raw successors=[4]",
      "after": "expanded successors=[4];newly reached=[4]",
      "relation": "implies",
      "rule_id": "reachability_halt_truncates_expansion",
      "conditions": [],
      "explanation": {
        "zh-Hant": "從非halt狀態展開全部後繼，不只挑一條路；已見狀態不重複加入。halt即使列有出邊也不展開。",
        "en": "Expand every successor of a nonhalt state,not just one chosen path.Add unseen states only.A halt is not expanded even when raw outgoing edges exist."
      },
      "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": "S007",
      "uses": [
        "G001",
        "S006"
      ],
      "before": "completed frontier=[1, 3];depth=1",
      "after": "next frontier=[2, 4];all reached=[0, 1, 2, 3, 4]",
      "relation": "implies",
      "rule_id": "complete_finite_reachability_layer",
      "conditions": [],
      "explanation": {
        "zh-Hant": "前緣清空時才到達完整閉包；有限狀態及只加未見者保證此列舉終止，不依賴路徑長度抽樣。",
        "en": "The closure is complete only when the frontier empties.Finitely many states and adding only unseen states ensure enumeration terminates,without sampling a path-length cutoff."
      },
      "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": "S008",
      "uses": [
        "G001",
        "S007"
      ],
      "before": "depth=2;state=2;halt=否;raw successors=[1, 5]",
      "after": "expanded successors=[1, 5];newly reached=[5]",
      "relation": "implies",
      "rule_id": "reachability_halt_truncates_expansion",
      "conditions": [],
      "explanation": {
        "zh-Hant": "從非halt狀態展開全部後繼，不只挑一條路；已見狀態不重複加入。halt即使列有出邊也不展開。",
        "en": "Expand every successor of a nonhalt state,not just one chosen path.Add unseen states only.A halt is not expanded even when raw outgoing edges exist."
      },
      "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": "S009",
      "uses": [
        "G001",
        "S008"
      ],
      "before": "depth=2;state=4;halt=否;raw successors=[]",
      "after": "expanded successors=[];newly reached=[]",
      "relation": "implies",
      "rule_id": "reachability_halt_truncates_expansion",
      "conditions": [],
      "explanation": {
        "zh-Hant": "從非halt狀態展開全部後繼，不只挑一條路；已見狀態不重複加入。halt即使列有出邊也不展開。",
        "en": "Expand every successor of a nonhalt state,not just one chosen path.Add unseen states only.A halt is not expanded even when raw outgoing edges exist."
      },
      "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": "S010",
      "uses": [
        "G001",
        "S009"
      ],
      "before": "completed frontier=[2, 4];depth=2",
      "after": "next frontier=[5];all reached=[0, 1, 2, 3, 4, 5]",
      "relation": "implies",
      "rule_id": "complete_finite_reachability_layer",
      "conditions": [],
      "explanation": {
        "zh-Hant": "前緣清空時才到達完整閉包；有限狀態及只加未見者保證此列舉終止，不依賴路徑長度抽樣。",
        "en": "The closure is complete only when the frontier empties.Finitely many states and adding only unseen states ensure enumeration terminates,without sampling a path-length cutoff."
      },
      "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": "S011",
      "uses": [
        "G001",
        "S010"
      ],
      "before": "depth=3;state=5;halt=是;raw successors=[]",
      "after": "expanded successors=[];newly reached=[]",
      "relation": "implies",
      "rule_id": "reachability_halt_truncates_expansion",
      "conditions": [],
      "explanation": {
        "zh-Hant": "從非halt狀態展開全部後繼，不只挑一條路；已見狀態不重複加入。halt即使列有出邊也不展開。",
        "en": "Expand every successor of a nonhalt state,not just one chosen path.Add unseen states only.A halt is not expanded even when raw outgoing edges exist."
      },
      "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": "S012",
      "uses": [
        "G001",
        "S011"
      ],
      "before": "completed frontier=[5];depth=3",
      "after": "next frontier=[];all reached=[0, 1, 2, 3, 4, 5]",
      "relation": "implies",
      "rule_id": "complete_finite_reachability_layer",
      "conditions": [],
      "explanation": {
        "zh-Hant": "前緣清空時才到達完整閉包；有限狀態及只加未見者保證此列舉終止，不依賴路徑長度抽樣。",
        "en": "The closure is complete only when the frontier empties.Finitely many states and adding only unseen states ensure enumeration terminates,without sampling a path-length cutoff."
      },
      "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": "S013",
      "uses": [
        "G001",
        "S012"
      ],
      "before": "reached state=0;declared halt=否;raw successors=[1, 3]",
      "after": "status=active-nonhalt",
      "relation": "implies",
      "rule_id": "halt_stuck_active_are_distinct",
      "conditions": [],
      "explanation": {
        "zh-Hant": "halt標記優先；非halt且無後繼才是stuck，有後繼者為active。沒有出邊不會自動變成成功停止。",
        "en": "The halt designation takes precedence.Only a nonhalt with no successor is stuck;one with successors is active.No outgoing edge does not automatically mean successful termination."
      },
      "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": "S014",
      "uses": [
        "G001",
        "S013"
      ],
      "before": "reached state=1;declared halt=否;raw successors=[2]",
      "after": "status=active-nonhalt",
      "relation": "implies",
      "rule_id": "halt_stuck_active_are_distinct",
      "conditions": [],
      "explanation": {
        "zh-Hant": "halt標記優先；非halt且無後繼才是stuck，有後繼者為active。沒有出邊不會自動變成成功停止。",
        "en": "The halt designation takes precedence.Only a nonhalt with no successor is stuck;one with successors is active.No outgoing edge does not automatically mean successful termination."
      },
      "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": "S015",
      "uses": [
        "G001",
        "S014"
      ],
      "before": "reached state=2;declared halt=否;raw successors=[1, 5]",
      "after": "status=active-nonhalt",
      "relation": "implies",
      "rule_id": "halt_stuck_active_are_distinct",
      "conditions": [],
      "explanation": {
        "zh-Hant": "halt標記優先；非halt且無後繼才是stuck，有後繼者為active。沒有出邊不會自動變成成功停止。",
        "en": "The halt designation takes precedence.Only a nonhalt with no successor is stuck;one with successors is active.No outgoing edge does not automatically mean successful termination."
      },
      "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": "S016",
      "uses": [
        "G001",
        "S015"
      ],
      "before": "reached state=3;declared halt=否;raw successors=[4]",
      "after": "status=active-nonhalt",
      "relation": "implies",
      "rule_id": "halt_stuck_active_are_distinct",
      "conditions": [],
      "explanation": {
        "zh-Hant": "halt標記優先；非halt且無後繼才是stuck，有後繼者為active。沒有出邊不會自動變成成功停止。",
        "en": "The halt designation takes precedence.Only a nonhalt with no successor is stuck;one with successors is active.No outgoing edge does not automatically mean successful termination."
      },
      "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": "S017",
      "uses": [
        "G001",
        "S016"
      ],
      "before": "reached state=4;declared halt=否;raw successors=[]",
      "after": "status=stuck-nonhalt",
      "relation": "implies",
      "rule_id": "halt_stuck_active_are_distinct",
      "conditions": [],
      "explanation": {
        "zh-Hant": "halt標記優先；非halt且無後繼才是stuck，有後繼者為active。沒有出邊不會自動變成成功停止。",
        "en": "The halt designation takes precedence.Only a nonhalt with no successor is stuck;one with successors is active.No outgoing edge does not automatically mean successful termination."
      },
      "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": "S018",
      "uses": [
        "G001",
        "S017"
      ],
      "before": "reached state=5;declared halt=是;raw successors=[]",
      "after": "status=halt",
      "relation": "implies",
      "rule_id": "halt_stuck_active_are_distinct",
      "conditions": [],
      "explanation": {
        "zh-Hant": "halt標記優先；非halt且無後繼才是stuck，有後繼者為active。沒有出邊不會自動變成成功停止。",
        "en": "The halt designation takes precedence.Only a nonhalt with no successor is stuck;one with successors is active.No outgoing edge does not automatically mean successful termination."
      },
      "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": "S019",
      "uses": [
        "G001",
        "S018"
      ],
      "before": "reachable=[0, 1, 2, 3, 4, 5];Halt=[5]",
      "after": "reachable nonhalt graph vertices=[0, 1, 2, 3, 4]",
      "relation": "implies",
      "rule_id": "reachable_nonhalt_cycle_scope",
      "conditions": [],
      "explanation": {
        "zh-Hant": "只在可達且非halt的子圖查環；不可達環與halt出邊不影響這個執行問題。",
        "en": "Inspect cycles only in the reachable nonhalt subgraph.Unreachable cycles and outgoing halt edges do not affect this execution question."
      },
      "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": "S020",
      "uses": [
        "G001",
        "S019"
      ],
      "before": "peeling layer=0;remaining=[0, 1, 2, 3, 4]",
      "after": "vertices with no remaining nonhalt successor=[4]",
      "relation": "implies",
      "rule_id": "finite_cycle_sink_peeling",
      "conditions": [],
      "explanation": {
        "zh-Hant": "逐層移除沒有剩餘非halt後繼的頂點；有向環的頂點不可能被這樣移除。stuck也可能被移除，所以另保留stuck檢查。",
        "en": "Repeatedly remove vertices with no remaining nonhalt successor.A directed cycle cannot be removed this way.Stuck vertices may be removed too,so keep the separate stuck check."
      },
      "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": "S021",
      "uses": [
        "G001",
        "S020"
      ],
      "before": "peeling layer=1;remaining=[0, 1, 2, 3]",
      "after": "vertices with no remaining nonhalt successor=[3]",
      "relation": "implies",
      "rule_id": "finite_cycle_sink_peeling",
      "conditions": [],
      "explanation": {
        "zh-Hant": "逐層移除沒有剩餘非halt後繼的頂點；有向環的頂點不可能被這樣移除。stuck也可能被移除，所以另保留stuck檢查。",
        "en": "Repeatedly remove vertices with no remaining nonhalt successor.A directed cycle cannot be removed this way.Stuck vertices may be removed too,so keep the separate stuck check."
      },
      "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": "S022",
      "uses": [
        "G001",
        "S021"
      ],
      "before": "peeling layer=2;remaining=[0, 1, 2]",
      "after": "vertices with no remaining nonhalt successor=[]",
      "relation": "implies",
      "rule_id": "finite_cycle_sink_peeling",
      "conditions": [],
      "explanation": {
        "zh-Hant": "逐層移除沒有剩餘非halt後繼的頂點；有向環的頂點不可能被這樣移除。stuck也可能被移除，所以另保留stuck檢查。",
        "en": "Repeatedly remove vertices with no remaining nonhalt successor.A directed cycle cannot be removed this way.Stuck vertices may be removed too,so keep the separate stuck check."
      },
      "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": "S023",
      "uses": [
        "G001",
        "S022"
      ],
      "before": "nonempty residual=[0, 1, 2];deterministic walk=[0, 1, 2, 1]",
      "after": "reachable nonhalt cycle=[1, 2, 1]",
      "relation": "implies",
      "rule_id": "explicit_reachable_cycle_witness",
      "conditions": [],
      "explanation": {
        "zh-Hant": "剩餘每點都有剩餘後繼，沿最小標籤後繼走，有限集合必重複頂點並給出實際環；可選擇一直走這個環，所以即使也有halt出口，仍非所有路徑到halt。",
        "en": "Every residual vertex has a residual successor.Following the least successor in a finite set repeats a vertex and yields an actual cycle.A path can keep following this cycle,so an available halt exit does not make all paths halt."
      },
      "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": "S024",
      "uses": [
        "G001",
        "S023"
      ],
      "before": "reachable stuck=[4];reachable nonhalt cycle=是",
      "after": "all paths reach Halt=否",
      "relation": "implies",
      "rule_id": "finite_all_paths_termination_joint_gate",
      "conditions": [],
      "explanation": {
        "zh-Hant": "有限模型中，無窮非halt路徑必重複狀態而有環；有限極大路徑若不halt就停在stuck。因此排除兩者才是所有路徑到halt。空Init時是空泛真，不外推任意無限狀態程式。",
        "en": "In a finite model an infinite nonhalt path repeats a state and forms a cycle;a finite maximal nonhalting path ends stuck.Exclude both to ensure every path reaches Halt.Empty Init is vacuous;this does not establish termination of arbitrary infinite-state programs."
      },
      "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": "S025",
      "uses": [
        "G001",
        "S024"
      ],
      "before": "cycle=是;stuck=[4]",
      "after": "classification=reachable非停止cycle",
      "relation": "implies",
      "rule_id": "cycle_classification_precedence_without_erasing_stuck",
      "conditions": [],
      "explanation": {
        "zh-Hant": "若環與stuck同時存在，分類優先報環，但前欄仍完整保留stuck，不能用優先級消去另一診斷。",
        "en": "When cycle and stuck coexist,the label prioritizes the cycle while the earlier field retains all stuck states.Priority does not erase the other diagnostic."
      },
      "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": [
      [
        0,
        1,
        2,
        3,
        4,
        5
      ],
      [
        4
      ],
      true,
      false,
      "reachable非停止cycle"
    ]
  },
  "conclusion": {
    "canonical_value": "([0, 1, 2, 3, 4, 5], [4], 是, 否, reachable非停止cycle)",
    "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-20261013-advance-20261019-r04-computational-model-foundations",
      "batch_path": "public/data/questions/batches/batch-20261013-advance-20261019-r04-computational-model-foundations/questions.jsonl",
      "batch_sha256": "cd8be3fc874c2679c687b7da60c375690d2be058604ca0ac451e2b4fef43d5f3",
      "original_line": 87,
      "original_line_sha256": "77bd62e35a8e224a1400aee934471e4a1fbfa132f86a73062051b9805d520656",
      "question_compact_sha256": "6e2803f19e50cbadcbe2bad08e13fd9a892f581be2e277d71e1037a379b9f254",
      "english_row_compact_sha256": "5a9611a9579d05c209829187d58d42fa102bf16d22acfeec461e7b4a604b1bd9",
      "english_manifest_path": "public/data/i18n/editions/batch-20261013-advance-20261019-r04-computational-model-foundations.en.json",
      "english_rows_path": "public/data/i18n/questions/batch-20261013-advance-20261019-r04-computational-model-foundations.en.jsonl"
    },
    "mko_bindings": {
      "mko-computational-model": {
        "sha256": "ceedb5463ff015fc7cd0f74870bfb9033cfb9a8ff893490b0335fe4bf9112ace",
        "english_sha256": "ebf84673ae14cdac5d40d5169fdf883572ebfb975b108019f7d01964682ca3ef",
        "original_path": "public/data/mko/computational-model.json",
        "english_path": "public/data/i18n/editions/mko-computational-model.en.json"
      }
    },
    "selected_manifest_sha256": "5233edba9654a6cffd8b6b2d83c932f82ded15f9c0b7c733bd049943e672acff",
    "selected_part_sha256": "2cf5df7bf9c3d48dfd41d968723b60d910c4ecfec9c2089d22ac1cda059a6086",
    "original_candidate_sha256": "b947962200b8ef8f846918c35e7a7fe8e421e8df05971204d0d0940477b09552",
    "original_candidate_line_sha256": "b947962200b8ef8f846918c35e7a7fe8e421e8df05971204d0d0940477b09552"
  },
  "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-006-p19",
    "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": "bd35da62087a15d6b89b45585dc46e89b9efbe097cba7b3c707b5030496f013c",
      "question_first_witness_sha256": "fab45a10d8ac95c7d61d32e47d1bdd3ca862c17c3289a6bf4b01d4dc9492fbb6"
    },
    "status": "second_context_reviewed",
    "mathematical_semantics": true,
    "bilingual_semantics": true,
    "steps_reviewed": 25,
    "method": "family_template_semantic_review_plus_independent_per_instance_reconstruction",
    "exact_question_first_check": {
      "model_sha256": "7e38a4e27037ae323b894f0c84e98f743473662bffe77a73985c9dffae48bd3c",
      "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."
  }
}
