{
  "schema_version": "ocme-reviewed-question-reader-v1",
  "question_id": "q-20261003-advance-20261004-r04-graph-0070",
  "pilot_number": "R0069-35220",
  "number": 35220,
  "family_id": "qf-simple-graph-degree",
  "title": {
    "zh-Hant": "第 35220 題：簡單無向圖的頂點度數",
    "en": "Question 35220: Vertex Degree in a Simple Undirected Graph"
  },
  "original_question": {
    "schema_version": "ocme-question-v0.1",
    "id": "q-20261003-advance-20261004-r04-graph-0070",
    "batch_id": "batch-20261003-advance-20261004-r04-graph-foundations",
    "language": "zh-Hant",
    "source_mko_ids": [
      "mko-graph"
    ],
    "title_zh": "簡單無向圖的頂點度數",
    "stem_zh": "有限簡單無向圖 V={7, 8, 9, 10, 11, 12}、E={{7, 8}, {8, 9}, {9, 10}, {10, 11}, {11, 12}}，邊無方向、沒有自環或重邊。頂點 v=9 已屬於 V，求頂點度數 deg(v)。",
    "answer": {
      "kind": "numeric",
      "value": "2",
      "explanation_zh": "N(9)={8, 10}；deg=2。按明示邊集找不同鄰居，不由示意圖或線條交叉猜相鄰性。"
    },
    "difficulty": {
      "band": "undergraduate_core",
      "level": 3,
      "skills": [
        "簡單無向圖的頂點度數"
      ]
    },
    "variant": {
      "family_id": "qf-simple-graph-degree",
      "seed": 202610044070,
      "parameters": {
        "V": [
          7,
          8,
          9,
          10,
          11,
          12
        ],
        "E": [
          [
            7,
            8
          ],
          [
            8,
            9
          ],
          [
            9,
            10
          ],
          [
            10,
            11
          ],
          [
            11,
            12
          ]
        ],
        "operation": "degree",
        "v": 9,
        "semantic_template": "qf-simple-graph-degree/{\"E\":[[7,8],[8,9],[9,10],[10,11],[11,12]],\"V\":[7,8,9,10,11,12],\"operation\":\"degree\",\"v\":9}"
      }
    },
    "verification": {
      "status": "candidate",
      "checks": [
        "producer_exact_integer_rational_arithmetic",
        "producer_finite_enumeration",
        "producer_source_snapshot_check",
        "producer_substantive_template_deduplication"
      ],
      "warning_zh": "僅為產生端候選及自檢；主架構者須另做獨立驗收，不構成人工審定、普遍證明或形式 Evidence。"
    },
    "provenance": {
      "generator_role": "question_producer",
      "generator_model": "Codex independent peer (inherited model; exact runtime model not exposed)",
      "generated_at": "2026-10-03",
      "contract_version": "ocme-question-factory-v0.1"
    }
  },
  "original_english_edition": {
    "schema_version": "ocme-question-localization-v0.1",
    "question_id": "q-20261003-advance-20261004-r04-graph-0070",
    "batch_id": "batch-20261003-advance-20261004-r04-graph-foundations",
    "locale": "en",
    "translation_state": "ai_candidate",
    "source": {
      "question_sha256": "05880558066f46aa78c97de503784f8256e224e87d0bc5db844c83a66a78f4af",
      "family_id": "qf-simple-graph-degree",
      "seed": 202610044070,
      "semantic_template": "qf-simple-graph-degree/{\"E\":[[7,8],[8,9],[9,10],[10,11],[11,12]],\"V\":[7,8,9,10,11,12],\"operation\":\"degree\",\"v\":9}"
    },
    "fields": {
      "title": "Vertex Degree in a Simple Undirected Graph",
      "stem": "The finite simple undirected graph has V={7, 8, 9, 10, 11, 12} and E={{7, 8}, {8, 9}, {9, 10}, {10, 11}, {11, 12}}. There are no loops or multiple edges, and repeated representations of the same unordered edge count once. The vertex v=9 belongs to V. Find deg(v).",
      "answer": {
        "kind": "numeric",
        "value": "2",
        "explanation": "Count distinct neighbors from the explicit edge set to obtain deg(9)=2. An isolated vertex has degree zero."
      },
      "skills": [
        "Vertex Degree in a Simple Undirected Graph"
      ],
      "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": "有限簡單無向圖 V={7, 8, 9, 10, 11, 12}、E={{7, 8}, {8, 9}, {9, 10}, {10, 11}, {11, 12}}，邊無方向、沒有自環或重邊。頂點 v=9 已屬於 V，求頂點度數 deg(v)。",
        "en": "The finite simple undirected graph has V={7, 8, 9, 10, 11, 12} and E={{7, 8}, {8, 9}, {9, 10}, {10, 11}, {11, 12}}. There are no loops or multiple edges, and repeated representations of the same unordered edge count once. The vertex v=9 belongs to V. Find deg(v)."
      }
    }
  ],
  "steps": [
    {
      "id": "S001",
      "uses": [
        "G001"
      ],
      "before": "source roles = [qf-simple-graph-degree, [E, V, operation, v]]",
      "after": "derived = [degree, no-invented-domain]",
      "relation": "implies",
      "rule_id": "R69_SOURCE_specific_keys_operation_domain_AND_binary_contract",
      "conditions": [],
      "explanation": {
        "zh-Hant": "各bank的keys/operation/domain獨立：LDL/PULSE/function legacy為表內underscore，TREE是完整tree_*與明定domain，BASE signed較寬不偷加op/domain。所有算術保持binary primitive契約。",
        "en": "Keep EACH bank’s keys/operation/domain distinct:LDL/PULSE/function legacy table underscores,TREE full tree_* with its declared domain,and permissive BASE signed without invented op/domain.All arithmetic respects the binary-primitive contract."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "反查本題原資料、型別、角色、完整前提與欄序；單向推論不倒當等價，有限表核對不冒充無限論域/形式證明。原題/英文/MKO/AST/狀態不變。",
          "en": "Reverse-audit THIS question’s ORIGINAL data,types,roles,complete premises and field order.Do not invert implication or turn finite-table checks into infinite-domain/formal proof.Original Q/English/MKO/AST/status remain unchanged."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S002",
      "uses": [
        "G001",
        "S001"
      ],
      "before": "source roles = [LDL graph vertices ORIGINAL, 100, [7, 8, 9, 10, 11, 12]]",
      "after": "derived = [[7, 8, 9, 10, 11, 12]]",
      "relation": "implies",
      "rule_id": "Finite_RAW_ALL_SAFE_distinct_labels_then_derived_sort",
      "conditions": [],
      "explanation": {
        "zh-Hant": "先驗全部raw SAFE元素、不重複及此bank個數界，空集合法；只把衍生表示排序，原JSON不修改。TREE與LDL的上限不可互搬。",
        "en": "Type EVERY RAW SAFE label,distinctness and THIS bank’s cardinality bound;empty is allowed.Sort ONLY the derived representation,not original JSON.Do not exchange TREE and LDL limits."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "反查本題原資料、型別、角色、完整前提與欄序；單向推論不倒當等價，有限表核對不冒充無限論域/形式證明。原題/英文/MKO/AST/狀態不變。",
          "en": "Reverse-audit THIS question’s ORIGINAL data,types,roles,complete premises and field order.Do not invert implication or turn finite-table checks into infinite-domain/formal proof.Original Q/English/MKO/AST/status remain unchanged."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S003",
      "uses": [
        "G001",
        "S002"
      ],
      "before": "source roles = [LDL raw edges ORIGINAL, 0, [7, 8]]",
      "after": "derived = [[7, 8]]",
      "relation": "implies",
      "rule_id": "Pairs_EVERY_RAW_two_SAFE_cells_BEFORE_any_dedup",
      "conditions": [],
      "explanation": {
        "zh-Hant": "去重之前逐raw pair驗恰兩個SAFE分量；相同row可作表示重複，但不能先丟掉未驗欄位。",
        "en": "BEFORE deduplication,type EACH RAW pair as EXACTLY TWO SAFE components.Identical rows may be representation duplicates,but no unvalidated cell may be silently discarded."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "反查本題原資料、型別、角色、完整前提與欄序；單向推論不倒當等價，有限表核對不冒充無限論域/形式證明。原題/英文/MKO/AST/狀態不變。",
          "en": "Reverse-audit THIS question’s ORIGINAL data,types,roles,complete premises and field order.Do not invert implication or turn finite-table checks into infinite-domain/formal proof.Original Q/English/MKO/AST/status remain unchanged."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S004",
      "uses": [
        "G001",
        "S003"
      ],
      "before": "source roles = [LDL raw edges ORIGINAL, 1, [8, 9]]",
      "after": "derived = [[8, 9]]",
      "relation": "implies",
      "rule_id": "Pairs_EVERY_RAW_two_SAFE_cells_BEFORE_any_dedup",
      "conditions": [],
      "explanation": {
        "zh-Hant": "去重之前逐raw pair驗恰兩個SAFE分量；相同row可作表示重複，但不能先丟掉未驗欄位。",
        "en": "BEFORE deduplication,type EACH RAW pair as EXACTLY TWO SAFE components.Identical rows may be representation duplicates,but no unvalidated cell may be silently discarded."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "反查本題原資料、型別、角色、完整前提與欄序；單向推論不倒當等價，有限表核對不冒充無限論域/形式證明。原題/英文/MKO/AST/狀態不變。",
          "en": "Reverse-audit THIS question’s ORIGINAL data,types,roles,complete premises and field order.Do not invert implication or turn finite-table checks into infinite-domain/formal proof.Original Q/English/MKO/AST/status remain unchanged."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S005",
      "uses": [
        "G001",
        "S004"
      ],
      "before": "source roles = [LDL raw edges ORIGINAL, 2, [9, 10]]",
      "after": "derived = [[9, 10]]",
      "relation": "implies",
      "rule_id": "Pairs_EVERY_RAW_two_SAFE_cells_BEFORE_any_dedup",
      "conditions": [],
      "explanation": {
        "zh-Hant": "去重之前逐raw pair驗恰兩個SAFE分量；相同row可作表示重複，但不能先丟掉未驗欄位。",
        "en": "BEFORE deduplication,type EACH RAW pair as EXACTLY TWO SAFE components.Identical rows may be representation duplicates,but no unvalidated cell may be silently discarded."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "反查本題原資料、型別、角色、完整前提與欄序；單向推論不倒當等價，有限表核對不冒充無限論域/形式證明。原題/英文/MKO/AST/狀態不變。",
          "en": "Reverse-audit THIS question’s ORIGINAL data,types,roles,complete premises and field order.Do not invert implication or turn finite-table checks into infinite-domain/formal proof.Original Q/English/MKO/AST/status remain unchanged."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S006",
      "uses": [
        "G001",
        "S005"
      ],
      "before": "source roles = [LDL raw edges ORIGINAL, 3, [10, 11]]",
      "after": "derived = [[10, 11]]",
      "relation": "implies",
      "rule_id": "Pairs_EVERY_RAW_two_SAFE_cells_BEFORE_any_dedup",
      "conditions": [],
      "explanation": {
        "zh-Hant": "去重之前逐raw pair驗恰兩個SAFE分量；相同row可作表示重複，但不能先丟掉未驗欄位。",
        "en": "BEFORE deduplication,type EACH RAW pair as EXACTLY TWO SAFE components.Identical rows may be representation duplicates,but no unvalidated cell may be silently discarded."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "反查本題原資料、型別、角色、完整前提與欄序；單向推論不倒當等價，有限表核對不冒充無限論域/形式證明。原題/英文/MKO/AST/狀態不變。",
          "en": "Reverse-audit THIS question’s ORIGINAL data,types,roles,complete premises and field order.Do not invert implication or turn finite-table checks into infinite-domain/formal proof.Original Q/English/MKO/AST/status remain unchanged."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S007",
      "uses": [
        "G001",
        "S006"
      ],
      "before": "source roles = [LDL raw edges ORIGINAL, 4, [11, 12]]",
      "after": "derived = [[11, 12]]",
      "relation": "implies",
      "rule_id": "Pairs_EVERY_RAW_two_SAFE_cells_BEFORE_any_dedup",
      "conditions": [],
      "explanation": {
        "zh-Hant": "去重之前逐raw pair驗恰兩個SAFE分量；相同row可作表示重複，但不能先丟掉未驗欄位。",
        "en": "BEFORE deduplication,type EACH RAW pair as EXACTLY TWO SAFE components.Identical rows may be representation duplicates,but no unvalidated cell may be silently discarded."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "反查本題原資料、型別、角色、完整前提與欄序；單向推論不倒當等價，有限表核對不冒充無限論域/形式證明。原題/英文/MKO/AST/狀態不變。",
          "en": "Reverse-audit THIS question’s ORIGINAL data,types,roles,complete premises and field order.Do not invert implication or turn finite-table checks into infinite-domain/formal proof.Original Q/English/MKO/AST/status remain unchanged."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S008",
      "uses": [
        "G001",
        "S007"
      ],
      "before": "source roles = [[7, 8, 9, 10, 11, 12], [[7, 8], [8, 9], [9, 10], [10, 11], [11, 12]], 否]",
      "after": "derived = [[[7, 8], [8, 9], [9, 10], [10, 11], [11, 12]], [[7, [8]], [8, [7, 9]], [9, [8, 10]], [10, [9, 11]], [11, [10, 12]], [12, [11]]]]",
      "relation": "implies",
      "rule_id": "Graph_WHOLE_simple_undirected_edges_normalized_NO_loops_or_outside",
      "conditions": [],
      "explanation": {
        "zh-Hant": "完整raw edges先型別檢查、再作無向正規化/去重，反向重複合法；輸入edge不准loop或carrier外端點，孤立頂點仍留在V。TREE raw E不借用LDL的200界。",
        "en": "Type the WHOLE raw edge list,then normalize undirected endpoints/deduplicate;reversed duplicates are allowed.INPUT edges have no loops/outside endpoints,while isolated vertices stay in V.TREE raw E does NOT acquire LDL’s200-entry limit."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "反查本題原資料、型別、角色、完整前提與欄序；單向推論不倒當等價，有限表核對不冒充無限論域/形式證明。原題/英文/MKO/AST/狀態不變。",
          "en": "Reverse-audit THIS question’s ORIGINAL data,types,roles,complete premises and field order.Do not invert implication or turn finite-table checks into infinite-domain/formal proof.Original Q/English/MKO/AST/status remain unchanged."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S009",
      "uses": [
        "G001",
        "S008"
      ],
      "before": "source roles = [9, [7, 8, 9, 10, 11, 12]]",
      "after": "derived = [[8, 10], 2]",
      "relation": "implies",
      "rule_id": "Graph_QUERY_vertex_must_belong_V_complete_distinct_neighbors",
      "conditions": [],
      "explanation": {
        "zh-Hant": "degree/neighbor query先要求v在V，逐全部edge找異於v的鄰點並去重；不是數圖上交點或raw duplicate rows。",
        "en": "A degree/neighbor QUERY first requires v∈V.Find distinct neighbors through ALL edges,not sketch crossings or raw duplicate rows."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "反查本題原資料、型別、角色、完整前提與欄序；單向推論不倒當等價，有限表核對不冒充無限論域/形式證明。原題/英文/MKO/AST/狀態不變。",
          "en": "Reverse-audit THIS question’s ORIGINAL data,types,roles,complete premises and field order.Do not invert implication or turn finite-table checks into infinite-domain/formal proof.Original Q/English/MKO/AST/status remain unchanged."
        }
      },
      "arithmetic": null
    }
  ],
  "math_model": {
    "result": "2"
  },
  "conclusion": {
    "canonical_value": "2",
    "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-20261003-advance-20261004-r04-graph-foundations",
      "batch_path": "public/data/questions/batches/batch-20261003-advance-20261004-r04-graph-foundations/questions.jsonl",
      "batch_sha256": "b09f01cc51be5860cc980e52ef7351d85c451a03e07aacb5f035fadb27e61239",
      "original_line": 70,
      "original_line_sha256": "9935fdc120bf8bf075e7508f82ddc1b229798668f938afd771d8b669849e4bad",
      "question_compact_sha256": "05880558066f46aa78c97de503784f8256e224e87d0bc5db844c83a66a78f4af",
      "english_row_compact_sha256": "dfa575a874287b9f50b3f19854f50da3852eec7fc36d68e2170c1a0a88424a27",
      "english_manifest_path": "public/data/i18n/editions/batch-20261003-advance-20261004-r04-graph-foundations.en.json",
      "english_rows_path": "public/data/i18n/questions/batch-20261003-advance-20261004-r04-graph-foundations.en.jsonl"
    },
    "mko_bindings": {
      "mko-graph": {
        "sha256": "47d40107cd3836bb878ae46e5c4766288abb1b91e480c38ed14f61f749d27d55",
        "english_sha256": "985d93ed708f51da0e885228658ca76c7075f5bf67bb09b35d10745db33dc847",
        "original_path": "public/data/mko/graph.json",
        "english_path": "public/data/i18n/editions/mko-graph.en.json"
      }
    },
    "selected_manifest_sha256": "5233edba9654a6cffd8b6b2d83c932f82ded15f9c0b7c733bd049943e672acff",
    "selected_part_sha256": "63155b87d4994521b4a60f8f179750f57cbbd094e66cc42652608d1bbab47a9f",
    "original_candidate_sha256": "5bb6c5cb4e11ebf329a593fe91900ab43efae5bd9d667ea74fefd40535d61c89",
    "original_candidate_line_sha256": "5bb6c5cb4e11ebf329a593fe91900ab43efae5bd9d667ea74fefd40535d61c89"
  },
  "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-p70",
    "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": "ccf93c72638d6abf6a412514da5838d55ecb09b71d0e4fdec2b559dc9fdee14b",
      "question_first_witness_sha256": "11af9a338b5a610342b2cfb2ee295683131b3139ac402dd19b1ba1725976d518"
    },
    "status": "second_context_reviewed",
    "mathematical_semantics": true,
    "bilingual_semantics": true,
    "steps_reviewed": 9,
    "method": "family_template_semantic_review_plus_independent_per_instance_reconstruction",
    "exact_question_first_check": {
      "model_sha256": "aa86099942602f4fc1bcb4d40ec76aa6302a784c2857cba5a4767eefc77a4a0a",
      "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."
  }
}
