{
  "schema_version": "ocme-reviewed-question-reader-v1",
  "question_id": "q-20260925-triangle-opposite-side-0013",
  "pilot_number": "R0070-35718",
  "number": 35718,
  "family_id": "qf-triangle-opposite-side",
  "title": {
    "zh-Hant": "第 35718 題：頂點的對邊",
    "en": "Question 35718: Side Opposite a Vertex"
  },
  "original_question": {
    "schema_version": "ocme-question-v0.1",
    "id": "q-20260925-triangle-opposite-side-0013",
    "batch_id": "batch-20260925-triangle-object-language",
    "language": "zh-Hant",
    "source_mko_ids": [
      "mko-triangle"
    ],
    "title_zh": "頂點的對邊",
    "stem_zh": "三角形標記為 DFH；三頂點相異且不共線已明示。頂點 D 的對邊是哪一條無向邊？",
    "answer": {
      "kind": "short_text",
      "value": "FH",
      "explanation_zh": "移除頂點 D 後，另外兩頂點形成無向邊 FH。"
    },
    "difficulty": {
      "band": "primary_foundation",
      "level": 2,
      "skills": [
        "頂點",
        "對邊"
      ]
    },
    "variant": {
      "family_id": "qf-triangle-opposite-side",
      "seed": 20261238,
      "parameters": {
        "vertices": [
          "D",
          "F",
          "H"
        ],
        "noncollinear": true,
        "vertex": "D",
        "operation": "opposite_side",
        "semantic_template": "qf-triangle-opposite-side/{\"noncollinear\":true,\"operation\":\"opposite_side\",\"vertex\":\"D\",\"vertices\":[\"D\",\"F\",\"H\"]}"
      }
    },
    "verification": {
      "status": "candidate",
      "checks": [
        "schema_pending",
        "independent_recomputation_pending"
      ],
      "warning_zh": "本題為 candidate 練習；有限精確重算不是形式證明或人工審查。"
    },
    "provenance": {
      "generator_role": "question_producer",
      "generator_model": "GPT-5.6 Terra",
      "generated_at": "2026-09-25",
      "contract_version": "ocme-question-factory-v0.1"
    }
  },
  "original_english_edition": {
    "schema_version": "ocme-question-localization-v0.1",
    "question_id": "q-20260925-triangle-opposite-side-0013",
    "batch_id": "batch-20260925-triangle-object-language",
    "locale": "en",
    "translation_state": "ai_candidate",
    "source": {
      "question_sha256": "fcecd88242829fa1ed5ac3de7e2a2e9a99d843671be13dc570eac0c6e86e5f1b",
      "family_id": "qf-triangle-opposite-side",
      "seed": 20261238,
      "semantic_template": "qf-triangle-opposite-side/{\"noncollinear\":true,\"operation\":\"opposite_side\",\"vertex\":\"D\",\"vertices\":[\"D\",\"F\",\"H\"]}"
    },
    "fields": {
      "title": "Side Opposite a Vertex",
      "stem": "Triangle DFH has explicitly distinct noncollinear vertices. Which undirected side is opposite vertex D?",
      "answer": {
        "kind": "short_text",
        "value": "FH",
        "explanation": "Removing vertex D leaves the other two vertices, which form side FH."
      },
      "skills": [
        "vertices",
        "opposite side"
      ],
      "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": "三角形標記為 DFH；三頂點相異且不共線已明示。頂點 D 的對邊是哪一條無向邊？",
        "en": "Triangle DFH has explicitly distinct noncollinear vertices. Which undirected side is opposite vertex D?"
      }
    }
  ],
  "steps": [
    {
      "id": "S001",
      "uses": [
        "G001"
      ],
      "before": "source roles = [qf-triangle-opposite-side, [noncollinear, operation, vertex, vertices]]",
      "after": "derived = [triangle, opposite_side, null]",
      "relation": "implies",
      "rule_id": "R70_SOURCE_bank_specific_interface",
      "conditions": [],
      "explanation": {
        "zh-Hant": "只使用此bank真正明示的欄位、operation/domain與型別；BASE容許保留額外metadata，不把LDL SAFE/集合上限或其他bank的去重規則搬來。",
        "en": "Use THIS bank’s actual fields,operation/domain and types.BASE retains permissible extra metadata.Do not import LDL SAFE/set limits or a different bank’s deduplication rules."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "反查本題原始操作數、角色與必要條件；重建下一步，不把單向推論倒當等價。數值/有限表核對不是任意命題的形式證明。原題、中英來源、MKO、AST、狀態與歷史均保留。",
          "en": "Reverse-audit THIS question’s original operands,roles and necessary premises;reconstruct the next step,without reversing a one-way implication.Numerical/finite-table checking is not formal proof of an arbitrary theorem.Original Q,bilingual sources,MKO,AST,status and history remain preserved."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S002",
      "uses": [
        "G001",
        "S001"
      ],
      "before": "source roles = [[D, F, H], 是]",
      "after": "derived = [[D, F, H], 是, 是]",
      "relation": "implies",
      "rule_id": "Triangle_DISTINCT_labels_AND_GIVEN_noncollinearity",
      "conditions": [],
      "explanation": {
        "zh-Hant": "三點要相異且題給不共線才是本條目非退化三角形；重複點+聲稱不共線是矛盾輸入。只從字母名或草圖不能推出不共線。",
        "en": "THIS nondegenerate triangle requires DISTINCT vertices AND GIVEN noncollinearity.Repeated points plus asserted noncollinearity is contradictory.Neither letter names nor a sketch proves noncollinearity."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "反查本題原始操作數、角色與必要條件；重建下一步，不把單向推論倒當等價。數值/有限表核對不是任意命題的形式證明。原題、中英來源、MKO、AST、狀態與歷史均保留。",
          "en": "Reverse-audit THIS question’s original operands,roles and necessary premises;reconstruct the next step,without reversing a one-way implication.Numerical/finite-table checking is not formal proof of an arbitrary theorem.Original Q,bilingual sources,MKO,AST,status and history remain preserved."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S003",
      "uses": [
        "G001",
        "S002"
      ],
      "before": "source roles = [D, F]",
      "after": "derived = [DF]",
      "relation": "implies",
      "rule_id": "Triangle_EACH_unordered_distinct_endpoint_pair",
      "conditions": [],
      "explanation": {
        "zh-Hant": "每對不同頂點形成一條無向邊，端點排序只作canonical標記；不重複算反向邊，不推論邊長。",
        "en": "EACH unordered pair of distinct vertices defines ONE side.Endpoint sorting is canonical notation only;do not double-count reversed edges or infer lengths."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "反查本題原始操作數、角色與必要條件；重建下一步，不把單向推論倒當等價。數值/有限表核對不是任意命題的形式證明。原題、中英來源、MKO、AST、狀態與歷史均保留。",
          "en": "Reverse-audit THIS question’s original operands,roles and necessary premises;reconstruct the next step,without reversing a one-way implication.Numerical/finite-table checking is not formal proof of an arbitrary theorem.Original Q,bilingual sources,MKO,AST,status and history remain preserved."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S004",
      "uses": [
        "G001",
        "S003"
      ],
      "before": "source roles = [D, H]",
      "after": "derived = [DH]",
      "relation": "implies",
      "rule_id": "Triangle_EACH_unordered_distinct_endpoint_pair",
      "conditions": [],
      "explanation": {
        "zh-Hant": "每對不同頂點形成一條無向邊，端點排序只作canonical標記；不重複算反向邊，不推論邊長。",
        "en": "EACH unordered pair of distinct vertices defines ONE side.Endpoint sorting is canonical notation only;do not double-count reversed edges or infer lengths."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "反查本題原始操作數、角色與必要條件；重建下一步，不把單向推論倒當等價。數值/有限表核對不是任意命題的形式證明。原題、中英來源、MKO、AST、狀態與歷史均保留。",
          "en": "Reverse-audit THIS question’s original operands,roles and necessary premises;reconstruct the next step,without reversing a one-way implication.Numerical/finite-table checking is not formal proof of an arbitrary theorem.Original Q,bilingual sources,MKO,AST,status and history remain preserved."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S005",
      "uses": [
        "G001",
        "S004"
      ],
      "before": "source roles = [F, H]",
      "after": "derived = [FH]",
      "relation": "implies",
      "rule_id": "Triangle_EACH_unordered_distinct_endpoint_pair",
      "conditions": [],
      "explanation": {
        "zh-Hant": "每對不同頂點形成一條無向邊，端點排序只作canonical標記；不重複算反向邊，不推論邊長。",
        "en": "EACH unordered pair of distinct vertices defines ONE side.Endpoint sorting is canonical notation only;do not double-count reversed edges or infer lengths."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "反查本題原始操作數、角色與必要條件；重建下一步，不把單向推論倒當等價。數值/有限表核對不是任意命題的形式證明。原題、中英來源、MKO、AST、狀態與歷史均保留。",
          "en": "Reverse-audit THIS question’s original operands,roles and necessary premises;reconstruct the next step,without reversing a one-way implication.Numerical/finite-table checking is not formal proof of an arbitrary theorem.Original Q,bilingual sources,MKO,AST,status and history remain preserved."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S006",
      "uses": [
        "G001",
        "S005"
      ],
      "before": "source roles = [D, [D, F, H]]",
      "after": "derived = [[F, H], FH]",
      "relation": "implies",
      "rule_id": "Triangle_OPPOSITE_side_excludes_GIVEN_vertex",
      "conditions": [],
      "explanation": {
        "zh-Hant": "對邊是移除指定頂點後剩餘兩點所連邊，必須先確認該頂點屬此三角形；不是與它相接的任一邊。",
        "en": "The OPPOSITE side joins the TWO vertices remaining after removing the GIVEN vertex.First require that vertex to belong;an incident side is not opposite."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "反查本題原始操作數、角色與必要條件；重建下一步，不把單向推論倒當等價。數值/有限表核對不是任意命題的形式證明。原題、中英來源、MKO、AST、狀態與歷史均保留。",
          "en": "Reverse-audit THIS question’s original operands,roles and necessary premises;reconstruct the next step,without reversing a one-way implication.Numerical/finite-table checking is not formal proof of an arbitrary theorem.Original Q,bilingual sources,MKO,AST,status and history remain preserved."
        }
      },
      "arithmetic": null
    }
  ],
  "math_model": {
    "result": "FH"
  },
  "conclusion": {
    "canonical_value": "FH",
    "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-20260925-triangle-object-language",
      "batch_path": "public/data/questions/batches/batch-20260925-triangle-object-language/questions.jsonl",
      "batch_sha256": "d19cc18563aecac7f302e19fba6bfa1861007b7116471bc1b58c76d8c679c503",
      "original_line": 88,
      "original_line_sha256": "0d955385525cdf6ce8159b50190d0eb7a367177f61b2737c1d53b673183a610e",
      "question_compact_sha256": "fcecd88242829fa1ed5ac3de7e2a2e9a99d843671be13dc570eac0c6e86e5f1b",
      "english_row_compact_sha256": "478b18f0369c3691a93591f1dbc595bc2662b24885bb0695ab9ade46435c044b",
      "english_manifest_path": "public/data/i18n/editions/batch-20260925-triangle-object-language.en.json",
      "english_rows_path": "public/data/i18n/questions/batch-20260925-triangle-object-language.en.jsonl"
    },
    "mko_bindings": {
      "mko-triangle": {
        "sha256": "1556dabd42bf5d132f41296684eb2b037900a511e659c48627bee6d0c4dcd461",
        "english_sha256": "e4a28d8e7440ec3005d4c989132d0cfa5a0c60bf2440ebcd24ca5c2e886f4b5f",
        "original_path": "public/data/mko/triangle.json",
        "english_path": "public/data/i18n/editions/mko-triangle.en.json"
      }
    },
    "selected_manifest_sha256": "5233edba9654a6cffd8b6b2d83c932f82ded15f9c0b7c733bd049943e672acff",
    "selected_part_sha256": "20c37a7e64ee5969e7606c5cc3a00e575002ebebdfe82873521cc3d7c608caff",
    "original_candidate_sha256": "c8690b271efb8b4ec88b65dc4b2e787f0a86bcbadaca9ff0cf55ae3d29d9f9d9",
    "original_candidate_line_sha256": "c8690b271efb8b4ec88b65dc4b2e787f0a86bcbadaca9ff0cf55ae3d29d9f9d9"
  },
  "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-012-p71",
    "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": "9820ac6529139bd53d516c8bfdfdd41184b0cd52dad69fa433344010db37af80",
      "question_first_witness_sha256": "c9c939762bbd4d3ea3403084c8e95541dc2c7e56eb82fc74eaba8c80a4517dab"
    },
    "status": "second_context_reviewed",
    "mathematical_semantics": true,
    "bilingual_semantics": true,
    "steps_reviewed": 6,
    "method": "family_template_semantic_review_plus_independent_per_instance_reconstruction",
    "exact_question_first_check": {
      "model_sha256": "94bae803a94c57c740f2cda77e4c38d9bac42311a2f3f430fce44a6f9ce1740a",
      "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."
  }
}
