{
  "schema_version": "ocme-reviewed-question-reader-v1",
  "question_id": "q-20261009-advance-20261013-r04-proof-0029",
  "pilot_number": "R0011-06229",
  "number": 6229,
  "family_id": "qf-density13-proof-horn-goal-check",
  "title": {
    "zh-Hant": "第 6229 題：三個目標的型別與推導深度",
    "en": "Question 6229: Typed MP Goals and Minimum Depths"
  },
  "original_question": {
    "schema_version": "ocme-question-v0.1",
    "id": "q-20261009-advance-20261013-r04-proof-0029",
    "batch_id": "batch-20261009-advance-20261013-r04-proof-foundations",
    "language": "zh-Hant",
    "source_mko_ids": [
      "mko-proof"
    ],
    "title_zh": "三個目標的型別與推導深度",
    "stem_zh": "給定事實與單前提MP；索引從0，n=4，facts=[0]，rules=[[0, 1], [1, 2]]（i→j為單步規則）。queries=[0, 3, 102]。依序列 (目標型別資格, 依規則可得資格, 最短深度／未得／不合型別列表)。",
    "answer": {
      "kind": "expression",
      "value": "([是, 是, 否], [是, 否, 否], [0, 未得, 不合型別])",
      "explanation_zh": "目標型別與推導深度=([是, 是, 否], [是, 否, 否], [0, 未得, 不合型別])。先核型別再查由事實得到的最短深度，未得不等於命題為假；僅依給定規則，循環無事實不能自生，有限稽核非一般邏輯完備性。"
    },
    "difficulty": {
      "band": "upper_secondary",
      "level": 1,
      "skills": [
        "三個目標的型別與推導深度"
      ]
    },
    "variant": {
      "family_id": "qf-density13-proof-horn-goal-check",
      "seed": 202610134029,
      "parameters": {
        "n": 4,
        "facts": [
          0
        ],
        "rules": [
          [
            0,
            1
          ],
          [
            1,
            2
          ]
        ],
        "queries": [
          0,
          3,
          102
        ],
        "operation": "density13_proof_horn_goal_check",
        "domain": "finite_given_MP_protocol",
        "semantic_template": "qf-density13-proof-horn-goal-check/[[\"depth\",0],[\"unreachable\"],[\"untyped\"]]"
      }
    },
    "verification": {
      "status": "candidate",
      "checks": [
        "producer_exact_integer_rational_arithmetic",
        "producer_finite_enumeration",
        "producer_source_snapshot_check",
        "producer_substantive_template_deduplication",
        "producer_json_schema"
      ],
      "warning_zh": "僅為產生端候選及自檢；主端須另做獨立驗收，不構成人工審定、普遍證明或形式 Evidence。"
    },
    "provenance": {
      "generator_role": "question_producer",
      "generator_model": "model_unknown",
      "generated_at": "2026-10-09",
      "contract_version": "ocme-question-factory-v0.1"
    }
  },
  "original_english_edition": {
    "schema_version": "ocme-question-localization-v0.1",
    "question_id": "q-20261009-advance-20261013-r04-proof-0029",
    "batch_id": "batch-20261009-advance-20261013-r04-proof-foundations",
    "locale": "en",
    "translation_state": "ai_candidate",
    "source": {
      "question_sha256": "fc297c5659c94f6c47372ad8ed2a1468cd05a8858ec5f0c5589ee4204ce68d03",
      "family_id": "qf-density13-proof-horn-goal-check",
      "seed": 202610134029,
      "semantic_template": "qf-density13-proof-horn-goal-check/[[\"depth\",0],[\"unreachable\"],[\"untyped\"]]"
    },
    "fields": {
      "title": "Typed MP Goals and Minimum Depths",
      "stem": "Given facts and single-premise MP only: Fin(4)={0,…,3}, facts=[0], rules=[[0, 1], [1, 2]], where [i,j] means i→j. Facts have depth 0 and each MP adds one. Ordered queries=[0, 3, 102]. Give (goal-type mask, derivability mask, minimum depths or not-derived or ill-typed).",
      "answer": {
        "kind": "expression",
        "value": "([Yes, Yes, No], [Yes, No, No], [0, not-derived, ill-typed])",
        "explanation": "Check typing before reachability; not-derived does not mean the proposition is False. Use only the declared rules; a cycle without a seed fact cannot derive itself, and this finite audit is not logical completeness. The exact result, retaining the requested order, is ([Yes, Yes, No], [Yes, No, No], [0, not-derived, ill-typed])."
      },
      "skills": [
        "Typed MP Goals and Minimum Depths"
      ],
      "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": "給定事實與單前提MP；索引從0，n=4，facts=[0]，rules=[[0, 1], [1, 2]]（i→j為單步規則）。queries=[0, 3, 102]。依序列 (目標型別資格, 依規則可得資格, 最短深度／未得／不合型別列表)。",
        "en": "Given facts and single-premise MP only: Fin(4)={0,…,3}, facts=[0], rules=[[0, 1], [1, 2]], where [i,j] means i→j. Facts have depth 0 and each MP adds one. Ordered queries=[0, 3, 102]. Give (goal-type mask, derivability mask, minimum depths or not-derived or ill-typed)."
      }
    }
  ],
  "steps": [
    {
      "id": "S001",
      "uses": [
        "G001"
      ],
      "before": "n=4;given facts=[0];original indexed rules=[[0, 0, 1], [1, 1, 2]]",
      "after": "use only given facts and single-premise MP;not-derived does not mean False",
      "relation": "implies",
      "rule_id": "given_unary_MP_scope",
      "conditions": [],
      "explanation": {
        "zh-Hant": "原子以0起算索引表示，規則i→j只在i已得時可用。沒有事實的循環不能自行產生結論；未得不等於假，有限核對不是一般邏輯完備性。",
        "en": "Atoms use0-based indices and a rule i→j requires an already derived i.A cycle without facts cannot generate conclusions.Not-derived is not False,and this finite check is not general logical completeness."
      },
      "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": "phase=base;given facts=[0]",
      "after": "phase=base;active_rules=[0,1]",
      "relation": "implies",
      "rule_id": "horn_closure_start",
      "conditions": [],
      "explanation": {
        "zh-Hant": "從事實多源開始，保留原始規則列索引；還沒有前提的原子保持未得。",
        "en": "Start from all given facts,retaining original rule-row indices.Atoms with no derived premises remain not-derived."
      },
      "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": "phase=base;given fact=0",
      "after": "phase=base;derive atom=0;depth=0;basis=given",
      "relation": "implies",
      "rule_id": "horn_given_fact",
      "conditions": [],
      "explanation": {
        "zh-Hant": "題目給定事實的深度0，不需要另找MP前提，也不把其他原子一併當成事實。",
        "en": "A supplied fact has depth0 and needs no MP antecedent;other atoms are not silently made facts."
      },
      "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": "base MP depth for atom1 := sum(0, 1)",
      "after": "base MP depth for atom1 = 1",
      "relation": "calculation",
      "rule_id": "exact_rational_arithmetic",
      "conditions": [],
      "explanation": {
        "zh-Hant": "使用一條MP，深度在已知前提深度上加1。",
        "en": "One MP application adds1 to the already known antecedent depth."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "以精確有理數重算 base MP depth for atom1，不以小數近似替代。",
          "en": "Recompute base MP depth for atom1 with exact rational arithmetic, not rounded decimals."
        }
      },
      "arithmetic": {
        "operation": "sum",
        "inputs": [
          "0",
          "1"
        ],
        "output": "1",
        "label": "base MP depth for atom1"
      }
    },
    {
      "id": "S005",
      "uses": [
        "G001",
        "S004"
      ],
      "before": "phase=base;rule[0]=0→1;antecedent depth=0",
      "after": "phase=base;derive atom=1;depth=1;from=0;rule=0",
      "relation": "implies",
      "rule_id": "horn_MP_derivation",
      "conditions": [],
      "explanation": {
        "zh-Hant": "已得前提加題目給定的這一條規則，才首次導出目標；按佇列的非減深度順序擴展。",
        "en": "An already derived antecedent and this given rule yield the target for the first time.Expand the queue in nondecreasing depth order."
      },
      "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": "base MP depth for atom2 := sum(1, 1)",
      "after": "base MP depth for atom2 = 2",
      "relation": "calculation",
      "rule_id": "exact_rational_arithmetic",
      "conditions": [],
      "explanation": {
        "zh-Hant": "使用一條MP，深度在已知前提深度上加1。",
        "en": "One MP application adds1 to the already known antecedent depth."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "以精確有理數重算 base MP depth for atom2，不以小數近似替代。",
          "en": "Recompute base MP depth for atom2 with exact rational arithmetic, not rounded decimals."
        }
      },
      "arithmetic": {
        "operation": "sum",
        "inputs": [
          "1",
          "1"
        ],
        "output": "2",
        "label": "base MP depth for atom2"
      }
    },
    {
      "id": "S007",
      "uses": [
        "G001",
        "S006"
      ],
      "before": "phase=base;rule[1]=1→2;antecedent depth=1",
      "after": "phase=base;derive atom=2;depth=2;from=1;rule=1",
      "relation": "implies",
      "rule_id": "horn_MP_derivation",
      "conditions": [],
      "explanation": {
        "zh-Hant": "已得前提加題目給定的這一條規則，才首次導出目標；按佇列的非減深度順序擴展。",
        "en": "An already derived antecedent and this given rule yield the target for the first time.Expand the queue in nondecreasing depth order."
      },
      "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": "phase=base;edge closure/depth audits=[[0, 0, 1, 0, 1, 是], [1, 1, 2, 1, 2, 是]]",
      "after": "phase=base;depths=[0,1,2,null]",
      "relation": "implies",
      "rule_id": "horn_closed_depth_certificate",
      "conditions": [],
      "explanation": {
        "zh-Hant": "每個已得原子都有上述長度的實際鏈；全部給定邊對可達集合閉合且滿足深度界，任何更短鏈也會迫使較小深度，故此標號最短。null表示此規則模型未得，不表示假。",
        "en": "Every derived atom has a displayed chain of that length.The reached set is closed under every given edge and satisfies the depth bounds,so any shorter chain would force a smaller label.These labels are shortest;null means not-derived in this rule model,not False."
      },
      "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": "query atom=0;inside Fin(4)=是",
      "after": "derived=是;depth/status=0",
      "relation": "implies",
      "rule_id": "horn_goal_type_and_derivability",
      "conditions": [],
      "explanation": {
        "zh-Hant": "先檢型別，再分可得與未得；型別外不查陣列，未得原子也不因此判成假命題。",
        "en": "Check typing before derivability;do not access the array outside its type,and do not classify a not-derived atom as a false proposition."
      },
      "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": "query atom=3;inside Fin(4)=是",
      "after": "derived=否;depth/status=未得",
      "relation": "implies",
      "rule_id": "horn_goal_type_and_derivability",
      "conditions": [],
      "explanation": {
        "zh-Hant": "先檢型別，再分可得與未得；型別外不查陣列，未得原子也不因此判成假命題。",
        "en": "Check typing before derivability;do not access the array outside its type,and do not classify a not-derived atom as a false proposition."
      },
      "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": "query atom=102;inside Fin(4)=否",
      "after": "derived=否;depth/status=不合型別",
      "relation": "implies",
      "rule_id": "horn_goal_type_and_derivability",
      "conditions": [],
      "explanation": {
        "zh-Hant": "先檢型別，再分可得與未得；型別外不查陣列，未得原子也不因此判成假命題。",
        "en": "Check typing before derivability;do not access the array outside its type,and do not classify a not-derived atom as a false proposition."
      },
      "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": [
      [
        true,
        true,
        false
      ],
      [
        true,
        false,
        false
      ],
      [
        0,
        null,
        "不合型別"
      ]
    ],
    "all_depths": [
      0,
      1,
      2,
      null
    ]
  },
  "conclusion": {
    "canonical_value": "([是, 是, 否], [是, 否, 否], [0, 未得, 不合型別])",
    "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-20261009-advance-20261013-r04-proof-foundations",
      "batch_path": "public/data/questions/batches/batch-20261009-advance-20261013-r04-proof-foundations/questions.jsonl",
      "batch_sha256": "9d2b0a978c354c8317efdeb07f00669c8dabe08c14a9392d3101a946b73b4ac0",
      "original_line": 29,
      "original_line_sha256": "54c82ec60128f774aca6685fb49b81a36dd8f3c60317d0d083bcfceed519ed81",
      "question_compact_sha256": "fc297c5659c94f6c47372ad8ed2a1468cd05a8858ec5f0c5589ee4204ce68d03",
      "english_row_compact_sha256": "b20aced7fe3d89d5f6397f125e0ad64851dee71d16dd25d87b91dd716d15631e",
      "english_manifest_path": "public/data/i18n/editions/batch-20261009-advance-20261013-r04-proof-foundations.en.json",
      "english_rows_path": "public/data/i18n/questions/batch-20261009-advance-20261013-r04-proof-foundations.en.jsonl"
    },
    "mko_bindings": {
      "mko-proof": {
        "sha256": "72f6009b912caa3c05a2948a97ca422367574a19ad5fc665964a540875417b91",
        "english_sha256": "1c8ec335b48f7d913d3057b2d632c371b092ca869f799b056b72464d948504fe",
        "original_path": "public/data/mko/proof.json",
        "english_path": "public/data/i18n/editions/mko-proof.en.json"
      }
    },
    "selected_manifest_sha256": "5233edba9654a6cffd8b6b2d83c932f82ded15f9c0b7c733bd049943e672acff",
    "selected_part_sha256": "5b2ce631281eb24b279908f47c6de66fa60d326520852879d324c4f3ac653970",
    "original_candidate_sha256": "17d3696860797145421c8eecf1c8456c4807039d06117503bc9f46bf4afe5025",
    "original_candidate_line_sha256": "17d3696860797145421c8eecf1c8456c4807039d06117503bc9f46bf4afe5025"
  },
  "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-005-p12",
    "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": "b9bbc1c947f477a9c4bb5a579368ac5265f2da4572ce612c30f3633ecaf4ae80",
      "question_first_witness_sha256": "93f720df3ab3af13a792a3e6b443728e3c2a56276df839911f36569333236c55"
    },
    "status": "second_context_reviewed",
    "mathematical_semantics": true,
    "bilingual_semantics": true,
    "steps_reviewed": 11,
    "method": "family_template_semantic_review_plus_independent_per_instance_reconstruction",
    "exact_question_first_check": {
      "model_sha256": "65bf2eadc2049521636e35537b3e1c08174facd69cef96535c5d3cd867eb58d7",
      "arithmetic_steps": 2
    },
    "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."
  }
}
