{
  "schema_version": "ocme-reviewed-question-reader-v1",
  "question_id": "q-20261012-advance-20261017-r01-bijective-0043",
  "pilot_number": "R0061-31018",
  "number": 31018,
  "family_id": "qf-density17-bij-swapped-relation-audit",
  "title": {
    "zh-Hant": "第 31018 題：交換關係與反函數門檻",
    "en": "Question 31018: Converse Relation before Inverse-Function Qualification"
  },
  "original_question": {
    "schema_version": "ocme-question-v0.1",
    "id": "q-20261012-advance-20261017-r01-bijective-0043",
    "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=[1, 0, 1, 0, 0]。求 (交換後有序對字典序列, 全目標纖維大小, 雙射資格, 反函數總表或不成反函數)。",
    "answer": {
      "kind": "expression",
      "value": "([[0, 1], [0, 3], [0, 4], [1, 0], [1, 2]], [3, 2, 0], 否, 不成反函數)",
      "explanation_zh": "離散結構核對=([[0, 1], [0, 3], [0, 4], [1, 0], [1, 2]], [3, 2, 0], 否, 不成反函數)；先把每列(x,f(x))交換，再查每個目標是否恰有一個原像。；有限精確核對不是一般形式證明；基數相等不保證給定函數雙射；先資格後求值。"
    },
    "difficulty": {
      "band": "undergraduate_core",
      "level": 3,
      "skills": [
        "交換關係與反函數門檻"
      ]
    },
    "variant": {
      "family_id": "qf-density17-bij-swapped-relation-audit",
      "seed": 202610171043,
      "parameters": {
        "n": 5,
        "m": 3,
        "images": [
          1,
          0,
          1,
          0,
          0
        ],
        "domain": "Fin_total_table",
        "operation": "bij-swapped-relation-audit",
        "semantic_template": "qf-density17-bij-swapped-relation-audit/{\"images\":[1,0,1,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-0043",
    "batch_id": "batch-20261012-advance-20261017-r01-bijective-foundations",
    "locale": "en",
    "translation_state": "ai_candidate",
    "source": {
      "question_sha256": "079717747d938d8e465d249c1bb983bcb70165c9ba15fd20f32c49ed7475e785",
      "family_id": "qf-density17-bij-swapped-relation-audit",
      "seed": 202610171043,
      "semantic_template": "qf-density17-bij-swapped-relation-audit/{\"images\":[1,0,1,0,0],\"m\":3,\"n\":5}"
    },
    "fields": {
      "title": "Converse Relation before Inverse-Function Qualification",
      "stem": "Use the complete total map Fin(5)={0,…,4}→Fin(3) with images=[1, 0, 1, 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 (sorted swapped relation pairs [f(x),x], each codomain fiber size, inverse-function eligibility, inverse table or not-an-inverse-function).",
      "answer": {
        "kind": "expression",
        "value": "([[0, 1], [0, 3], [0, 4], [1, 0], [1, 2]], [3, 2, 0], No, not-an-inverse-function)",
        "explanation": "Swapping pairs creates a relation; it creates a total inverse function exactly when every target has one preimage. These exact finite checks are not new general formal Evidence. The exact result, retaining the requested order, is ([[0, 1], [0, 3], [0, 4], [1, 0], [1, 2]], [3, 2, 0], No, not-an-inverse-function)."
      },
      "skills": [
        "Converse Relation before Inverse-Function Qualification"
      ],
      "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, 1, 0, 0]。求 (交換後有序對字典序列, 全目標纖維大小, 雙射資格, 反函數總表或不成反函數)。",
        "en": "Use the complete total map Fin(5)={0,…,4}→Fin(3) with images=[1, 0, 1, 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 (sorted swapped relation pairs [f(x),x], each codomain fiber size, inverse-function eligibility, inverse table or not-an-inverse-function)."
      }
    }
  ],
  "steps": [
    {
      "id": "S001",
      "uses": [
        "G001"
      ],
      "before": "source roles = [qf-density17-bij-swapped-relation-audit, bij-swapped-relation-audit, domain, Fin_total_table]",
      "after": "derived = [[swapped_pairs, fiber_sizes, bijective, inverse_or_tag]]",
      "relation": "implies",
      "rule_id": "R61_SOURCE_exact_keys_operation_domain_OR_frame_and_output_roles",
      "conditions": [],
      "explanation": {
        "zh-Hant": "先核本題欄位與來源協議：distance只用完整座標frame，其他用domain；離散運算local-hyphen，舊bank用underscore。輸出欄序及型別依題族，保留原始中英資料與狀態。",
        "en": "Check THIS source interface:distance uses ONLY its complete coordinate frame;other families use a domain.Discrete operations use local hyphens,legacy banks underscores.Retain family-specific ordered output types and original bilingual data/status."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "以原始輸入、型別及本步條件反向代回核對，不聲稱結論能唯一還原所有前提。這是來源綁定候選，不是獨立審查或形式證明。",
          "en": "Reverse-check the ORIGINAL inputs,types and premises;the conclusion need not uniquely recover its premises.This source-bound candidate is not independent review or formal proof."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S002",
      "uses": [
        "G001",
        "S001"
      ],
      "before": "source roles = [5, 3, [1, 0, 1, 0, 0]]",
      "after": "derived = [[(0, 1), (1, 0), (2, 1), (3, 0), (4, 0)]]",
      "relation": "implies",
      "rule_id": "Swap_COMPLETE_total_table_typed_before_inverse_guard",
      "conditions": [],
      "explanation": {
        "zh-Hant": "每個source的像都要在Fin(m)，完整表長度是n。不是雙射的完整表仍是合法題目，不得先假設已有反函數。",
        "en": "EVERY source image must lie in Fin(m),and the complete table has length n.A nonbijective total table is a legal input;do not assume an inverse function exists."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "以原始輸入、型別及本步條件反向代回核對，不聲稱結論能唯一還原所有前提。這是來源綁定候選，不是獨立審查或形式證明。",
          "en": "Reverse-check the ORIGINAL inputs,types and premises;the conclusion need not uniquely recover its premises.This source-bound candidate is not independent review or formal proof."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S003",
      "uses": [
        "G001",
        "S002"
      ],
      "before": "source roles = [0, [1, 0, 1, 0, 0]]",
      "after": "derived = [[1, 3, 4], 3]",
      "relation": "implies",
      "rule_id": "Swap_EACH_target_ALL_original_preimages_including_empty",
      "conditions": [],
      "explanation": {
        "zh-Hant": "依每個原codomain標記列完整preimage，包含空fiber；保原source的索引，不預設每個fiber恰一個。",
        "en": "List ALL preimages for EACH original codomain label,including empty fibers.Keep original source indices without assuming singleton fibers."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "以原始輸入、型別及本步條件反向代回核對，不聲稱結論能唯一還原所有前提。這是來源綁定候選，不是獨立審查或形式證明。",
          "en": "Reverse-check the ORIGINAL inputs,types and premises;the conclusion need not uniquely recover its premises.This source-bound candidate is not independent review or formal proof."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S004",
      "uses": [
        "G001",
        "S003"
      ],
      "before": "source roles = [1, [1, 0, 1, 0, 0]]",
      "after": "derived = [[0, 2], 2]",
      "relation": "implies",
      "rule_id": "Swap_EACH_target_ALL_original_preimages_including_empty",
      "conditions": [],
      "explanation": {
        "zh-Hant": "依每個原codomain標記列完整preimage，包含空fiber；保原source的索引，不預設每個fiber恰一個。",
        "en": "List ALL preimages for EACH original codomain label,including empty fibers.Keep original source indices without assuming singleton fibers."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "以原始輸入、型別及本步條件反向代回核對，不聲稱結論能唯一還原所有前提。這是來源綁定候選，不是獨立審查或形式證明。",
          "en": "Reverse-check the ORIGINAL inputs,types and premises;the conclusion need not uniquely recover its premises.This source-bound candidate is not independent review or formal proof."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S005",
      "uses": [
        "G001",
        "S004"
      ],
      "before": "source roles = [2, [1, 0, 1, 0, 0]]",
      "after": "derived = [[], 0]",
      "relation": "implies",
      "rule_id": "Swap_EACH_target_ALL_original_preimages_including_empty",
      "conditions": [],
      "explanation": {
        "zh-Hant": "依每個原codomain標記列完整preimage，包含空fiber；保原source的索引，不預設每個fiber恰一個。",
        "en": "List ALL preimages for EACH original codomain label,including empty fibers.Keep original source indices without assuming singleton fibers."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "以原始輸入、型別及本步條件反向代回核對，不聲稱結論能唯一還原所有前提。這是來源綁定候選，不是獨立審查或形式證明。",
          "en": "Reverse-check the ORIGINAL inputs,types and premises;the conclusion need not uniquely recover its premises.This source-bound candidate is not independent review or formal proof."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S006",
      "uses": [
        "G001",
        "S005"
      ],
      "before": "source roles = [5, 3, [1, 0, 1, 0, 0], [[1, 3, 4], [0, 2], []]]",
      "after": "derived = [[[0, 1], [0, 3], [0, 4], [1, 0], [1, 2]], [3, 2, 0], 否, 不成反函數]",
      "relation": "implies",
      "rule_id": "Swap_RELATION_global_numeric_LEX_bijection_guard_THEN_inverse",
      "conditions": [],
      "explanation": {
        "zh-Hant": "交換每個有序對後依(target,source)數值字典序排列。只有每個target恰一個preimage才可作反函數；empty到empty的反表為空，否則保標籤不補0。",
        "en": "Swap EVERY ordered pair and sort by numeric(target,source)lexicographic order.ONLY singleton preimages at every target permit an inverse function.Empty-to-empty has an empty inverse;otherwise retain the tag without inventing0."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "以原始輸入、型別及本步條件反向代回核對，不聲稱結論能唯一還原所有前提。這是來源綁定候選，不是獨立審查或形式證明。",
          "en": "Reverse-check the ORIGINAL inputs,types and premises;the conclusion need not uniquely recover its premises.This source-bound candidate is not independent review or formal proof."
        }
      },
      "arithmetic": null
    }
  ],
  "math_model": {
    "result": [
      [
        [
          0,
          1
        ],
        [
          0,
          3
        ],
        [
          0,
          4
        ],
        [
          1,
          0
        ],
        [
          1,
          2
        ]
      ],
      [
        3,
        2,
        0
      ],
      false,
      "不成反函數"
    ]
  },
  "conclusion": {
    "canonical_value": "([[0, 1], [0, 3], [0, 4], [1, 0], [1, 2]], [3, 2, 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-r01-bijective-foundations",
      "batch_path": "public/data/questions/batches/batch-20261012-advance-20261017-r01-bijective-foundations/questions.jsonl",
      "batch_sha256": "574ace66f3393e27eb4fa7dc69cdf7812f96817d96a933a1b1ada03ff7ab115f",
      "original_line": 43,
      "original_line_sha256": "8cb580124199c3aeaaa2003bca4eebe62ffacd1646f0b15b2f05f497bde0dff4",
      "question_compact_sha256": "079717747d938d8e465d249c1bb983bcb70165c9ba15fd20f32c49ed7475e785",
      "english_row_compact_sha256": "26d4448b517b6bd868e3faa5d97d24c087dbf50b3e626439240a759373fe2395",
      "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": "912db26eb6c90aa6e256f4356cb5ee94cd0a352f04f667876ae6739f8181a17c",
    "original_candidate_sha256": "aeec59dd4fb66175cbf67cf4ca101ede8653fd46a8ed1b400a439fde7b90cdfa",
    "original_candidate_line_sha256": "aeec59dd4fb66175cbf67cf4ca101ede8653fd46a8ed1b400a439fde7b90cdfa"
  },
  "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-p62",
    "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": "5403317467ff7c6b74c18ae7211530d0156ebc67d63fc00a3e07b81a201d3d69",
      "question_first_witness_sha256": "c2b5022aa77f803cd3e1ba9ce162a707da0281aa5bb5289111a97de51fe8c495"
    },
    "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": "3cd3641b7c5fc4cceff4622deb9882c320cdc92cad4b77d55f7eb448e3ef558b",
      "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."
  }
}
