{
  "schema_version": "ocme-reviewed-question-reader-v1",
  "question_id": "q-20260925-triangle-side-set-0019",
  "pilot_number": "R0070-35749",
  "number": 35749,
  "family_id": "qf-triangle-side-set",
  "title": {
    "zh-Hant": "第 35749 題：三角形的無向邊集合",
    "en": "Question 35749: Undirected Side Set of a Triangle"
  },
  "original_question": {
    "schema_version": "ocme-question-v0.1",
    "id": "q-20260925-triangle-side-set-0019",
    "batch_id": "batch-20260925-triangle-object-language",
    "language": "zh-Hant",
    "source_mko_ids": [
      "mko-triangle"
    ],
    "title_zh": "三角形的無向邊集合",
    "stem_zh": "三角形標記為 JLN；三頂點相異且不共線已明示。以 canonical 排序列出三條無向邊。",
    "answer": {
      "kind": "short_text",
      "value": "JL, JN, LN",
      "explanation_zh": "由三頂點兩兩連接並把無向邊 canonical 排序，得到 JL, JN, LN。"
    },
    "difficulty": {
      "band": "primary_foundation",
      "level": 2,
      "skills": [
        "無向邊",
        "canonical 排序"
      ]
    },
    "variant": {
      "family_id": "qf-triangle-side-set",
      "seed": 20261144,
      "parameters": {
        "vertices": [
          "J",
          "L",
          "N"
        ],
        "noncollinear": true,
        "operation": "side_set",
        "semantic_template": "qf-triangle-side-set/{\"noncollinear\":true,\"operation\":\"side_set\",\"vertices\":[\"J\",\"L\",\"N\"]}"
      }
    },
    "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-side-set-0019",
    "batch_id": "batch-20260925-triangle-object-language",
    "locale": "en",
    "translation_state": "ai_candidate",
    "source": {
      "question_sha256": "cede3924b4427343e6cb454e50626e642d374bd68874d8cec2f0770dac9d38c0",
      "family_id": "qf-triangle-side-set",
      "seed": 20261144,
      "semantic_template": "qf-triangle-side-set/{\"noncollinear\":true,\"operation\":\"side_set\",\"vertices\":[\"J\",\"L\",\"N\"]}"
    },
    "fields": {
      "title": "Undirected Side Set of a Triangle",
      "stem": "Triangle JLN has explicitly distinct noncollinear vertices. List its three undirected sides in canonical order.",
      "answer": {
        "kind": "short_text",
        "value": "JL, JN, LN",
        "explanation": "Pairwise connection of the vertices followed by canonical ordering gives JL, JN, LN."
      },
      "skills": [
        "undirected edges",
        "canonical ordering"
      ],
      "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": "三角形標記為 JLN；三頂點相異且不共線已明示。以 canonical 排序列出三條無向邊。",
        "en": "Triangle JLN has explicitly distinct noncollinear vertices. List its three undirected sides in canonical order."
      }
    }
  ],
  "steps": [
    {
      "id": "S001",
      "uses": [
        "G001"
      ],
      "before": "source roles = [qf-triangle-side-set, [noncollinear, operation, vertices]]",
      "after": "derived = [triangle, side_set, 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 = [[J, L, N], 是]",
      "after": "derived = [[J, L, N], 是, 是]",
      "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 = [J, L]",
      "after": "derived = [JL]",
      "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 = [J, N]",
      "after": "derived = [JN]",
      "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 = [L, N]",
      "after": "derived = [LN]",
      "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 = [[J, L, N], [JL, JN, LN]]",
      "after": "derived = [JL, JN, LN]",
      "relation": "implies",
      "rule_id": "Triangle_ALL_three_sides_source_comma_format",
      "conditions": [],
      "explanation": {
        "zh-Hant": "三頂點恰三對，依原題格式用逗號連接（不加新大括號），不漏邊也不加對角線。",
        "en": "Three vertices give EXACTLY three pairs.Use the ORIGINAL comma-separated format without extra braces;omit no edge and invent no diagonal."
      },
      "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": "JL, JN, LN"
  },
  "conclusion": {
    "canonical_value": "JL, JN, LN",
    "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": 69,
      "original_line_sha256": "bb9af1e18e3657650483a3bca44f34fd35b96ac314afa83edd47a69c642685aa",
      "question_compact_sha256": "cede3924b4427343e6cb454e50626e642d374bd68874d8cec2f0770dac9d38c0",
      "english_row_compact_sha256": "3c2cf9b40d2688ddeb5ba5e416da5bebce80d1ba69facceb2f6cfc8b1a36b1a1",
      "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": "a7194626cfb75c94230356aa52726aa863bf9d69e961cd7660dabedc0ea8bb54",
    "original_candidate_line_sha256": "a7194626cfb75c94230356aa52726aa863bf9d69e961cd7660dabedc0ea8bb54"
  },
  "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": "557303cfd28b613df27ad4ed7cd305929e8c16e3f632c653bbcd66dccbc17338",
      "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."
  }
}
