{
  "schema_version": "ocme-reviewed-question-reader-v1",
  "question_id": "q-20261012-advance-20261017-r02-inverse-function-0059",
  "pilot_number": "R0015-08184",
  "number": 8184,
  "family_id": "qf-density17-inverse-query-qualification",
  "title": {
    "zh-Hant": "第 8184 題：反函數查詢的陪域資格",
    "en": "Question 8184: Inverse Existence and Two Codomain Query Guards"
  },
  "original_question": {
    "schema_version": "ocme-question-v0.1",
    "id": "q-20261012-advance-20261017-r02-inverse-function-0059",
    "batch_id": "batch-20261012-advance-20261017-r02-inverse-function-foundations",
    "language": "zh-Hant",
    "source_mko_ids": [
      "mko-inverse-function"
    ],
    "title_zh": "反函數查詢的陪域資格",
    "stem_zh": "Fin型別從0起，完整總表。Fin(5)=[0, 1, 2, 3, 4]→Fin(3)=[0, 1, 2]；總函數f依輸入索引列images=[1, 0, 0, 0, 0]。有序兩查詢=[0, 2]。答 (images, f雙射資格, 兩查詢在原Fin(m)中的資格, 兩結果)。先判f；非雙射每結果均不成反函數，雙射但查詢域外答不合陪域。",
    "answer": {
      "kind": "expression",
      "value": "([1, 0, 0, 0, 0], 否, [是, 是], [不成反函數, 不成反函數])",
      "explanation_zh": "離散結構核對=([1, 0, 0, 0, 0], 否, [是, 是], [不成反函數, 不成反函數])；查詢資格按原宣告陪域；反函數未成立時不讀交換資料。；有限精確核對不是一般形式證明；基數相等不保證給定函數雙射；先資格後求值；反函數不是函數值倒數；兩側identity分開。"
    },
    "difficulty": {
      "band": "undergraduate_core",
      "level": 2,
      "skills": [
        "反函數查詢的陪域資格"
      ]
    },
    "variant": {
      "family_id": "qf-density17-inverse-query-qualification",
      "seed": 202610172059,
      "parameters": {
        "n": 5,
        "m": 3,
        "images": [
          1,
          0,
          0,
          0,
          0
        ],
        "queries": [
          0,
          2
        ],
        "domain": "Fin_total_table",
        "operation": "inverse-query-qualification",
        "semantic_template": "qf-density17-inverse-query-qualification/{\"images\":[1,0,0,0,0],\"m\":3,\"n\":5,\"queries\":[true,true]}"
      }
    },
    "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-r02-inverse-function-0059",
    "batch_id": "batch-20261012-advance-20261017-r02-inverse-function-foundations",
    "locale": "en",
    "translation_state": "ai_candidate",
    "source": {
      "question_sha256": "11eceac0b20d30d7be810fa03a3e6227d30c1022da5d3da7e51a33fbfb2d655e",
      "family_id": "qf-density17-inverse-query-qualification",
      "seed": 202610172059,
      "semantic_template": "qf-density17-inverse-query-qualification/{\"images\":[1,0,0,0,0],\"m\":3,\"n\":5,\"queries\":[true,true]}"
    },
    "fields": {
      "title": "Inverse Existence and Two Codomain Query Guards",
      "stem": "Use the complete total map Fin(5)={0,…,4}→Fin(3) with images=[1, 0, 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. Ordered queries=[0, 2]. Give (images, bijectivity, two codomain type guards, two inverse values). If f is not bijective use not-an-inverse-function for each value; otherwise an untyped query yields outside-codomain.",
      "answer": {
        "kind": "expression",
        "value": "([1, 0, 0, 0, 0], No, [Yes, Yes], [not-an-inverse-function, not-an-inverse-function])",
        "explanation": "Preserve the inverse-existence guard separately from the query masks; an inverse is not a reciprocal. These exact finite checks are not new general formal Evidence. The exact result, retaining the requested order, is ([1, 0, 0, 0, 0], No, [Yes, Yes], [not-an-inverse-function, not-an-inverse-function])."
      },
      "skills": [
        "Inverse Existence and Two Codomain Query Guards"
      ],
      "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=[1, 0, 0, 0, 0]。有序兩查詢=[0, 2]。答 (images, f雙射資格, 兩查詢在原Fin(m)中的資格, 兩結果)。先判f；非雙射每結果均不成反函數，雙射但查詢域外答不合陪域。",
        "en": "Use the complete total map Fin(5)={0,…,4}→Fin(3) with images=[1, 0, 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. Ordered queries=[0, 2]. Give (images, bijectivity, two codomain type guards, two inverse values). If f is not bijective use not-an-inverse-function for each value; otherwise an untyped query yields outside-codomain."
      }
    }
  ],
  "steps": [
    {
      "id": "S001",
      "uses": [
        "G001"
      ],
      "before": "n=5;m=3;images=[1, 0, 0, 0, 0]",
      "after": "complete typed total map;inverse is not reciprocal",
      "relation": "implies",
      "rule_id": "inverse_typed_map_scope",
      "conditions": [],
      "explanation": {
        "zh-Hant": "整張原總表先合型；有限基數相等不保證這張表是雙射，值為0也不妨礙可能的反函數。",
        "en": "Validate the whole original total table first.Equal finite cardinalities do not ensure this particular table is bijective,and a zero function value does not prohibit an inverse."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S002",
      "uses": [
        "G001",
        "S001"
      ],
      "before": "target=0;original images=[1, 0, 0, 0, 0]",
      "after": "fiber=[1, 2, 3, 4];unique=否",
      "relation": "implies",
      "rule_id": "inverse_complete_target_fiber",
      "conditions": [],
      "explanation": {
        "zh-Hant": "掃描每個原輸入，列這個宣告目標的全部原像；空纖維或多原像都不能成為總反函數的一格。",
        "en": "Scan every original input and list all preimages of this declared target.An empty or multiple-preimage fiber cannot supply a cell of a total inverse."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S003",
      "uses": [
        "G001",
        "S002"
      ],
      "before": "target=1;original images=[1, 0, 0, 0, 0]",
      "after": "fiber=[0];unique=是",
      "relation": "implies",
      "rule_id": "inverse_complete_target_fiber",
      "conditions": [],
      "explanation": {
        "zh-Hant": "掃描每個原輸入，列這個宣告目標的全部原像；空纖維或多原像都不能成為總反函數的一格。",
        "en": "Scan every original input and list all preimages of this declared target.An empty or multiple-preimage fiber cannot supply a cell of a total inverse."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S004",
      "uses": [
        "G001",
        "S003"
      ],
      "before": "target=2;original images=[1, 0, 0, 0, 0]",
      "after": "fiber=[];unique=否",
      "relation": "implies",
      "rule_id": "inverse_complete_target_fiber",
      "conditions": [],
      "explanation": {
        "zh-Hant": "掃描每個原輸入，列這個宣告目標的全部原像；空纖維或多原像都不能成為總反函數的一格。",
        "en": "Scan every original input and list all preimages of this declared target.An empty or multiple-preimage fiber cannot supply a cell of a total inverse."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S005",
      "uses": [
        "G001",
        "S004"
      ],
      "before": "n=5;m=3;fibers=[[1, 2, 3, 4], [0], []]",
      "after": "bijective=否",
      "relation": "implies",
      "rule_id": "inverse_bijection_gate",
      "conditions": [],
      "explanation": {
        "zh-Hant": "原表已為總函數，每個陪域目標恰一原像等價於雙射；空到空總表通過，不能只看n=m。",
        "en": "For the already total map,exactly one preimage per codomain target is equivalent to bijectivity.The empty-to-empty map qualifies;checking n=m alone is insufficient."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S006",
      "uses": [
        "G001",
        "S005"
      ],
      "before": "query0=0;bijective=否;in Fin(3)=是",
      "after": "inverse value/status=不成反函數",
      "relation": "implies",
      "rule_id": "inverse_query_guard_precedence",
      "conditions": [],
      "explanation": {
        "zh-Hant": "查詢合型mask獨立保留；原函數非雙射優先答不成反函數。只有反函數存在且目標合型才讀唯一原像。",
        "en": "Retain the query type mask separately.A nonbijective original map takes precedence and yields not-an-inverse-function.Read the unique preimage only if the inverse exists and the target is typed."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S007",
      "uses": [
        "G001",
        "S006"
      ],
      "before": "query1=2;bijective=否;in Fin(3)=是",
      "after": "inverse value/status=不成反函數",
      "relation": "implies",
      "rule_id": "inverse_query_guard_precedence",
      "conditions": [],
      "explanation": {
        "zh-Hant": "查詢合型mask獨立保留；原函數非雙射優先答不成反函數。只有反函數存在且目標合型才讀唯一原像。",
        "en": "Retain the query type mask separately.A nonbijective original map takes precedence and yields not-an-inverse-function.Read the unique preimage only if the inverse exists and the target is typed."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    }
  ],
  "math_model": {
    "result": [
      [
        1,
        0,
        0,
        0,
        0
      ],
      false,
      [
        true,
        true
      ],
      [
        "不成反函數",
        "不成反函數"
      ]
    ]
  },
  "conclusion": {
    "canonical_value": "([1, 0, 0, 0, 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-20261012-advance-20261017-r02-inverse-function-foundations",
      "batch_path": "public/data/questions/batches/batch-20261012-advance-20261017-r02-inverse-function-foundations/questions.jsonl",
      "batch_sha256": "2a8e8b94ea3d16474e10a99a31991fc1bba31b1865f14e020530bb8ff219dd49",
      "original_line": 59,
      "original_line_sha256": "ed32e94c21e565ac4da92f29dd94420dda05084bb9a4ad58ecfa9e7a3b6cf482",
      "question_compact_sha256": "11eceac0b20d30d7be810fa03a3e6227d30c1022da5d3da7e51a33fbfb2d655e",
      "english_row_compact_sha256": "39db2f2d72e35328c17c5e9cbb5dbacf7b50e6420905558b6c008fcfe94bd20a",
      "english_manifest_path": "public/data/i18n/editions/batch-20261012-advance-20261017-r02-inverse-function-foundations.en.json",
      "english_rows_path": "public/data/i18n/questions/batch-20261012-advance-20261017-r02-inverse-function-foundations.en.jsonl"
    },
    "mko_bindings": {
      "mko-inverse-function": {
        "sha256": "bad163b9a218429518937fb4e86abe0e8707ebda0fc06c7e27f625184bc05c4f",
        "english_sha256": "c8aec9f36446191c0529002aef5c9e758f57dd5f6a6f73d01d62310e907d6bea",
        "original_path": "public/data/mko/inverse-function.json",
        "english_path": "public/data/i18n/editions/mko-inverse-function.en.json"
      }
    },
    "selected_manifest_sha256": "5233edba9654a6cffd8b6b2d83c932f82ded15f9c0b7c733bd049943e672acff",
    "selected_part_sha256": "ca1078dc467a0f3769865919aadc46c87712d098f1dfbde90f787471e22bcfec",
    "original_candidate_sha256": "5b582212663f3148465fab858941a8866f8397af187259fd8e3ba9640153e8b1",
    "original_candidate_line_sha256": "5b582212663f3148465fab858941a8866f8397af187259fd8e3ba9640153e8b1"
  },
  "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-005-p16",
    "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": "6ecad9d909199221a07e923f87425e80b3bdec3eed46fe5910d04fca694cae18",
      "question_first_witness_sha256": "e8f00458977a09493b5f9f05ab9e6feec72debaf4c7d1c609d1fc95900a35a1b"
    },
    "status": "second_context_reviewed",
    "mathematical_semantics": true,
    "bilingual_semantics": true,
    "steps_reviewed": 7,
    "method": "family_template_semantic_review_plus_independent_per_instance_reconstruction",
    "exact_question_first_check": {
      "model_sha256": "3d0426ececbdab2196496dc5b240a836140fa5a73b138c043cba0322537ec368",
      "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."
  }
}
