{
  "schema_version": "ocme-reviewed-question-reader-v1",
  "question_id": "q-20260919-integer-opposite-0021",
  "pilot_number": "R0064-32571",
  "number": 32571,
  "family_id": "qf-integer-opposite",
  "title": {
    "zh-Hant": "第 32571 題：qf-integer-opposite",
    "en": "Question 32571: Additive Opposite"
  },
  "original_question": {
    "schema_version": "ocme-question-v0.1",
    "id": "q-20260919-integer-opposite-0021",
    "batch_id": "batch-20260919-integer-foundations",
    "language": "zh-Hant",
    "source_mko_ids": [
      "mko-integer"
    ],
    "title_zh": "qf-integer-opposite",
    "stem_zh": "20 的加法相反數是多少？",
    "answer": {
      "kind": "numeric",
      "value": -20,
      "explanation_zh": "20 與 -20 相加為 0；這是相反數，不是倒數或絕對值。"
    },
    "difficulty": {
      "band": "upper_secondary",
      "level": 1,
      "skills": [
        "相反數"
      ]
    },
    "variant": {
      "family_id": "qf-integer-opposite",
      "seed": 20261140,
      "parameters": {
        "n": 20,
        "opposite": -20,
        "semantic_template": "qf-integer-opposite/{\"n\":20,\"opposite\":-20}"
      }
    },
    "verification": {
      "status": "candidate",
      "checks": [
        "schema_pending",
        "independent_recomputation_pending"
      ],
      "warning_zh": "本題是有限候選重算；不構成普遍證明、形式 Evidence 或人工審查。"
    },
    "provenance": {
      "generator_role": "question_producer",
      "generator_model": "GPT-5.6 Terra",
      "generated_at": "2026-09-19",
      "contract_version": "ocme-question-factory-v0.1"
    }
  },
  "original_english_edition": {
    "schema_version": "ocme-question-localization-v0.1",
    "question_id": "q-20260919-integer-opposite-0021",
    "batch_id": "batch-20260919-integer-foundations",
    "locale": "en",
    "translation_state": "ai_candidate",
    "source": {
      "question_sha256": "73f39de0566c86725dcedf0d54e48543020357e9dad252d188d4d0b575d603ab",
      "family_id": "qf-integer-opposite",
      "seed": 20261140,
      "semantic_template": "qf-integer-opposite/{\"n\":20,\"opposite\":-20}"
    },
    "fields": {
      "title": "Additive Opposite",
      "stem": "What is the additive opposite of 20?",
      "answer": {
        "kind": "numeric",
        "value": -20,
        "explanation": "20+-20=0. This is the additive opposite, not a reciprocal or absolute value."
      },
      "skills": [
        "additive opposite"
      ],
      "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": "20 的加法相反數是多少？",
        "en": "What is the additive opposite of 20?"
      }
    }
  ],
  "steps": [
    {
      "id": "S001",
      "uses": [
        "G001"
      ],
      "before": "source roles = [qf-integer-opposite, no-required-operation, no-required-domain, []]",
      "after": "derived = [[opposite_NUMBER]]",
      "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": "Integer opposite ORIGINAL zero minus n := sub(0, 20)",
      "after": "Integer opposite ORIGINAL zero minus n = -20",
      "relation": "calculation",
      "rule_id": "exact_rational_arithmetic",
      "conditions": [],
      "explanation": {
        "zh-Hant": "保留原操作數與次序作精確整數／有理運算。RAW界依bank；衍生量不重套SAFE，不用浮點近似，不把BASE整數另加legacy界。",
        "en": "Use ORIGINAL operands/order for exact integer/rational arithmetic.RAW bounds are bank-specific;derived values are not SAFE-recapped or approximated.Do not import legacy caps into BASE integers."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "以精確有理數重算 Integer opposite ORIGINAL zero minus n，不以小數近似替代。",
          "en": "Recompute Integer opposite ORIGINAL zero minus n with exact rational arithmetic, not rounded decimals."
        }
      },
      "arithmetic": {
        "operation": "sub",
        "inputs": [
          "0",
          "20"
        ],
        "output": "-20",
        "label": "Integer opposite ORIGINAL zero minus n"
      }
    },
    {
      "id": "S003",
      "uses": [
        "G001",
        "S002"
      ],
      "before": "Integer opposite reverse ORIGINAL n plus opposite := sum(20, -20)",
      "after": "Integer opposite reverse ORIGINAL n plus opposite = 0",
      "relation": "calculation",
      "rule_id": "exact_rational_arithmetic",
      "conditions": [],
      "explanation": {
        "zh-Hant": "保留原操作數與次序作精確整數／有理運算。RAW界依bank；衍生量不重套SAFE，不用浮點近似，不把BASE整數另加legacy界。",
        "en": "Use ORIGINAL operands/order for exact integer/rational arithmetic.RAW bounds are bank-specific;derived values are not SAFE-recapped or approximated.Do not import legacy caps into BASE integers."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "以精確有理數重算 Integer opposite reverse ORIGINAL n plus opposite，不以小數近似替代。",
          "en": "Recompute Integer opposite reverse ORIGINAL n plus opposite with exact rational arithmetic, not rounded decimals."
        }
      },
      "arithmetic": {
        "operation": "sum",
        "inputs": [
          "20",
          "-20"
        ],
        "output": "0",
        "label": "Integer opposite reverse ORIGINAL n plus opposite"
      }
    },
    {
      "id": "S004",
      "uses": [
        "G001",
        "S003"
      ],
      "before": "source roles = [20, -20]",
      "after": "derived = [-20, 0]",
      "relation": "implies",
      "rule_id": "Integer_OPPOSITE_given_verified_additive_inverse_NUMBER_not_abs_reciprocal",
      "conditions": [],
      "explanation": {
        "zh-Hant": "由0−n算加法反元素，再驗原n加回為0；給定opposite也先核對。0的相反數仍0；不是倒數／絕對值，答案保持原NUMBER型別。",
        "en": "Compute0−n,then add it to ORIGINAL n to verify0;also verify the supplied opposite.Zero has opposite0.This is neither reciprocal nor absolute value;retain the original NUMBER answer type."
      },
      "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": -20
  },
  "conclusion": {
    "canonical_value": "-20",
    "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-20260919-integer-foundations",
      "batch_path": "public/data/questions/batches/batch-20260919-integer-foundations/questions.jsonl",
      "batch_sha256": "529bee0e669d336089b9b84409bed458d54dfcb02b3696e430887c1ed49bb6c4",
      "original_line": 71,
      "original_line_sha256": "b62e32af6af8cbd5e4de6c3e1ff2ab3c79426fad2eb3d085133bff09d0fa3d95",
      "question_compact_sha256": "73f39de0566c86725dcedf0d54e48543020357e9dad252d188d4d0b575d603ab",
      "english_row_compact_sha256": "cf9b97fa5db0d9b923fbda9253907b8b843f43627dab87e4aefa03662aabddb9",
      "english_manifest_path": "public/data/i18n/editions/batch-20260919-integer-foundations.en.json",
      "english_rows_path": "public/data/i18n/questions/batch-20260919-integer-foundations.en.jsonl"
    },
    "mko_bindings": {
      "mko-integer": {
        "sha256": "e1e3776eaf56e003f2eb07a66a39c7e221d26759df8fbc4db2652a2733318d66",
        "english_sha256": "24d4c8918b430c9dea2f942bb60a89a295d2386bf3bd9c14731ad56e0fb49034",
        "original_path": "public/data/mko/integer.json",
        "english_path": "public/data/i18n/editions/mko-integer.en.json"
      }
    },
    "selected_manifest_sha256": "5233edba9654a6cffd8b6b2d83c932f82ded15f9c0b7c733bd049943e672acff",
    "selected_part_sha256": "528186aa825c3054db15f4ce0a03ad58f72be7e7eb5bb236c4cc7ef34ff5a470",
    "original_candidate_sha256": "a6164646f6381446da6b57caf88b65e4aadd82cf6de6f8288e91cdd0997701f4",
    "original_candidate_line_sha256": "a6164646f6381446da6b57caf88b65e4aadd82cf6de6f8288e91cdd0997701f4"
  },
  "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": 4,
    "method": "family_template_semantic_review_plus_independent_per_instance_reconstruction",
    "exact_question_first_check": {
      "model_sha256": "0f8db2d07b657789b04563d37da56e64343a0f259b8221fed19f8433ba6c3676",
      "arithmetic_steps": 2
    },
    "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."
  }
}
