{
  "schema_version": "ocme-reviewed-question-reader-v1",
  "question_id": "q-20260930-r03-function-domain-set-0012",
  "pilot_number": "R0063-32237",
  "number": 32237,
  "family_id": "qf-function-domain-set",
  "title": {
    "zh-Hant": "第 32237 題：讀出函數定義域",
    "en": "Question 32237: Reading the Domain of a Function"
  },
  "original_question": {
    "schema_version": "ocme-question-v0.1",
    "id": "q-20260930-r03-function-domain-set-0012",
    "batch_id": "batch-20260930-r03-domain-codomain-range-foundations",
    "language": "zh-Hant",
    "source_mko_ids": [
      "mko-domain-codomain-range"
    ],
    "title_zh": "讀出函數定義域",
    "stem_zh": "明示 A={-1, 0, 1, 2}、B={-22, 0, 23}，輸入輸出有序對為 [(-1, 23), (0, -22), (1, 0), (2, 23)]。已知它是總函數 f:A→B，請列出定義域，集合按數值遞增排列。",
    "answer": {
      "kind": "short_text",
      "value": "{-1, 0, 1, 2}",
      "explanation_zh": "定義域為 {-1, 0, 1, 2}；直接使用明示宣告的 A，不從輸出表猜測。"
    },
    "difficulty": {
      "band": "upper_secondary",
      "level": 3,
      "skills": [
        "明示集合",
        "總函數"
      ]
    },
    "variant": {
      "family_id": "qf-function-domain-set",
      "seed": 202609303012,
      "parameters": {
        "operation": "domain",
        "A": [
          -1,
          0,
          1,
          2
        ],
        "B": [
          -22,
          0,
          23
        ],
        "pairs": [
          [
            -1,
            23
          ],
          [
            0,
            -22
          ],
          [
            1,
            0
          ],
          [
            2,
            23
          ]
        ],
        "semantic_template": "qf-function-domain-set/{\"A\":[-1,0,1,2],\"B\":[-22,0,23],\"operation\":\"domain\",\"pairs\":[[-1,23],[0,-22],[1,0],[2,23]]}"
      }
    },
    "verification": {
      "status": "candidate",
      "checks": [
        "json_schema",
        "producer_local_answer_invariants",
        "explanation_witness_accuracy"
      ],
      "warning_zh": "本題保持 candidate；有限精確計算與產生者自檢不構成人工審查、形式證明或主架構者驗收。"
    },
    "provenance": {
      "generator_role": "question_producer",
      "generator_model": "Codex GPT-6 question producer",
      "generated_at": "2026-09-30",
      "contract_version": "ocme-question-factory-v0.1"
    }
  },
  "original_english_edition": {
    "schema_version": "ocme-question-localization-v0.1",
    "question_id": "q-20260930-r03-function-domain-set-0012",
    "batch_id": "batch-20260930-r03-domain-codomain-range-foundations",
    "locale": "en",
    "translation_state": "ai_candidate",
    "source": {
      "question_sha256": "34b54d6ae3d5b9f9ceb22c0a7b14561a44538c295c2322f8c9f46b3522777ced",
      "family_id": "qf-function-domain-set",
      "seed": 202609303012,
      "semantic_template": "qf-function-domain-set/{\"A\":[-1,0,1,2],\"B\":[-22,0,23],\"operation\":\"domain\",\"pairs\":[[-1,23],[0,-22],[1,0],[2,23]]}"
    },
    "fields": {
      "title": "Reading the Domain of a Function",
      "stem": "Given the explicit declaration A={-1, 0, 1, 2}, B={-22, 0, 23}, ordered pairs=[(-1, 23), (0, -22), (1, 0), (2, 23)] and a total function f:A→B, list the domain in increasing order.",
      "answer": {
        "kind": "short_text",
        "value": "{-1, 0, 1, 2}",
        "explanation": "The domain is the explicitly declared input set A={-1, 0, 1, 2}; it is not inferred from the outputs."
      },
      "skills": [
        "explicit sets",
        "total functions"
      ],
      "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": "明示 A={-1, 0, 1, 2}、B={-22, 0, 23}，輸入輸出有序對為 [(-1, 23), (0, -22), (1, 0), (2, 23)]。已知它是總函數 f:A→B，請列出定義域，集合按數值遞增排列。",
        "en": "Given the explicit declaration A={-1, 0, 1, 2}, B={-22, 0, 23}, ordered pairs=[(-1, 23), (0, -22), (1, 0), (2, 23)] and a total function f:A→B, list the domain in increasing order."
      }
    }
  ],
  "steps": [
    {
      "id": "S001",
      "uses": [
        "G001"
      ],
      "before": "source roles = [qf-function-domain-set, domain, no-required-domain, []]",
      "after": "derived = [[declared_domain_set_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, pulse-function, [-1, 0, 1, 2]]",
      "after": "derived = [[-1, 0, 1, 2]]",
      "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, pulse-function, [-22, 0, 23]]",
      "after": "derived = [[-22, 0, 23]]",
      "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 = [pulse-function, [[-1, 23], [0, -22], [1, 0], [2, 23]]]",
      "after": "derived = [[[-1, 23], [0, -22], [1, 0], [2, 23]]]",
      "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 = [pulse-function, 0, -1, 23, [-1, 0, 1, 2], [-22, 0, 23]]",
      "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 = [pulse-function, 1, 0, -22, [-1, 0, 1, 2], [-22, 0, 23]]",
      "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 = [pulse-function, 2, 1, 0, [-1, 0, 1, 2], [-22, 0, 23]]",
      "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": "S008",
      "uses": [
        "G001",
        "S007"
      ],
      "before": "source roles = [pulse-function, 3, 2, 23, [-1, 0, 1, 2], [-22, 0, 23]]",
      "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": "S009",
      "uses": [
        "G001",
        "S008"
      ],
      "before": "source roles = [pulse-function, -1, [[-1, 23], [0, -22], [1, 0], [2, 23]]]",
      "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": "S010",
      "uses": [
        "G001",
        "S009"
      ],
      "before": "source roles = [pulse-function, 0, [[-1, 23], [0, -22], [1, 0], [2, 23]]]",
      "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": "S011",
      "uses": [
        "G001",
        "S010"
      ],
      "before": "source roles = [pulse-function, 1, [[-1, 23], [0, -22], [1, 0], [2, 23]]]",
      "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": "S012",
      "uses": [
        "G001",
        "S011"
      ],
      "before": "source roles = [pulse-function, 2, [[-1, 23], [0, -22], [1, 0], [2, 23]]]",
      "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": "S013",
      "uses": [
        "G001",
        "S012"
      ],
      "before": "source roles = [pulse-function, [-1, 0, 1, 2], [-22, 0, 23], [[-1, 23], [0, -22], [1, 0], [2, 23]], 是]",
      "after": "derived = [[是, 是, 是, 是], [1, 1, 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": "S014",
      "uses": [
        "G001",
        "S013"
      ],
      "before": "source roles = [domain, [-1, 0, 1, 2], [-22, 0, 23], [[-1, 23], [0, -22], [1, 0], [2, 23]]]",
      "after": "derived = [[-1, 0, 1, 2], {-1, 0, 1, 2}, []]",
      "relation": "implies",
      "rule_id": "Function_DECLARED_domain_codomain_VERSUS_ACTUAL_range",
      "conditions": [],
      "explanation": {
        "zh-Hant": "domain讀宣告A，codomain讀宣告B，range才取實際outputs去重。沒有達到的B仍在codomain；空domain函數的range空但codomain可非空。",
        "en": "Read DECLARED A for domain and DECLARED B for codomain;ONLY the range collects attained outputs.Unattained B remains in the codomain.An empty-domain function has empty range but may have nonempty codomain."
      },
      "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": "{-1, 0, 1, 2}"
  },
  "conclusion": {
    "canonical_value": "{-1, 0, 1, 2}",
    "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-20260930-r03-domain-codomain-range-foundations",
      "batch_path": "public/data/questions/batches/batch-20260930-r03-domain-codomain-range-foundations/questions.jsonl",
      "batch_sha256": "c4c1bd633381bdeb02900bbcdd99ca193bf2559cab114cb6c6c97d7d73880370",
      "original_line": 12,
      "original_line_sha256": "936ce5853c0858237ef1906ca0b057e15c12c89831b5bc629adf311c2ccc906b",
      "question_compact_sha256": "34b54d6ae3d5b9f9ceb22c0a7b14561a44538c295c2322f8c9f46b3522777ced",
      "english_row_compact_sha256": "23fa0dccf72733125e8a31601d5876662b1729c01e1421bb0da4be4264a55379",
      "english_manifest_path": "public/data/i18n/editions/batch-20260930-r03-domain-codomain-range-foundations.en.json",
      "english_rows_path": "public/data/i18n/questions/batch-20260930-r03-domain-codomain-range-foundations.en.jsonl"
    },
    "mko_bindings": {
      "mko-domain-codomain-range": {
        "sha256": "94e55c31535caafd763f4e1f805a7da15848c153c844351ec087944dea68d451",
        "english_sha256": "1e8e497051747d1f535313e0ce98ad171f6ab459c72f0d46af1d1592c667bb58",
        "original_path": "public/data/mko/domain-codomain-range.json",
        "english_path": "public/data/i18n/editions/mko-domain-codomain-range.en.json"
      }
    },
    "selected_manifest_sha256": "5233edba9654a6cffd8b6b2d83c932f82ded15f9c0b7c733bd049943e672acff",
    "selected_part_sha256": "f3271d6047df957dbf3d61120bd3dd374784c828b17849887e14caf59d93f745",
    "original_candidate_sha256": "bf465a5e6dbe05b94aa0700cd057761edc7b7e0d49b917ec36846c461760b078",
    "original_candidate_line_sha256": "bf465a5e6dbe05b94aa0700cd057761edc7b7e0d49b917ec36846c461760b078"
  },
  "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": 14,
    "method": "family_template_semantic_review_plus_independent_per_instance_reconstruction",
    "exact_question_first_check": {
      "model_sha256": "62bfde23c9bd9edef05190ff8632b47d9ab7bd9a7a79c2d52c9ef0493006d569",
      "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."
  }
}
