{
  "schema_version": "ocme-reviewed-question-reader-v1",
  "question_id": "q-20261004-advance-20261005-r01-injective-0023",
  "pilot_number": "R0064-32523",
  "number": 32523,
  "family_id": "qf-injective-table-property",
  "title": {
    "zh-Hant": "第 32523 題：有限總函數的單射性",
    "en": "Question 32523: Injectivity of a Finite Total Function"
  },
  "original_question": {
    "schema_version": "ocme-question-v0.1",
    "id": "q-20261004-advance-20261005-r01-injective-0023",
    "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={-6, -5, -4, -3, -2, -1, 0}、B={1, 3, 5, 7, 9, 11, 13, 15}，函數表為 {(-6, 1), (-5, 3), (-4, 5), (-3, 7), (-2, 9), (-1, 11), (0, 13)}。f 是否為單射？只比較不同合法輸入，不以陪域大小作猜測。",
    "answer": {
      "kind": "short_text",
      "value": "是",
      "explanation_zh": "單射=是；滿射=否。每個輸出纖維至多一個合法輸入才是單射；未覆蓋的陪域元素不會破壞單射。"
    },
    "difficulty": {
      "band": "undergraduate_core",
      "level": 3,
      "skills": [
        "有限總函數的單射性"
      ]
    },
    "variant": {
      "family_id": "qf-injective-table-property",
      "seed": 202610051023,
      "parameters": {
        "A": [
          -6,
          -5,
          -4,
          -3,
          -2,
          -1,
          0
        ],
        "B": [
          1,
          3,
          5,
          7,
          9,
          11,
          13,
          15
        ],
        "pairs": [
          [
            -6,
            1
          ],
          [
            -5,
            3
          ],
          [
            -4,
            5
          ],
          [
            -3,
            7
          ],
          [
            -2,
            9
          ],
          [
            -1,
            11
          ],
          [
            0,
            13
          ]
        ],
        "operation": "injective",
        "semantic_template": "qf-injective-table-property/{\"A\":[-6,-5,-4,-3,-2,-1,0],\"operation\":\"injective\",\"pairs\":[[-6,1],[-5,3],[-4,5],[-3,7],[-2,9],[-1,11],[0,13]]}"
      }
    },
    "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-0023",
    "batch_id": "batch-20261004-advance-20261005-r01-injective-foundations",
    "locale": "en",
    "translation_state": "ai_candidate",
    "source": {
      "question_sha256": "21806a8fa2aa768a8357e880d7e049b80f92b2e7fbfc921d2a589150099fdcda",
      "family_id": "qf-injective-table-property",
      "seed": 202610051023,
      "semantic_template": "qf-injective-table-property/{\"A\":[-6,-5,-4,-3,-2,-1,0],\"operation\":\"injective\",\"pairs\":[[-6,1],[-5,3],[-4,5],[-3,7],[-2,9],[-1,11],[0,13]]}"
    },
    "fields": {
      "title": "Injectivity of a Finite Total Function",
      "stem": "The declared total function f:A→B has A={-6, -5, -4, -3, -2, -1, 0}, B={1, 3, 5, 7, 9, 11, 13, 15}, and table {(-6, 1), (-5, 3), (-4, 5), (-3, 7), (-2, 9), (-1, 11), (0, 13)}. Is f injective? Compare distinct permitted inputs rather than guessing from the codomain size.",
      "answer": {
        "kind": "short_text",
        "value": "Yes",
        "explanation": "Check whether each output fiber has at most one permitted input, giving Yes. Uncovered codomain elements do not defeat injectivity."
      },
      "skills": [
        "Injectivity of a Finite Total Function"
      ],
      "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={-6, -5, -4, -3, -2, -1, 0}、B={1, 3, 5, 7, 9, 11, 13, 15}，函數表為 {(-6, 1), (-5, 3), (-4, 5), (-3, 7), (-2, 9), (-1, 11), (0, 13)}。f 是否為單射？只比較不同合法輸入，不以陪域大小作猜測。",
        "en": "The declared total function f:A→B has A={-6, -5, -4, -3, -2, -1, 0}, B={1, 3, 5, 7, 9, 11, 13, 15}, and table {(-6, 1), (-5, 3), (-4, 5), (-3, 7), (-2, 9), (-1, 11), (0, 13)}. Is f injective? Compare distinct permitted inputs rather than guessing from the codomain size."
      }
    }
  ],
  "steps": [
    {
      "id": "S001",
      "uses": [
        "G001"
      ],
      "before": "source roles = [qf-injective-table-property, injective, no-required-domain, []]",
      "after": "derived = [[injective_YesNo_STRING]]",
      "relation": "implies",
      "rule_id": "R64_SOURCE_exact_legacy_interface_BASE_metadata_AND_output_roles",
      "conditions": [],
      "explanation": {
        "zh-Hant": "legacy核來源精確欄位及operation/domain；BASE整數保metadata但不當oracle。先分NUMBER、字串、fractionpair或vector等式，不強套同一格式；原中英／AST／status不變。",
        "en": "Legacy banks enforce their exact source keys/operation/domain.BASE integers retain metadata without treating it as an oracle.Distinguish NUMBER,string,fraction pair and vector equality formats;retain original bilingual data/AST/status."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "以原始資料、欄位角色、型別、論域及本步前提反向代回核對；不表示結論能唯一還原前提。來源綁定候選、獨立審查、形式證明與發布分開。",
          "en": "Reverse-check ORIGINAL data,field roles,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 = [ORIGINAL f domain, [-6, -5, -4, -3, -2, -1, 0]]",
      "after": "derived = [[-6, -5, -4, -3, -2, -1, 0]]",
      "relation": "implies",
      "rule_id": "FiniteMap_RAW_distinct_SAFE_set_bound100",
      "conditions": [],
      "explanation": {
        "zh-Hant": "raw集合distinct、SAFE且≤100；排序只是衍生工作表，原list及來源雜湊不變。",
        "en": "RAW sets are distinct,SAFE and≤100.Sort only a derived work table,retaining original lists/hashes."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "以原始資料、欄位角色、型別、論域及本步前提反向代回核對；不表示結論能唯一還原前提。來源綁定候選、獨立審查、形式證明與發布分開。",
          "en": "Reverse-check ORIGINAL data,field roles,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 = [ORIGINAL f codomain, [1, 3, 5, 7, 9, 11, 13, 15]]",
      "after": "derived = [[1, 3, 5, 7, 9, 11, 13, 15]]",
      "relation": "implies",
      "rule_id": "FiniteMap_RAW_distinct_SAFE_set_bound100",
      "conditions": [],
      "explanation": {
        "zh-Hant": "raw集合distinct、SAFE且≤100；排序只是衍生工作表，原list及來源雜湊不變。",
        "en": "RAW sets are distinct,SAFE and≤100.Sort only a derived work table,retaining original lists/hashes."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "以原始資料、欄位角色、型別、論域及本步前提反向代回核對；不表示結論能唯一還原前提。來源綁定候選、獨立審查、形式證明與發布分開。",
          "en": "Reverse-check ORIGINAL data,field roles,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 = [ORIGINAL f, [[-6, 1], [-5, 3], [-4, 5], [-3, 7], [-2, 9], [-1, 11], [0, 13]]]",
      "after": "derived = [[[-6, 1], [-5, 3], [-4, 5], [-3, 7], [-2, 9], [-1, 11], [0, 13]]]",
      "relation": "implies",
      "rule_id": "FiniteMap_RAW200_bound_BEFORE_identical_row_ASSET_normalization",
      "conditions": [],
      "explanation": {
        "zh-Hant": "先驗全部raw row長度2、SAFE且raw≤200，再把相同row視為同一有序對；不是把不同output的同input合併。空domain也不略過raw檢查。",
        "en": "FIRST type EVERY raw pair and enforce raw length≤200,THEN normalize identical rows as one ordered pair.Do not merge different outputs of one input.Empty domains do not waive RAW checks."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "以原始資料、欄位角色、型別、論域及本步前提反向代回核對；不表示結論能唯一還原前提。來源綁定候選、獨立審查、形式證明與發布分開。",
          "en": "Reverse-check ORIGINAL data,field roles,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 = [ORIGINAL f, 0, -6, 1, [-6, -5, -4, -3, -2, -1, 0], [1, 3, 5, 7, 9, 11, 13, 15]]",
      "after": "derived = [是, 是, 是]",
      "relation": "implies",
      "rule_id": "FiniteMap_EACH_normalized_row_declared_domain_codomain_types",
      "conditions": [],
      "explanation": {
        "zh-Hant": "每row輸入在domain、輸出在codomain；orphan或unused row也要完整驗。",
        "en": "EVERY row input belongs to the domain and output to the codomain,including orphan/unused rows."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "以原始資料、欄位角色、型別、論域及本步前提反向代回核對；不表示結論能唯一還原前提。來源綁定候選、獨立審查、形式證明與發布分開。",
          "en": "Reverse-check ORIGINAL data,field roles,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 = [ORIGINAL f, 1, -5, 3, [-6, -5, -4, -3, -2, -1, 0], [1, 3, 5, 7, 9, 11, 13, 15]]",
      "after": "derived = [是, 是, 是]",
      "relation": "implies",
      "rule_id": "FiniteMap_EACH_normalized_row_declared_domain_codomain_types",
      "conditions": [],
      "explanation": {
        "zh-Hant": "每row輸入在domain、輸出在codomain；orphan或unused row也要完整驗。",
        "en": "EVERY row input belongs to the domain and output to the codomain,including orphan/unused rows."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "以原始資料、欄位角色、型別、論域及本步前提反向代回核對；不表示結論能唯一還原前提。來源綁定候選、獨立審查、形式證明與發布分開。",
          "en": "Reverse-check ORIGINAL data,field roles,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 = [ORIGINAL f, 2, -4, 5, [-6, -5, -4, -3, -2, -1, 0], [1, 3, 5, 7, 9, 11, 13, 15]]",
      "after": "derived = [是, 是, 是]",
      "relation": "implies",
      "rule_id": "FiniteMap_EACH_normalized_row_declared_domain_codomain_types",
      "conditions": [],
      "explanation": {
        "zh-Hant": "每row輸入在domain、輸出在codomain；orphan或unused row也要完整驗。",
        "en": "EVERY row input belongs to the domain and output to the codomain,including orphan/unused rows."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "以原始資料、欄位角色、型別、論域及本步前提反向代回核對；不表示結論能唯一還原前提。來源綁定候選、獨立審查、形式證明與發布分開。",
          "en": "Reverse-check ORIGINAL data,field roles,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 = [ORIGINAL f, 3, -3, 7, [-6, -5, -4, -3, -2, -1, 0], [1, 3, 5, 7, 9, 11, 13, 15]]",
      "after": "derived = [是, 是, 是]",
      "relation": "implies",
      "rule_id": "FiniteMap_EACH_normalized_row_declared_domain_codomain_types",
      "conditions": [],
      "explanation": {
        "zh-Hant": "每row輸入在domain、輸出在codomain；orphan或unused row也要完整驗。",
        "en": "EVERY row input belongs to the domain and output to the codomain,including orphan/unused rows."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "以原始資料、欄位角色、型別、論域及本步前提反向代回核對；不表示結論能唯一還原前提。來源綁定候選、獨立審查、形式證明與發布分開。",
          "en": "Reverse-check ORIGINAL data,field roles,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 = [ORIGINAL f, 4, -2, 9, [-6, -5, -4, -3, -2, -1, 0], [1, 3, 5, 7, 9, 11, 13, 15]]",
      "after": "derived = [是, 是, 是]",
      "relation": "implies",
      "rule_id": "FiniteMap_EACH_normalized_row_declared_domain_codomain_types",
      "conditions": [],
      "explanation": {
        "zh-Hant": "每row輸入在domain、輸出在codomain；orphan或unused row也要完整驗。",
        "en": "EVERY row input belongs to the domain and output to the codomain,including orphan/unused rows."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "以原始資料、欄位角色、型別、論域及本步前提反向代回核對；不表示結論能唯一還原前提。來源綁定候選、獨立審查、形式證明與發布分開。",
          "en": "Reverse-check ORIGINAL data,field roles,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 = [ORIGINAL f, 5, -1, 11, [-6, -5, -4, -3, -2, -1, 0], [1, 3, 5, 7, 9, 11, 13, 15]]",
      "after": "derived = [是, 是, 是]",
      "relation": "implies",
      "rule_id": "FiniteMap_EACH_normalized_row_declared_domain_codomain_types",
      "conditions": [],
      "explanation": {
        "zh-Hant": "每row輸入在domain、輸出在codomain；orphan或unused row也要完整驗。",
        "en": "EVERY row input belongs to the domain and output to the codomain,including orphan/unused rows."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "以原始資料、欄位角色、型別、論域及本步前提反向代回核對；不表示結論能唯一還原前提。來源綁定候選、獨立審查、形式證明與發布分開。",
          "en": "Reverse-check ORIGINAL data,field roles,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 = [ORIGINAL f, 6, 0, 13, [-6, -5, -4, -3, -2, -1, 0], [1, 3, 5, 7, 9, 11, 13, 15]]",
      "after": "derived = [是, 是, 是]",
      "relation": "implies",
      "rule_id": "FiniteMap_EACH_normalized_row_declared_domain_codomain_types",
      "conditions": [],
      "explanation": {
        "zh-Hant": "每row輸入在domain、輸出在codomain；orphan或unused row也要完整驗。",
        "en": "EVERY row input belongs to the domain and output to the codomain,including orphan/unused rows."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "以原始資料、欄位角色、型別、論域及本步前提反向代回核對；不表示結論能唯一還原前提。來源綁定候選、獨立審查、形式證明與發布分開。",
          "en": "Reverse-check ORIGINAL data,field roles,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 = [ORIGINAL f, -6, [[-6, 1], [-5, 3], [-4, 5], [-3, 7], [-2, 9], [-1, 11], [0, 13]]]",
      "after": "derived = [1, 是]",
      "relation": "implies",
      "rule_id": "FiniteMap_EACH_declared_input_exactly_one_output_row",
      "conditions": [],
      "explanation": {
        "zh-Hant": "每個declared input恰一個row才是total，不用第一個lookup掩蓋缺漏或多output。",
        "en": "EACH declared input needs EXACTLY one row for totality.A first lookup must not hide missing or multiple outputs."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "以原始資料、欄位角色、型別、論域及本步前提反向代回核對；不表示結論能唯一還原前提。來源綁定候選、獨立審查、形式證明與發布分開。",
          "en": "Reverse-check ORIGINAL data,field roles,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": "S013",
      "uses": [
        "G001",
        "S012"
      ],
      "before": "source roles = [ORIGINAL f, -5, [[-6, 1], [-5, 3], [-4, 5], [-3, 7], [-2, 9], [-1, 11], [0, 13]]]",
      "after": "derived = [1, 是]",
      "relation": "implies",
      "rule_id": "FiniteMap_EACH_declared_input_exactly_one_output_row",
      "conditions": [],
      "explanation": {
        "zh-Hant": "每個declared input恰一個row才是total，不用第一個lookup掩蓋缺漏或多output。",
        "en": "EACH declared input needs EXACTLY one row for totality.A first lookup must not hide missing or multiple outputs."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "以原始資料、欄位角色、型別、論域及本步前提反向代回核對；不表示結論能唯一還原前提。來源綁定候選、獨立審查、形式證明與發布分開。",
          "en": "Reverse-check ORIGINAL data,field roles,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": "S014",
      "uses": [
        "G001",
        "S013"
      ],
      "before": "source roles = [ORIGINAL f, -4, [[-6, 1], [-5, 3], [-4, 5], [-3, 7], [-2, 9], [-1, 11], [0, 13]]]",
      "after": "derived = [1, 是]",
      "relation": "implies",
      "rule_id": "FiniteMap_EACH_declared_input_exactly_one_output_row",
      "conditions": [],
      "explanation": {
        "zh-Hant": "每個declared input恰一個row才是total，不用第一個lookup掩蓋缺漏或多output。",
        "en": "EACH declared input needs EXACTLY one row for totality.A first lookup must not hide missing or multiple outputs."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "以原始資料、欄位角色、型別、論域及本步前提反向代回核對；不表示結論能唯一還原前提。來源綁定候選、獨立審查、形式證明與發布分開。",
          "en": "Reverse-check ORIGINAL data,field roles,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": "S015",
      "uses": [
        "G001",
        "S014"
      ],
      "before": "source roles = [ORIGINAL f, -3, [[-6, 1], [-5, 3], [-4, 5], [-3, 7], [-2, 9], [-1, 11], [0, 13]]]",
      "after": "derived = [1, 是]",
      "relation": "implies",
      "rule_id": "FiniteMap_EACH_declared_input_exactly_one_output_row",
      "conditions": [],
      "explanation": {
        "zh-Hant": "每個declared input恰一個row才是total，不用第一個lookup掩蓋缺漏或多output。",
        "en": "EACH declared input needs EXACTLY one row for totality.A first lookup must not hide missing or multiple outputs."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "以原始資料、欄位角色、型別、論域及本步前提反向代回核對；不表示結論能唯一還原前提。來源綁定候選、獨立審查、形式證明與發布分開。",
          "en": "Reverse-check ORIGINAL data,field roles,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": "S016",
      "uses": [
        "G001",
        "S015"
      ],
      "before": "source roles = [ORIGINAL f, -2, [[-6, 1], [-5, 3], [-4, 5], [-3, 7], [-2, 9], [-1, 11], [0, 13]]]",
      "after": "derived = [1, 是]",
      "relation": "implies",
      "rule_id": "FiniteMap_EACH_declared_input_exactly_one_output_row",
      "conditions": [],
      "explanation": {
        "zh-Hant": "每個declared input恰一個row才是total，不用第一個lookup掩蓋缺漏或多output。",
        "en": "EACH declared input needs EXACTLY one row for totality.A first lookup must not hide missing or multiple outputs."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "以原始資料、欄位角色、型別、論域及本步前提反向代回核對；不表示結論能唯一還原前提。來源綁定候選、獨立審查、形式證明與發布分開。",
          "en": "Reverse-check ORIGINAL data,field roles,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": "S017",
      "uses": [
        "G001",
        "S016"
      ],
      "before": "source roles = [ORIGINAL f, -1, [[-6, 1], [-5, 3], [-4, 5], [-3, 7], [-2, 9], [-1, 11], [0, 13]]]",
      "after": "derived = [1, 是]",
      "relation": "implies",
      "rule_id": "FiniteMap_EACH_declared_input_exactly_one_output_row",
      "conditions": [],
      "explanation": {
        "zh-Hant": "每個declared input恰一個row才是total，不用第一個lookup掩蓋缺漏或多output。",
        "en": "EACH declared input needs EXACTLY one row for totality.A first lookup must not hide missing or multiple outputs."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "以原始資料、欄位角色、型別、論域及本步前提反向代回核對；不表示結論能唯一還原前提。來源綁定候選、獨立審查、形式證明與發布分開。",
          "en": "Reverse-check ORIGINAL data,field roles,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": "S018",
      "uses": [
        "G001",
        "S017"
      ],
      "before": "source roles = [ORIGINAL f, 0, [[-6, 1], [-5, 3], [-4, 5], [-3, 7], [-2, 9], [-1, 11], [0, 13]]]",
      "after": "derived = [1, 是]",
      "relation": "implies",
      "rule_id": "FiniteMap_EACH_declared_input_exactly_one_output_row",
      "conditions": [],
      "explanation": {
        "zh-Hant": "每個declared input恰一個row才是total，不用第一個lookup掩蓋缺漏或多output。",
        "en": "EACH declared input needs EXACTLY one row for totality.A first lookup must not hide missing or multiple outputs."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "以原始資料、欄位角色、型別、論域及本步前提反向代回核對；不表示結論能唯一還原前提。來源綁定候選、獨立審查、形式證明與發布分開。",
          "en": "Reverse-check ORIGINAL data,field roles,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": "S019",
      "uses": [
        "G001",
        "S018"
      ],
      "before": "source roles = [ORIGINAL f, [-6, -5, -4, -3, -2, -1, 0], [1, 3, 5, 7, 9, 11, 13, 15], [[-6, 1], [-5, 3], [-4, 5], [-3, 7], [-2, 9], [-1, 11], [0, 13]]]",
      "after": "derived = [[是, 是, 是, 是, 是, 是, 是], [1, 1, 1, 1, 1, 1, 1], 是]",
      "relation": "implies",
      "rule_id": "FiniteMap_TOTAL_qualification_BEFORE_lookups_even_empty_domain",
      "conditions": [],
      "explanation": {
        "zh-Hant": "所有row型別與所有input總性合取後才准lookup；空集合的vacuous條件不准遮掉非法row。",
        "en": "Permit lookups ONLY after BOTH all-row typing and all-input totality.Empty-set vacuity cannot conceal an invalid row."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "以原始資料、欄位角色、型別、論域及本步前提反向代回核對；不表示結論能唯一還原前提。來源綁定候選、獨立審查、形式證明與發布分開。",
          "en": "Reverse-check ORIGINAL data,field roles,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": "S020",
      "uses": [
        "G001",
        "S019"
      ],
      "before": "source roles = [ORIGINAL f, 1, [-6, -5, -4, -3, -2, -1, 0], [[-6, 1], [-5, 3], [-4, 5], [-3, 7], [-2, 9], [-1, 11], [0, 13]]]",
      "after": "derived = [[-6], 1]",
      "relation": "implies",
      "rule_id": "FiniteMap_EVERY_codomain_fiber_including_unattained",
      "conditions": [],
      "explanation": {
        "zh-Hant": "對每個codomain標記列完整preimage，包含空fiber，不把未達到的B刪掉。",
        "en": "List ALL preimages at EVERY codomain label,including empty fibers;do not delete unattained B labels."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "以原始資料、欄位角色、型別、論域及本步前提反向代回核對；不表示結論能唯一還原前提。來源綁定候選、獨立審查、形式證明與發布分開。",
          "en": "Reverse-check ORIGINAL data,field roles,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": "S021",
      "uses": [
        "G001",
        "S020"
      ],
      "before": "source roles = [ORIGINAL f, 3, [-6, -5, -4, -3, -2, -1, 0], [[-6, 1], [-5, 3], [-4, 5], [-3, 7], [-2, 9], [-1, 11], [0, 13]]]",
      "after": "derived = [[-5], 1]",
      "relation": "implies",
      "rule_id": "FiniteMap_EVERY_codomain_fiber_including_unattained",
      "conditions": [],
      "explanation": {
        "zh-Hant": "對每個codomain標記列完整preimage，包含空fiber，不把未達到的B刪掉。",
        "en": "List ALL preimages at EVERY codomain label,including empty fibers;do not delete unattained B labels."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "以原始資料、欄位角色、型別、論域及本步前提反向代回核對；不表示結論能唯一還原前提。來源綁定候選、獨立審查、形式證明與發布分開。",
          "en": "Reverse-check ORIGINAL data,field roles,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": "S022",
      "uses": [
        "G001",
        "S021"
      ],
      "before": "source roles = [ORIGINAL f, 5, [-6, -5, -4, -3, -2, -1, 0], [[-6, 1], [-5, 3], [-4, 5], [-3, 7], [-2, 9], [-1, 11], [0, 13]]]",
      "after": "derived = [[-4], 1]",
      "relation": "implies",
      "rule_id": "FiniteMap_EVERY_codomain_fiber_including_unattained",
      "conditions": [],
      "explanation": {
        "zh-Hant": "對每個codomain標記列完整preimage，包含空fiber，不把未達到的B刪掉。",
        "en": "List ALL preimages at EVERY codomain label,including empty fibers;do not delete unattained B labels."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "以原始資料、欄位角色、型別、論域及本步前提反向代回核對；不表示結論能唯一還原前提。來源綁定候選、獨立審查、形式證明與發布分開。",
          "en": "Reverse-check ORIGINAL data,field roles,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": "S023",
      "uses": [
        "G001",
        "S022"
      ],
      "before": "source roles = [ORIGINAL f, 7, [-6, -5, -4, -3, -2, -1, 0], [[-6, 1], [-5, 3], [-4, 5], [-3, 7], [-2, 9], [-1, 11], [0, 13]]]",
      "after": "derived = [[-3], 1]",
      "relation": "implies",
      "rule_id": "FiniteMap_EVERY_codomain_fiber_including_unattained",
      "conditions": [],
      "explanation": {
        "zh-Hant": "對每個codomain標記列完整preimage，包含空fiber，不把未達到的B刪掉。",
        "en": "List ALL preimages at EVERY codomain label,including empty fibers;do not delete unattained B labels."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "以原始資料、欄位角色、型別、論域及本步前提反向代回核對；不表示結論能唯一還原前提。來源綁定候選、獨立審查、形式證明與發布分開。",
          "en": "Reverse-check ORIGINAL data,field roles,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": "S024",
      "uses": [
        "G001",
        "S023"
      ],
      "before": "source roles = [ORIGINAL f, 9, [-6, -5, -4, -3, -2, -1, 0], [[-6, 1], [-5, 3], [-4, 5], [-3, 7], [-2, 9], [-1, 11], [0, 13]]]",
      "after": "derived = [[-2], 1]",
      "relation": "implies",
      "rule_id": "FiniteMap_EVERY_codomain_fiber_including_unattained",
      "conditions": [],
      "explanation": {
        "zh-Hant": "對每個codomain標記列完整preimage，包含空fiber，不把未達到的B刪掉。",
        "en": "List ALL preimages at EVERY codomain label,including empty fibers;do not delete unattained B labels."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "以原始資料、欄位角色、型別、論域及本步前提反向代回核對；不表示結論能唯一還原前提。來源綁定候選、獨立審查、形式證明與發布分開。",
          "en": "Reverse-check ORIGINAL data,field roles,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": "S025",
      "uses": [
        "G001",
        "S024"
      ],
      "before": "source roles = [ORIGINAL f, 11, [-6, -5, -4, -3, -2, -1, 0], [[-6, 1], [-5, 3], [-4, 5], [-3, 7], [-2, 9], [-1, 11], [0, 13]]]",
      "after": "derived = [[-1], 1]",
      "relation": "implies",
      "rule_id": "FiniteMap_EVERY_codomain_fiber_including_unattained",
      "conditions": [],
      "explanation": {
        "zh-Hant": "對每個codomain標記列完整preimage，包含空fiber，不把未達到的B刪掉。",
        "en": "List ALL preimages at EVERY codomain label,including empty fibers;do not delete unattained B labels."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "以原始資料、欄位角色、型別、論域及本步前提反向代回核對；不表示結論能唯一還原前提。來源綁定候選、獨立審查、形式證明與發布分開。",
          "en": "Reverse-check ORIGINAL data,field roles,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": "S026",
      "uses": [
        "G001",
        "S025"
      ],
      "before": "source roles = [ORIGINAL f, 13, [-6, -5, -4, -3, -2, -1, 0], [[-6, 1], [-5, 3], [-4, 5], [-3, 7], [-2, 9], [-1, 11], [0, 13]]]",
      "after": "derived = [[0], 1]",
      "relation": "implies",
      "rule_id": "FiniteMap_EVERY_codomain_fiber_including_unattained",
      "conditions": [],
      "explanation": {
        "zh-Hant": "對每個codomain標記列完整preimage，包含空fiber，不把未達到的B刪掉。",
        "en": "List ALL preimages at EVERY codomain label,including empty fibers;do not delete unattained B labels."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "以原始資料、欄位角色、型別、論域及本步前提反向代回核對；不表示結論能唯一還原前提。來源綁定候選、獨立審查、形式證明與發布分開。",
          "en": "Reverse-check ORIGINAL data,field roles,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": "S027",
      "uses": [
        "G001",
        "S026"
      ],
      "before": "source roles = [ORIGINAL f, 15, [-6, -5, -4, -3, -2, -1, 0], [[-6, 1], [-5, 3], [-4, 5], [-3, 7], [-2, 9], [-1, 11], [0, 13]]]",
      "after": "derived = [[], 0]",
      "relation": "implies",
      "rule_id": "FiniteMap_EVERY_codomain_fiber_including_unattained",
      "conditions": [],
      "explanation": {
        "zh-Hant": "對每個codomain標記列完整preimage，包含空fiber，不把未達到的B刪掉。",
        "en": "List ALL preimages at EVERY codomain label,including empty fibers;do not delete unattained B labels."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "以原始資料、欄位角色、型別、論域及本步前提反向代回核對；不表示結論能唯一還原前提。來源綁定候選、獨立審查、形式證明與發布分開。",
          "en": "Reverse-check ORIGINAL data,field roles,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": "S028",
      "uses": [
        "G001",
        "S027"
      ],
      "before": "source roles = [ORIGINAL f, [-6, -5, -4, -3, -2, -1, 0], [1, 3, 5, 7, 9, 11, 13, 15], [[-6], [-5], [-4], [-3], [-2], [-1], [0], []]]",
      "after": "derived = [是, 否, 否]",
      "relation": "implies",
      "rule_id": "FiniteMap_injective_surjective_BOTH_needed_for_inverse",
      "conditions": [],
      "explanation": {
        "zh-Hant": "單射為每fiber≤1，滿射為每fiber≥1，兩者才雙射；未達到B不妨礙單射。空到空可雙射，空到非空只是單射。",
        "en": "Injective means every fiber≤1,surjective every fiber≥1,and BOTH mean bijective.Unattained B does not defeat injectivity.Empty→empty is bijective;empty→nonempty is only injective."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "以原始資料、欄位角色、型別、論域及本步前提反向代回核對；不表示結論能唯一還原前提。來源綁定候選、獨立審查、形式證明與發布分開。",
          "en": "Reverse-check ORIGINAL data,field roles,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": "是"
  },
  "conclusion": {
    "canonical_value": "是",
    "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": 23,
      "original_line_sha256": "836d09aed04469ac572b6023918c281af1ed1c2fa797d85676c29125aae96849",
      "question_compact_sha256": "21806a8fa2aa768a8357e880d7e049b80f92b2e7fbfc921d2a589150099fdcda",
      "english_row_compact_sha256": "246f2f82ed049cd42d695ccde33130ffa8e55128b46216c1b1255e31e37effe2",
      "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": "528186aa825c3054db15f4ce0a03ad58f72be7e7eb5bb236c4cc7ef34ff5a470",
    "original_candidate_sha256": "9c74ec6ce665f07bbad4d733f3f7b1c989f589b8dffae5bf5dd337b5c69fb09b",
    "original_candidate_line_sha256": "9c74ec6ce665f07bbad4d733f3f7b1c989f589b8dffae5bf5dd337b5c69fb09b"
  },
  "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-p65",
    "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": "8b9ea3ddfab468e9e3f0a0fc0f7682987d5e030be0d7c8860fd85df19cbe183b",
      "question_first_witness_sha256": "066bfeab8fc279706861faade71b9a18a61a25235fc48700092f0488d2a6da6a"
    },
    "status": "second_context_reviewed",
    "mathematical_semantics": true,
    "bilingual_semantics": true,
    "steps_reviewed": 28,
    "method": "family_template_semantic_review_plus_independent_per_instance_reconstruction",
    "exact_question_first_check": {
      "model_sha256": "04d3f7b1b53a2175e0fd8707acf3c0dbdc2b84c660bca89bf8f716e25f5ad050",
      "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."
  }
}
