{
  "schema_version": "ocme-reviewed-question-reader-v1",
  "question_id": "q-20261012-advance-20261017-r02-inverse-function-0041",
  "pilot_number": "R0015-08166",
  "number": 8166,
  "family_id": "qf-density17-inverse-candidate-two-sided",
  "title": {
    "zh-Hant": "第 8166 題：候選逆表的兩側分開核對",
    "en": "Question 8166: Whole Candidate Inverse Type Check and Two Independent Identities"
  },
  "original_question": {
    "schema_version": "ocme-question-v0.1",
    "id": "q-20261012-advance-20261017-r02-inverse-function-0041",
    "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=[2, 2, 0, 0, 0]。候選g的完整資料=[0, 2, 5]，其值可能不合Fin(n)。答 (images, g每格合型mask, g總表資格, g∘f表, f∘g表, 左identity資格, 右identity資格)。任一g格不合型，後四欄都答不求值；合型時單側identity不叫雙側反函數。",
    "answer": {
      "kind": "expression",
      "value": "([2, 2, 0, 0, 0], [是, 是, 否], 否, 不求值, 不求值, 不求值, 不求值)",
      "explanation_zh": "離散結構核對=([2, 2, 0, 0, 0], [是, 是, 否], 否, 不求值, 不求值, 不求值, 不求值)；先驗g每個值；全合型才沿兩個方向查表並逐索引比identity。；有限精確核對不是一般形式證明；基數相等不保證給定函數雙射；先資格後求值；反函數不是函數值倒數；兩側identity分開。"
    },
    "difficulty": {
      "band": "undergraduate_core",
      "level": 2,
      "skills": [
        "候選逆表的兩側分開核對"
      ]
    },
    "variant": {
      "family_id": "qf-density17-inverse-candidate-two-sided",
      "seed": 202610172041,
      "parameters": {
        "n": 5,
        "m": 3,
        "images": [
          2,
          2,
          0,
          0,
          0
        ],
        "g": [
          0,
          2,
          5
        ],
        "domain": "Fin_total_table",
        "operation": "inverse-candidate-two-sided",
        "semantic_template": "qf-density17-inverse-candidate-two-sided/{\"g\":[true,true,false],\"images\":[2,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-r02-inverse-function-0041",
    "batch_id": "batch-20261012-advance-20261017-r02-inverse-function-foundations",
    "locale": "en",
    "translation_state": "ai_candidate",
    "source": {
      "question_sha256": "fa64e3c3efade35d230db08b1eb2cfee71a93feb2f0ee3f5de2c320270ab13f4",
      "family_id": "qf-density17-inverse-candidate-two-sided",
      "seed": 202610172041,
      "semantic_template": "qf-density17-inverse-candidate-two-sided/{\"g\":[true,true,false],\"images\":[2,2,0,0,0],\"m\":3,\"n\":5}"
    },
    "fields": {
      "title": "Whole Candidate Inverse Type Check and Two Independent Identities",
      "stem": "Use the complete total map Fin(5)={0,…,4}→Fin(3) with images=[2, 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. Candidate g:Fin(3)→Fin(5) has g=[0, 2, 5]. Give (images, per-cell g type mask, whole-g eligibility, g∘f values, f∘g values, first identity?, second identity?). If any g cell is untyped, use not-evaluated in the last four fields.",
      "answer": {
        "kind": "expression",
        "value": "([2, 2, 0, 0, 0], [Yes, Yes, No], No, not-evaluated, not-evaluated, not-evaluated, not-evaluated)",
        "explanation": "Check all candidate cells, including unused ones, before evaluating either composition. A one-sided identity does not establish the other. These exact finite checks are not new general formal Evidence. The exact result, retaining the requested order, is ([2, 2, 0, 0, 0], [Yes, Yes, No], No, not-evaluated, not-evaluated, not-evaluated, not-evaluated)."
      },
      "skills": [
        "Whole Candidate Inverse Type Check and Two Independent Identities"
      ],
      "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=[2, 2, 0, 0, 0]。候選g的完整資料=[0, 2, 5]，其值可能不合Fin(n)。答 (images, g每格合型mask, g總表資格, g∘f表, f∘g表, 左identity資格, 右identity資格)。任一g格不合型，後四欄都答不求值；合型時單側identity不叫雙側反函數。",
        "en": "Use the complete total map Fin(5)={0,…,4}→Fin(3) with images=[2, 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. Candidate g:Fin(3)→Fin(5) has g=[0, 2, 5]. Give (images, per-cell g type mask, whole-g eligibility, g∘f values, f∘g values, first identity?, second identity?). If any g cell is untyped, use not-evaluated in the last four fields."
      }
    }
  ],
  "steps": [
    {
      "id": "S001",
      "uses": [
        "G001"
      ],
      "before": "n=5;m=3;images=[2, 2, 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=[2, 2, 0, 0, 0]",
      "after": "fiber=[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=[2, 2, 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": "S004",
      "uses": [
        "G001",
        "S003"
      ],
      "before": "target=2;original images=[2, 2, 0, 0, 0]",
      "after": "fiber=[0, 1];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=[[2, 3, 4], [], [0, 1]]",
      "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": "candidate g=[0, 2, 5];target Fin(5)",
      "after": "mask=[是, 是, 否];whole table eligible=否",
      "relation": "implies",
      "rule_id": "whole_inverse_candidate_type_guard",
      "conditions": [],
      "explanation": {
        "zh-Hant": "包括f沒有命中的格也必須合型；任何格失格，兩側合成都不求值，不能跳過那一格。",
        "en": "Every candidate cell must be typed,including cells not reached by f.If any cell is invalid,neither composition is evaluated;do not skip that cell."
      },
      "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": [
      [
        2,
        2,
        0,
        0,
        0
      ],
      [
        true,
        true,
        false
      ],
      false,
      "不求值",
      "不求值",
      "不求值",
      "不求值"
    ]
  },
  "conclusion": {
    "canonical_value": "([2, 2, 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": 41,
      "original_line_sha256": "55f7e6bb47351c89bdee776da823fe00a59e3a6b9e28cda93c61edaa3743dcae",
      "question_compact_sha256": "fa64e3c3efade35d230db08b1eb2cfee71a93feb2f0ee3f5de2c320270ab13f4",
      "english_row_compact_sha256": "ed0730d9244fedb60aa95998494896bf890883ec6939af5223c2316aa609eff2",
      "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": "67fba824238058a6aa6500125ed65831e2a76b0a84fcf8c1341234a7809ca09f",
    "original_candidate_line_sha256": "67fba824238058a6aa6500125ed65831e2a76b0a84fcf8c1341234a7809ca09f"
  },
  "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": 6,
    "method": "family_template_semantic_review_plus_independent_per_instance_reconstruction",
    "exact_question_first_check": {
      "model_sha256": "9ef1bd1a73918dab095f45d787fb085226b6ceeb1d8e159d1c73c5d130cb8ede",
      "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."
  }
}
