{
  "schema_version": "ocme-reviewed-question-reader-v1",
  "question_id": "q-20261012-advance-20261017-r01-bijective-0014",
  "pilot_number": "R0060-30939",
  "number": 30939,
  "family_id": "qf-density17-bij-fibers-and-class",
  "title": {
    "zh-Hant": "第 30939 題：完整纖維與三種映射資格",
    "en": "Question 30939: Complete Fibers, Collisions, Missing Targets, and Map Class"
  },
  "original_question": {
    "schema_version": "ocme-question-v0.1",
    "id": "q-20261012-advance-20261017-r01-bijective-0014",
    "batch_id": "batch-20261012-advance-20261017-r01-bijective-foundations",
    "language": "zh-Hant",
    "source_mko_ids": [
      "mko-bijective"
    ],
    "title_zh": "完整纖維與三種映射資格",
    "stem_zh": "Fin型別從0起，完整總表。Fin(5)=[0, 1, 2, 3, 4]→Fin(3)=[0, 1, 2]；總函數f依輸入索引列images=[0, 2, 0, 0, 0]。依序答 (images, 全陪域纖維, 所有相撞輸入對, 缺失目標, 單射, 滿射, 雙射)。纖維按目標索引列齊，空纖維也保留；相撞對按字典序。",
    "answer": {
      "kind": "expression",
      "value": "([0, 2, 0, 0, 0], [[0, 2, 3, 4], [], [1]], [[0, 2], [0, 3], [0, 4], [2, 3], [2, 4], [3, 4]], [1], 否, 否, 否)",
      "explanation_zh": "離散結構核對=([0, 2, 0, 0, 0], [[0, 2, 3, 4], [], [1]], [[0, 2], [0, 3], [0, 4], [2, 3], [2, 4], [3, 4]], [1], 否, 否, 否)；逐個輸入放進其目標纖維，再列所有相同輸出的相異輸入對。；有限精確核對不是一般形式證明；基數相等不保證給定函數雙射；先資格後求值。"
    },
    "difficulty": {
      "band": "undergraduate_core",
      "level": 2,
      "skills": [
        "完整纖維與三種映射資格"
      ]
    },
    "variant": {
      "family_id": "qf-density17-bij-fibers-and-class",
      "seed": 202610171014,
      "parameters": {
        "n": 5,
        "m": 3,
        "images": [
          0,
          2,
          0,
          0,
          0
        ],
        "domain": "Fin_total_table",
        "operation": "bij-fibers-and-class",
        "semantic_template": "qf-density17-bij-fibers-and-class/{\"images\":[0,2,0,0,0],\"m\":3,\"n\":5}"
      }
    },
    "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-12",
      "contract_version": "ocme-question-factory-v0.1"
    }
  },
  "original_english_edition": {
    "schema_version": "ocme-question-localization-v0.1",
    "question_id": "q-20261012-advance-20261017-r01-bijective-0014",
    "batch_id": "batch-20261012-advance-20261017-r01-bijective-foundations",
    "locale": "en",
    "translation_state": "ai_candidate",
    "source": {
      "question_sha256": "00378706db4ff3ba2d1db4cd9d8f977358c00f93cd647c58bdba2ad303c7b2cd",
      "family_id": "qf-density17-bij-fibers-and-class",
      "seed": 202610171014,
      "semantic_template": "qf-density17-bij-fibers-and-class/{\"images\":[0,2,0,0,0],\"m\":3,\"n\":5}"
    },
    "fields": {
      "title": "Complete Fibers, Collisions, Missing Targets, and Map Class",
      "stem": "Use the complete total map Fin(5)={0,…,4}→Fin(3) with images=[0, 2, 0, 0, 0] in source-index order. Validate every image in the declared codomain first. Equal finite cardinalities do not make the given map bijective. Give (images, every codomain fiber, all lexicographically ordered distinct-input collision pairs, missing targets, injectivity, surjectivity, bijectivity).",
      "answer": {
        "kind": "expression",
        "value": "([0, 2, 0, 0, 0], [[0, 2, 3, 4], [], [1]], [[0, 2], [0, 3], [0, 4], [2, 3], [2, 4], [3, 4]], [1], No, No, No)",
        "explanation": "Enumerate all declared targets, including empty fibers, and keep the three function properties separate. The empty-to-empty map is bijective. These exact finite checks are not new general formal Evidence. The exact result, retaining the requested order, is ([0, 2, 0, 0, 0], [[0, 2, 3, 4], [], [1]], [[0, 2], [0, 3], [0, 4], [2, 3], [2, 4], [3, 4]], [1], No, No, No)."
      },
      "skills": [
        "Complete Fibers, Collisions, Missing Targets, and Map Class"
      ],
      "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": "Fin型別從0起，完整總表。Fin(5)=[0, 1, 2, 3, 4]→Fin(3)=[0, 1, 2]；總函數f依輸入索引列images=[0, 2, 0, 0, 0]。依序答 (images, 全陪域纖維, 所有相撞輸入對, 缺失目標, 單射, 滿射, 雙射)。纖維按目標索引列齊，空纖維也保留；相撞對按字典序。",
        "en": "Use the complete total map Fin(5)={0,…,4}→Fin(3) with images=[0, 2, 0, 0, 0] in source-index order. Validate every image in the declared codomain first. Equal finite cardinalities do not make the given map bijective. Give (images, every codomain fiber, all lexicographically ordered distinct-input collision pairs, missing targets, injectivity, surjectivity, bijectivity)."
      }
    }
  ],
  "steps": [
    {
      "id": "S001",
      "uses": [
        "G001"
      ],
      "before": "source roles = [qf-density17-bij-fibers-and-class, bij-fibers-and-class, Fin_total_table]",
      "after": "derived = [[images, ALL_fibers, GLOBAL_LEX_collision_pairs, missing_targets, injective, surjective, bijective]]",
      "relation": "implies",
      "rule_id": "R60_EXACT_perbank_operation_domain_FRAME_and_output_roles",
      "conditions": [],
      "explanation": {
        "zh-Hant": "density14/15用full-prefix underscores，density17用local hyphens。coordinate frame與circle frame不同，輸出欄序／型別依本family，不改原中英／JSON／status。",
        "en": "density14/15 use FULL-prefix underscores;density17 uses LOCAL hyphens.The coordinate and circle frames differ.Retain THIS family ordered answer roles/types and all original bilingual JSON/status."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "用原始資料、型別、索引與本步前提反向代回；一致性審查不等於可由結論唯一還原輸入。有限候選、獨立審查、形式證明與發布分開。",
          "en": "Reverse-check using the ORIGINAL data,types,indices and premises.Consistency auditing does not claim the conclusion uniquely determines its inputs.Keep finite candidates,independent review,formal proof and publication separate."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S002",
      "uses": [
        "G001",
        "S001"
      ],
      "before": "source roles = [Bijection ORIGINAL complete table, 5, 3, [0, 2, 0, 0, 0]]",
      "after": "derived = [[0, 2, 0, 0, 0]]",
      "relation": "implies",
      "rule_id": "Composition_WHOLE_typed_table_ALL_cells_including_unused",
      "conditions": [],
      "explanation": {
        "zh-Hant": "整條declared table長度須等source大小，全部cell落target Fin(m)，包含unused cell。即使最外source空，也不能略過這個完整table的型別義務。",
        "en": "Require the WHOLE declared table length to equal its source size and EVERY cell to lie in Fin(m),including unused cells.Even an empty outer source cannot waive this complete table typing obligation."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "用原始資料、型別、索引與本步前提反向代回；一致性審查不等於可由結論唯一還原輸入。有限候選、獨立審查、形式證明與發布分開。",
          "en": "Reverse-check using the ORIGINAL data,types,indices and premises.Consistency auditing does not claim the conclusion uniquely determines its inputs.Keep finite candidates,independent review,formal proof and publication separate."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S003",
      "uses": [
        "G001",
        "S002"
      ],
      "before": "Bijection ORIGINAL reverse ALL fiber sizes through target0 := sum(0, 4)",
      "after": "Bijection ORIGINAL reverse ALL fiber sizes through target0 = 4",
      "relation": "calculation",
      "rule_id": "exact_rational_arithmetic",
      "conditions": [],
      "explanation": {
        "zh-Hant": "保原操作數做精確整數／有理計算；只有raw輸入驗SAFE或本family明定小界，衍生值不重套界、不作浮點近似。",
        "en": "Use ORIGINAL operands for exact integer/rational arithmetic.Only RAW inputs use SAFE or the explicit family bounds;derived values do not inherit those caps or use floating approximations."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "以精確有理數重算 Bijection ORIGINAL reverse ALL fiber sizes through target0，不以小數近似替代。",
          "en": "Recompute Bijection ORIGINAL reverse ALL fiber sizes through target0 with exact rational arithmetic, not rounded decimals."
        }
      },
      "arithmetic": {
        "operation": "sum",
        "inputs": [
          "0",
          "4"
        ],
        "output": "4",
        "label": "Bijection ORIGINAL reverse ALL fiber sizes through target0"
      }
    },
    {
      "id": "S004",
      "uses": [
        "G001",
        "S003"
      ],
      "before": "source roles = [Bijection ORIGINAL, [0, 2, 0, 0, 0], 3, 0]",
      "after": "derived = [[0, 2, 3, 4], 4]",
      "relation": "implies",
      "rule_id": "Bijection_EVERY_declared_target_COMPLETE_fiber_including_EMPTY",
      "conditions": [],
      "explanation": {
        "zh-Hant": "對每個declared target列全部原source preimages，含空fiber，不只列出現過的value；indices保持原label與順序。",
        "en": "For EVERY declared target list ALL ORIGINAL source preimages,including empty fibers,not merely attained values.Retain original labels/index order."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "用原始資料、型別、索引與本步前提反向代回；一致性審查不等於可由結論唯一還原輸入。有限候選、獨立審查、形式證明與發布分開。",
          "en": "Reverse-check using the ORIGINAL data,types,indices and premises.Consistency auditing does not claim the conclusion uniquely determines its inputs.Keep finite candidates,independent review,formal proof and publication separate."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S005",
      "uses": [
        "G001",
        "S004"
      ],
      "before": "Bijection ORIGINAL reverse ALL fiber sizes through target1 := sum(4, 0)",
      "after": "Bijection ORIGINAL reverse ALL fiber sizes through target1 = 4",
      "relation": "calculation",
      "rule_id": "exact_rational_arithmetic",
      "conditions": [],
      "explanation": {
        "zh-Hant": "保原操作數做精確整數／有理計算；只有raw輸入驗SAFE或本family明定小界，衍生值不重套界、不作浮點近似。",
        "en": "Use ORIGINAL operands for exact integer/rational arithmetic.Only RAW inputs use SAFE or the explicit family bounds;derived values do not inherit those caps or use floating approximations."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "以精確有理數重算 Bijection ORIGINAL reverse ALL fiber sizes through target1，不以小數近似替代。",
          "en": "Recompute Bijection ORIGINAL reverse ALL fiber sizes through target1 with exact rational arithmetic, not rounded decimals."
        }
      },
      "arithmetic": {
        "operation": "sum",
        "inputs": [
          "4",
          "0"
        ],
        "output": "4",
        "label": "Bijection ORIGINAL reverse ALL fiber sizes through target1"
      }
    },
    {
      "id": "S006",
      "uses": [
        "G001",
        "S005"
      ],
      "before": "source roles = [Bijection ORIGINAL, [0, 2, 0, 0, 0], 3, 1]",
      "after": "derived = [[], 0]",
      "relation": "implies",
      "rule_id": "Bijection_EVERY_declared_target_COMPLETE_fiber_including_EMPTY",
      "conditions": [],
      "explanation": {
        "zh-Hant": "對每個declared target列全部原source preimages，含空fiber，不只列出現過的value；indices保持原label與順序。",
        "en": "For EVERY declared target list ALL ORIGINAL source preimages,including empty fibers,not merely attained values.Retain original labels/index order."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "用原始資料、型別、索引與本步前提反向代回；一致性審查不等於可由結論唯一還原輸入。有限候選、獨立審查、形式證明與發布分開。",
          "en": "Reverse-check using the ORIGINAL data,types,indices and premises.Consistency auditing does not claim the conclusion uniquely determines its inputs.Keep finite candidates,independent review,formal proof and publication separate."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S007",
      "uses": [
        "G001",
        "S006"
      ],
      "before": "Bijection ORIGINAL reverse ALL fiber sizes through target2 := sum(4, 1)",
      "after": "Bijection ORIGINAL reverse ALL fiber sizes through target2 = 5",
      "relation": "calculation",
      "rule_id": "exact_rational_arithmetic",
      "conditions": [],
      "explanation": {
        "zh-Hant": "保原操作數做精確整數／有理計算；只有raw輸入驗SAFE或本family明定小界，衍生值不重套界、不作浮點近似。",
        "en": "Use ORIGINAL operands for exact integer/rational arithmetic.Only RAW inputs use SAFE or the explicit family bounds;derived values do not inherit those caps or use floating approximations."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "以精確有理數重算 Bijection ORIGINAL reverse ALL fiber sizes through target2，不以小數近似替代。",
          "en": "Recompute Bijection ORIGINAL reverse ALL fiber sizes through target2 with exact rational arithmetic, not rounded decimals."
        }
      },
      "arithmetic": {
        "operation": "sum",
        "inputs": [
          "4",
          "1"
        ],
        "output": "5",
        "label": "Bijection ORIGINAL reverse ALL fiber sizes through target2"
      }
    },
    {
      "id": "S008",
      "uses": [
        "G001",
        "S007"
      ],
      "before": "source roles = [Bijection ORIGINAL, [0, 2, 0, 0, 0], 3, 2]",
      "after": "derived = [[1], 1]",
      "relation": "implies",
      "rule_id": "Bijection_EVERY_declared_target_COMPLETE_fiber_including_EMPTY",
      "conditions": [],
      "explanation": {
        "zh-Hant": "對每個declared target列全部原source preimages，含空fiber，不只列出現過的value；indices保持原label與順序。",
        "en": "For EVERY declared target list ALL ORIGINAL source preimages,including empty fibers,not merely attained values.Retain original labels/index order."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "用原始資料、型別、索引與本步前提反向代回；一致性審查不等於可由結論唯一還原輸入。有限候選、獨立審查、形式證明與發布分開。",
          "en": "Reverse-check using the ORIGINAL data,types,indices and premises.Consistency auditing does not claim the conclusion uniquely determines its inputs.Keep finite candidates,independent review,formal proof and publication separate."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S009",
      "uses": [
        "G001",
        "S008"
      ],
      "before": "source roles = [Bijection ORIGINAL, [0, 2, 0, 0, 0], 3]",
      "after": "derived = [[[0, 2, 3, 4], [], [1]], [[0, 2], [0, 3], [0, 4], [2, 3], [2, 4], [3, 4]], [1], 否, 否, 否, 5]",
      "relation": "implies",
      "rule_id": "Bijection_ALL_collisions_GLOBAL_LEX_missing_targets_THREE_distinct_properties",
      "conditions": [],
      "explanation": {
        "zh-Hant": "每個collision是x<y且同image，完整集合按GLOBAL numeric LEX排序，不用codomain block或stream首重複。無collision才inj、無missing才surj、兩者才bij；empty->empty三真，empty->nonempty僅inj真。",
        "en": "A collision has x<y and equal images.List ALL pairs in GLOBAL numeric LEX order,not codomain-block order or first repeated output.No collision gives injectivity;no missing target gives surjectivity;BOTH give bijectivity.Empty->empty has all three;empty->nonempty only injectivity."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "用原始資料、型別、索引與本步前提反向代回；一致性審查不等於可由結論唯一還原輸入。有限候選、獨立審查、形式證明與發布分開。",
          "en": "Reverse-check using the ORIGINAL data,types,indices and premises.Consistency auditing does not claim the conclusion uniquely determines its inputs.Keep finite candidates,independent review,formal proof and publication separate."
        }
      },
      "arithmetic": null
    }
  ],
  "math_model": {
    "result": [
      [
        0,
        2,
        0,
        0,
        0
      ],
      [
        [
          0,
          2,
          3,
          4
        ],
        [],
        [
          1
        ]
      ],
      [
        [
          0,
          2
        ],
        [
          0,
          3
        ],
        [
          0,
          4
        ],
        [
          2,
          3
        ],
        [
          2,
          4
        ],
        [
          3,
          4
        ]
      ],
      [
        1
      ],
      false,
      false,
      false
    ]
  },
  "conclusion": {
    "canonical_value": "([0, 2, 0, 0, 0], [[0, 2, 3, 4], [], [1]], [[0, 2], [0, 3], [0, 4], [2, 3], [2, 4], [3, 4]], [1], 否, 否, 否)",
    "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-20261012-advance-20261017-r01-bijective-foundations",
      "batch_path": "public/data/questions/batches/batch-20261012-advance-20261017-r01-bijective-foundations/questions.jsonl",
      "batch_sha256": "574ace66f3393e27eb4fa7dc69cdf7812f96817d96a933a1b1ada03ff7ab115f",
      "original_line": 14,
      "original_line_sha256": "817c86099122f216b0baaa1bd71ef2c4cd93dcb6f5941283d4a735ad26b91f9d",
      "question_compact_sha256": "00378706db4ff3ba2d1db4cd9d8f977358c00f93cd647c58bdba2ad303c7b2cd",
      "english_row_compact_sha256": "db28cc3c3d43f456384b20a8f05b6678019399a4598b1aeef3498f1cd006efb5",
      "english_manifest_path": "public/data/i18n/editions/batch-20261012-advance-20261017-r01-bijective-foundations.en.json",
      "english_rows_path": "public/data/i18n/questions/batch-20261012-advance-20261017-r01-bijective-foundations.en.jsonl"
    },
    "mko_bindings": {
      "mko-bijective": {
        "sha256": "3f8aacffa7cd2d06121165a4baccd488e1af92185dc745b6ee2cd5733c59c73c",
        "english_sha256": "6263c10144a28f0b03f69a5c27ee3b32c7eaf33f0446b48924c55a2d093b71e9",
        "original_path": "public/data/mko/bijective.json",
        "english_path": "public/data/i18n/editions/mko-bijective.en.json"
      }
    },
    "selected_manifest_sha256": "5233edba9654a6cffd8b6b2d83c932f82ded15f9c0b7c733bd049943e672acff",
    "selected_part_sha256": "322533190c1eb10144c4c59b6c70cc2f8105108b5f4f3a39dd577712e7185c02",
    "original_candidate_sha256": "7370cd0d64d652165cb23b9cb4c65ba719200e05b912e9a7b458bf6a86f2f392",
    "original_candidate_line_sha256": "7370cd0d64d652165cb23b9cb4c65ba719200e05b912e9a7b458bf6a86f2f392"
  },
  "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-011-p61",
    "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": "d6b5a409bf933281a46617cd715d8016fd5ca3d6fb76f77d179ac2ecd9d608bf",
      "question_first_witness_sha256": "f80ecf598c6893a580af018e1a82849b33ee6887efb48a6a1d69569aa17f12e4"
    },
    "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": "2621833a5c26c2cf68d101b7f027706be66676400f301fbd17cc30d436bddb16",
      "arithmetic_steps": 3
    },
    "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."
  }
}
