{
  "schema_version": "ocme-reviewed-question-reader-v1",
  "question_id": "q-20261004-advance-20261005-r01-injective-0053",
  "pilot_number": "R0063-32428",
  "number": 32428,
  "family_id": "qf-injective-fiber-cardinality",
  "title": {
    "zh-Hant": "第 32428 題：指定目標的纖維基數",
    "en": "Question 32428: Cardinality of a Specified Fiber"
  },
  "original_question": {
    "schema_version": "ocme-question-v0.1",
    "id": "q-20261004-advance-20261005-r01-injective-0053",
    "batch_id": "batch-20261004-advance-20261005-r01-injective-foundations",
    "language": "zh-Hant",
    "source_mko_ids": [
      "mko-injective"
    ],
    "title_zh": "指定目標的纖維基數",
    "stem_zh": "明示總函數 f:A→B，A={-1, 0}、B={1, 3, 5}，函數表為 {(-1, 1), (0, 3)}。目標 t=5∈B 的原像纖維有幾個元素？包含零纖維，不把 t 當成輸入。",
    "answer": {
      "kind": "short_text",
      "value": "0",
      "explanation_zh": "纖維(5)=∅。逐一列出恰映到 t 的 A 中輸入並計數；這個數是纖維基數，不是輸出值或機率。"
    },
    "difficulty": {
      "band": "undergraduate_core",
      "level": 1,
      "skills": [
        "指定目標的纖維基數"
      ]
    },
    "variant": {
      "family_id": "qf-injective-fiber-cardinality",
      "seed": 202610051053,
      "parameters": {
        "A": [
          -1,
          0
        ],
        "B": [
          1,
          3,
          5
        ],
        "pairs": [
          [
            -1,
            1
          ],
          [
            0,
            3
          ]
        ],
        "t": 5,
        "operation": "fiber_cardinality",
        "semantic_template": "qf-injective-fiber-cardinality/{\"A\":[-1,0],\"operation\":\"fiber_cardinality\",\"pairs\":[[-1,1],[0,3]],\"t\":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": "Codex independent producer (inherited model; exact runtime model not exposed)",
      "generated_at": "2026-10-04",
      "contract_version": "ocme-question-factory-v0.1"
    }
  },
  "original_english_edition": {
    "schema_version": "ocme-question-localization-v0.1",
    "question_id": "q-20261004-advance-20261005-r01-injective-0053",
    "batch_id": "batch-20261004-advance-20261005-r01-injective-foundations",
    "locale": "en",
    "translation_state": "ai_candidate",
    "source": {
      "question_sha256": "1ed1e72cf064f906d69b19c844a16b0e02f579320327d8298d6d8f59d84db934",
      "family_id": "qf-injective-fiber-cardinality",
      "seed": 202610051053,
      "semantic_template": "qf-injective-fiber-cardinality/{\"A\":[-1,0],\"operation\":\"fiber_cardinality\",\"pairs\":[[-1,1],[0,3]],\"t\":5}"
    },
    "fields": {
      "title": "Cardinality of a Specified Fiber",
      "stem": "The declared total function f:A→B has A={-1, 0}, B={1, 3, 5}, and table {(-1, 1), (0, 3)}. For target t=5∈B, find the cardinality of its preimage fiber, including a zero-size fiber. The target is not an input.",
      "answer": {
        "kind": "short_text",
        "value": "0",
        "explanation": "Enumerate inputs in A whose output is exactly 5. The fiber cardinality is 0; it is neither an output value nor a probability."
      },
      "skills": [
        "Cardinality of a Specified Fiber"
      ],
      "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": "明示總函數 f:A→B，A={-1, 0}、B={1, 3, 5}，函數表為 {(-1, 1), (0, 3)}。目標 t=5∈B 的原像纖維有幾個元素？包含零纖維，不把 t 當成輸入。",
        "en": "The declared total function f:A→B has A={-1, 0}, B={1, 3, 5}, and table {(-1, 1), (0, 3)}. For target t=5∈B, find the cardinality of its preimage fiber, including a zero-size fiber. The target is not an input."
      }
    }
  ],
  "steps": [
    {
      "id": "S001",
      "uses": [
        "G001"
      ],
      "before": "source roles = [qf-injective-fiber-cardinality, fiber_cardinality, no-required-domain, []]",
      "after": "derived = [[integer_fiber_cardinality_STRING]]",
      "relation": "implies",
      "rule_id": "R63_SOURCE_bank_keys_operation_domain_output_roles_metadata_not_oracle",
      "conditions": [],
      "explanation": {
        "zh-Hant": "BASE來源沒有本輪legacy的通用operation/domain/額外欄位禁令；保metadata而不當答案。PULSE與legacy則核來源精確欄位、operation及domain。不要把tuple、/1或輸入界強套全部題族。",
        "en": "BASE sources do not acquire a generic legacy operation/domain or unknown-metadata ban.Retain metadata WITHOUT using it as an answer oracle.PULSE/legacy enforce their exact source keys,operation/domain.Do not impose universal tuples,/1 or input bounds."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "依原始輸入、型別、論域及明示前提反向代回核對；不是由結論唯一還原前提。來源綁定候選、獨立審查、形式證明與發布各自分開。",
          "en": "Reverse-check ORIGINAL inputs,types,domain and premises;the conclusion need not uniquely recover its premises.Keep source-bound candidates,independent review,formal proof and publication separate."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S002",
      "uses": [
        "G001",
        "S001"
      ],
      "before": "source roles = [A declared domain, legacy-injective, [-1, 0]]",
      "after": "derived = [[-1, 0]]",
      "relation": "implies",
      "rule_id": "Map_RAW_distinct_SAFE_set_BANK_specific_cardinality_bound",
      "conditions": [],
      "explanation": {
        "zh-Hant": "A/B/C raw都為distinct SAFE整數；legacy injective限100，但PULSE沒有此100界。排序只在衍生工作表，不改原list。",
        "en": "RAW A/B/C are distinct SAFE integers.Legacy injective limits100,but PULSE has NO such cap.Sort ONLY a derived work table,retaining original lists."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "依原始輸入、型別、論域及明示前提反向代回核對；不是由結論唯一還原前提。來源綁定候選、獨立審查、形式證明與發布各自分開。",
          "en": "Reverse-check ORIGINAL inputs,types,domain and premises;the conclusion need not uniquely recover its premises.Keep source-bound candidates,independent review,formal proof and publication separate."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S003",
      "uses": [
        "G001",
        "S002"
      ],
      "before": "source roles = [B declared codomain, legacy-injective, [1, 3, 5]]",
      "after": "derived = [[1, 3, 5]]",
      "relation": "implies",
      "rule_id": "Map_RAW_distinct_SAFE_set_BANK_specific_cardinality_bound",
      "conditions": [],
      "explanation": {
        "zh-Hant": "A/B/C raw都為distinct SAFE整數；legacy injective限100，但PULSE沒有此100界。排序只在衍生工作表，不改原list。",
        "en": "RAW A/B/C are distinct SAFE integers.Legacy injective limits100,but PULSE has NO such cap.Sort ONLY a derived work table,retaining original lists."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "依原始輸入、型別、論域及明示前提反向代回核對；不是由結論唯一還原前提。來源綁定候選、獨立審查、形式證明與發布各自分開。",
          "en": "Reverse-check ORIGINAL inputs,types,domain and premises;the conclusion need not uniquely recover its premises.Keep source-bound candidates,independent review,formal proof and publication separate."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S004",
      "uses": [
        "G001",
        "S003"
      ],
      "before": "source roles = [legacy-injective, [[-1, 1], [0, 3]]]",
      "after": "derived = [[[-1, 1], [0, 3]]]",
      "relation": "implies",
      "rule_id": "Map_RAW_pairs_arity_SAFE_DUPLICATE_policy_BEFORE_totality",
      "conditions": [],
      "explanation": {
        "zh-Hant": "PULSE先拒絕完全重複raw row，不能把它當合法No；legacy injective先核raw長度≤200，再把完全相同row當同一有序對。兩種規則不能互換；全部raw cell先驗。",
        "en": "PULSE rejects EXACT duplicate RAW rows BEFORE totality,not as a legal No.Legacy injective FIRST checks raw length≤200,then normalizes identical rows as one pair.Do not exchange these policies;type-check EVERY raw cell first."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "依原始輸入、型別、論域及明示前提反向代回核對；不是由結論唯一還原前提。來源綁定候選、獨立審查、形式證明與發布各自分開。",
          "en": "Reverse-check ORIGINAL inputs,types,domain and premises;the conclusion need not uniquely recover its premises.Keep source-bound candidates,independent review,formal proof and publication separate."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S005",
      "uses": [
        "G001",
        "S004"
      ],
      "before": "source roles = [legacy-injective, 0, -1, 1, [-1, 0], [1, 3, 5]]",
      "after": "derived = [是, 是, 是]",
      "relation": "implies",
      "rule_id": "Map_EACH_row_SOURCE_and_TARGET_membership_in_declared_sets",
      "conditions": [],
      "explanation": {
        "zh-Hant": "每一row的input必在A、output必在B，包含unused／orphan row。A空也不能略過row資格。",
        "en": "EVERY row input must belong to A and output to B,including unused/orphan rows.Even an empty A does not waive row typing."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "依原始輸入、型別、論域及明示前提反向代回核對；不是由結論唯一還原前提。來源綁定候選、獨立審查、形式證明與發布各自分開。",
          "en": "Reverse-check ORIGINAL inputs,types,domain and premises;the conclusion need not uniquely recover its premises.Keep source-bound candidates,independent review,formal proof and publication separate."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S006",
      "uses": [
        "G001",
        "S005"
      ],
      "before": "source roles = [legacy-injective, 1, 0, 3, [-1, 0], [1, 3, 5]]",
      "after": "derived = [是, 是, 是]",
      "relation": "implies",
      "rule_id": "Map_EACH_row_SOURCE_and_TARGET_membership_in_declared_sets",
      "conditions": [],
      "explanation": {
        "zh-Hant": "每一row的input必在A、output必在B，包含unused／orphan row。A空也不能略過row資格。",
        "en": "EVERY row input must belong to A and output to B,including unused/orphan rows.Even an empty A does not waive row typing."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "依原始輸入、型別、論域及明示前提反向代回核對；不是由結論唯一還原前提。來源綁定候選、獨立審查、形式證明與發布各自分開。",
          "en": "Reverse-check ORIGINAL inputs,types,domain and premises;the conclusion need not uniquely recover its premises.Keep source-bound candidates,independent review,formal proof and publication separate."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S007",
      "uses": [
        "G001",
        "S006"
      ],
      "before": "source roles = [legacy-injective, -1, [[-1, 1], [0, 3]]]",
      "after": "derived = [1, 是]",
      "relation": "implies",
      "rule_id": "Map_EACH_declared_input_EXACTLY_one_normalized_row",
      "conditions": [],
      "explanation": {
        "zh-Hant": "逐declared A輸入數row，恰一個才滿足總函數；缺row與多個相異output都會失敗，不用第一個find掩蓋。",
        "en": "Count rows for EACH DECLARED A input;EXACTLY one is required for a total function.Missing rows/multiple distinct outputs fail;do not conceal them with a first-match lookup."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "依原始輸入、型別、論域及明示前提反向代回核對；不是由結論唯一還原前提。來源綁定候選、獨立審查、形式證明與發布各自分開。",
          "en": "Reverse-check ORIGINAL inputs,types,domain and premises;the conclusion need not uniquely recover its premises.Keep source-bound candidates,independent review,formal proof and publication separate."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S008",
      "uses": [
        "G001",
        "S007"
      ],
      "before": "source roles = [legacy-injective, 0, [[-1, 1], [0, 3]]]",
      "after": "derived = [1, 是]",
      "relation": "implies",
      "rule_id": "Map_EACH_declared_input_EXACTLY_one_normalized_row",
      "conditions": [],
      "explanation": {
        "zh-Hant": "逐declared A輸入數row，恰一個才滿足總函數；缺row與多個相異output都會失敗，不用第一個find掩蓋。",
        "en": "Count rows for EACH DECLARED A input;EXACTLY one is required for a total function.Missing rows/multiple distinct outputs fail;do not conceal them with a first-match lookup."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "依原始輸入、型別、論域及明示前提反向代回核對；不是由結論唯一還原前提。來源綁定候選、獨立審查、形式證明與發布各自分開。",
          "en": "Reverse-check ORIGINAL inputs,types,domain and premises;the conclusion need not uniquely recover its premises.Keep source-bound candidates,independent review,formal proof and publication separate."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S009",
      "uses": [
        "G001",
        "S008"
      ],
      "before": "source roles = [legacy-injective, [-1, 0], [1, 3, 5], [[-1, 1], [0, 3]], 是]",
      "after": "derived = [[是, 是], [1, 1], 是]",
      "relation": "implies",
      "rule_id": "Map_TOTAL_all_declared_inputs_AND_ALL_rows_before_any_lookup",
      "conditions": [],
      "explanation": {
        "zh-Hant": "總函數須兩方向資格同時成立。PULSE validity可回合法No；其他查詢與legacy injective都先要求真正total，才建lookup。空A/空表可以合法，B未達到元素不必刪。",
        "en": "A total function needs BOTH every declared input AND every row qualified.PULSE validity may legally return No;other queries and legacy injective REQUIRE actual totality BEFORE lookup.Empty A/table can be valid;unattained B labels remain."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "依原始輸入、型別、論域及明示前提反向代回核對；不是由結論唯一還原前提。來源綁定候選、獨立審查、形式證明與發布各自分開。",
          "en": "Reverse-check ORIGINAL inputs,types,domain and premises;the conclusion need not uniquely recover its premises.Keep source-bound candidates,independent review,formal proof and publication separate."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S010",
      "uses": [
        "G001",
        "S009"
      ],
      "before": "source roles = [-1, 1, 5, [1, 3, 5]]",
      "after": "derived = [否]",
      "relation": "implies",
      "rule_id": "Injective_FIBER_EACH_input_compare_to_TYPED_codomain_target",
      "conditions": [],
      "explanation": {
        "zh-Hant": "t是B內target，不是input；逐A找輸出等t的全部preimages，不能只找第一個，也不以權重／機率取代。",
        "en": "t is a target IN B,not an input.Enumerate ALL A preimages with output t,not just the first and not weights/probabilities."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "依原始輸入、型別、論域及明示前提反向代回核對；不是由結論唯一還原前提。來源綁定候選、獨立審查、形式證明與發布各自分開。",
          "en": "Reverse-check ORIGINAL inputs,types,domain and premises;the conclusion need not uniquely recover its premises.Keep source-bound candidates,independent review,formal proof and publication separate."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S011",
      "uses": [
        "G001",
        "S010"
      ],
      "before": "source roles = [0, 3, 5, [1, 3, 5]]",
      "after": "derived = [否]",
      "relation": "implies",
      "rule_id": "Injective_FIBER_EACH_input_compare_to_TYPED_codomain_target",
      "conditions": [],
      "explanation": {
        "zh-Hant": "t是B內target，不是input；逐A找輸出等t的全部preimages，不能只找第一個，也不以權重／機率取代。",
        "en": "t is a target IN B,not an input.Enumerate ALL A preimages with output t,not just the first and not weights/probabilities."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "依原始輸入、型別、論域及明示前提反向代回核對；不是由結論唯一還原前提。來源綁定候選、獨立審查、形式證明與發布各自分開。",
          "en": "Reverse-check ORIGINAL inputs,types,domain and premises;the conclusion need not uniquely recover its premises.Keep source-bound candidates,independent review,formal proof and publication separate."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S012",
      "uses": [
        "G001",
        "S011"
      ],
      "before": "source roles = [[-1, 0], 5, []]",
      "after": "derived = [0]",
      "relation": "implies",
      "rule_id": "Injective_FIBER_complete_zero_size_legal_cardinality_STRING",
      "conditions": [],
      "explanation": {
        "zh-Hant": "完整fiber可空，基數0合法；答案是個數的整數字串，不是target值或概率。",
        "en": "The COMPLETE fiber may be empty with cardinality0.Return its count as an integer string,not the target value or a probability."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "依原始輸入、型別、論域及明示前提反向代回核對；不是由結論唯一還原前提。來源綁定候選、獨立審查、形式證明與發布各自分開。",
          "en": "Reverse-check ORIGINAL inputs,types,domain and premises;the conclusion need not uniquely recover its premises.Keep source-bound candidates,independent review,formal proof and publication separate."
        }
      },
      "arithmetic": null
    }
  ],
  "math_model": {
    "result": "0"
  },
  "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-20261004-advance-20261005-r01-injective-foundations",
      "batch_path": "public/data/questions/batches/batch-20261004-advance-20261005-r01-injective-foundations/questions.jsonl",
      "batch_sha256": "619b8597198013d7efc3affa0a8778e52108d5c809490317a020458b2d5575d1",
      "original_line": 53,
      "original_line_sha256": "50498356aac3bd6529c31b06bfe40f8442e0adf41d43b4a0baa33a5203eee181",
      "question_compact_sha256": "1ed1e72cf064f906d69b19c844a16b0e02f579320327d8298d6d8f59d84db934",
      "english_row_compact_sha256": "8a53e83c95c364bd1c3c36396a6b7df76115929fa59926e75cae9a8a1dd7ad4a",
      "english_manifest_path": "public/data/i18n/editions/batch-20261004-advance-20261005-r01-injective-foundations.en.json",
      "english_rows_path": "public/data/i18n/questions/batch-20261004-advance-20261005-r01-injective-foundations.en.jsonl"
    },
    "mko_bindings": {
      "mko-injective": {
        "sha256": "3075724e6925d827d24d227d1a1ae7ef1d5fb63e41ca8cbf87adcb12c8c76941",
        "english_sha256": "9fe4b6d40c7d49c6b6b3428ebeba9f5e119a339a59cb8c0838fc01d5e17f69bc",
        "original_path": "public/data/mko/injective.json",
        "english_path": "public/data/i18n/editions/mko-injective.en.json"
      }
    },
    "selected_manifest_sha256": "5233edba9654a6cffd8b6b2d83c932f82ded15f9c0b7c733bd049943e672acff",
    "selected_part_sha256": "f3271d6047df957dbf3d61120bd3dd374784c828b17849887e14caf59d93f745",
    "original_candidate_sha256": "fa1e070b2ca70bf7c1991d4fd0588e14e6512462da8efaef4b49616029618078",
    "original_candidate_line_sha256": "fa1e070b2ca70bf7c1991d4fd0588e14e6512462da8efaef4b49616029618078"
  },
  "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-p64",
    "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": "acf03b776f4855e3869810bcbecf1116e3a2b11dfb1e2a5dfbcf8135ad24a7d0",
      "question_first_witness_sha256": "eadbbac3220988b52754f32450fb536d627217306d1ce28a49134f56c21bfa88"
    },
    "status": "second_context_reviewed",
    "mathematical_semantics": true,
    "bilingual_semantics": true,
    "steps_reviewed": 12,
    "method": "family_template_semantic_review_plus_independent_per_instance_reconstruction",
    "exact_question_first_check": {
      "model_sha256": "4c1639e6caa4263d3ad13cd60f7f008fb373031632c9a01c5745f1b87820abbb",
      "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."
  }
}
