{
  "schema_version": "ocme-reviewed-question-reader-v1",
  "question_id": "q-20261007-advance-20261008-r02-function-limit-0045",
  "pilot_number": "R0063-32320",
  "number": 32320,
  "family_id": "qf-function-limit-removable-quotient",
  "title": {
    "zh-Hant": "第 32320 題：可去商式的去心極限",
    "en": "Question 32320: Punctured Limit of a Removable Quotient"
  },
  "original_question": {
    "schema_version": "ocme-question-v0.1",
    "id": "q-20261007-advance-20261008-r02-function-limit-0045",
    "batch_id": "batch-20261007-advance-20261008-r02-function-limit-foundations",
    "language": "zh-Hant",
    "source_mko_ids": [
      "mko-function-limit"
    ],
    "title_zh": "可去商式的去心極限",
    "stem_zh": "去心實數論域，採完整兩側實數鄰域。f(x)=(x²−(7)²)/(x−(7))，x≠7。求 x→7 的極限。",
    "answer": {
      "kind": "short_text",
      "value": "14",
      "explanation_zh": "可去商極限=14。去心位置可化為 x+a；原商在 a 未定義，不能代入 0/0 冒充極限。"
    },
    "difficulty": {
      "band": "undergraduate_core",
      "level": 3,
      "skills": [
        "可去商式的去心極限"
      ]
    },
    "variant": {
      "family_id": "qf-function-limit-removable-quotient",
      "seed": 202610082045,
      "parameters": {
        "a": 7,
        "operation": "removable_quotient_limit",
        "domain": "punctured_reals",
        "semantic_template": "qf-function-limit-removable-quotient/{\"inputs\":[\"7\"],\"operation\":\"removable_quotient_limit\"}"
      }
    },
    "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-07",
      "contract_version": "ocme-question-factory-v0.1"
    }
  },
  "original_english_edition": {
    "schema_version": "ocme-question-localization-v0.1",
    "question_id": "q-20261007-advance-20261008-r02-function-limit-0045",
    "batch_id": "batch-20261007-advance-20261008-r02-function-limit-foundations",
    "locale": "en",
    "translation_state": "ai_candidate",
    "source": {
      "question_sha256": "7eec95450e59e28afe5f72a7b0369f9da54067704fabc2d6b85a0ac9b070b6c9",
      "family_id": "qf-function-limit-removable-quotient",
      "seed": 202610082045,
      "semantic_template": "qf-function-limit-removable-quotient/{\"inputs\":[\"7\"],\"operation\":\"removable_quotient_limit\"}"
    },
    "fields": {
      "title": "Punctured Limit of a Removable Quotient",
      "stem": "On R∖{7}, f(x)=(x²−(7)²)/(x−(7)). Find its punctured two-sided limit as x→7.",
      "answer": {
        "kind": "short_text",
        "value": "14",
        "explanation": "For x≠a, cancel the nonzero factor x−a to obtain x+a; its approach value is 2a=14. This does not define the original quotient at the center or perform division by zero."
      },
      "skills": [
        "Punctured Limit of a Removable Quotient"
      ],
      "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(x)=(x²−(7)²)/(x−(7))，x≠7。求 x→7 的極限。",
        "en": "On R∖{7}, f(x)=(x²−(7)²)/(x−(7)). Find its punctured two-sided limit as x→7."
      }
    }
  ],
  "steps": [
    {
      "id": "S001",
      "uses": [
        "G001"
      ],
      "before": "source roles = [qf-function-limit-removable-quotient, removable_quotient_limit, punctured_reals, []]",
      "after": "derived = [[integer_approach_value_STRING_OMIT1]]",
      "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": "Removable ORIGINAL a squared := mul(7, 7)",
      "after": "Removable ORIGINAL a squared = 49",
      "relation": "calculation",
      "rule_id": "exact_rational_arithmetic",
      "conditions": [],
      "explanation": {
        "zh-Hant": "保原操作數與順序作精確整數／有理計算；原輸入界依bank，衍生整數與分數不重套SAFE或外來小界，不用浮點近似。",
        "en": "Use ORIGINAL operands and order for exact integer/rational arithmetic.Raw bounds are bank-specific;derived values do not inherit SAFE or foreign small caps.No floating approximation."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "以精確有理數重算 Removable ORIGINAL a squared，不以小數近似替代。",
          "en": "Recompute Removable ORIGINAL a squared with exact rational arithmetic, not rounded decimals."
        }
      },
      "arithmetic": {
        "operation": "mul",
        "inputs": [
          "7",
          "7"
        ],
        "output": "49",
        "label": "Removable ORIGINAL a squared"
      }
    },
    {
      "id": "S003",
      "uses": [
        "G001",
        "S002"
      ],
      "before": "Removable ORIGINAL negative a squared constant := sub(0, 49)",
      "after": "Removable ORIGINAL negative a squared constant = -49",
      "relation": "calculation",
      "rule_id": "exact_rational_arithmetic",
      "conditions": [],
      "explanation": {
        "zh-Hant": "保原操作數與順序作精確整數／有理計算；原輸入界依bank，衍生整數與分數不重套SAFE或外來小界，不用浮點近似。",
        "en": "Use ORIGINAL operands and order for exact integer/rational arithmetic.Raw bounds are bank-specific;derived values do not inherit SAFE or foreign small caps.No floating approximation."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "以精確有理數重算 Removable ORIGINAL negative a squared constant，不以小數近似替代。",
          "en": "Recompute Removable ORIGINAL negative a squared constant with exact rational arithmetic, not rounded decimals."
        }
      },
      "arithmetic": {
        "operation": "sub",
        "inputs": [
          "0",
          "49"
        ],
        "output": "-49",
        "label": "Removable ORIGINAL negative a squared constant"
      }
    },
    {
      "id": "S004",
      "uses": [
        "G001",
        "S003"
      ],
      "before": "Removable ORIGINAL cross terms a minus a := sub(7, 7)",
      "after": "Removable ORIGINAL cross terms a minus a = 0",
      "relation": "calculation",
      "rule_id": "exact_rational_arithmetic",
      "conditions": [],
      "explanation": {
        "zh-Hant": "保原操作數與順序作精確整數／有理計算；原輸入界依bank，衍生整數與分數不重套SAFE或外來小界，不用浮點近似。",
        "en": "Use ORIGINAL operands and order for exact integer/rational arithmetic.Raw bounds are bank-specific;derived values do not inherit SAFE or foreign small caps.No floating approximation."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "以精確有理數重算 Removable ORIGINAL cross terms a minus a，不以小數近似替代。",
          "en": "Recompute Removable ORIGINAL cross terms a minus a with exact rational arithmetic, not rounded decimals."
        }
      },
      "arithmetic": {
        "operation": "sub",
        "inputs": [
          "7",
          "7"
        ],
        "output": "0",
        "label": "Removable ORIGINAL cross terms a minus a"
      }
    },
    {
      "id": "S005",
      "uses": [
        "G001",
        "S004"
      ],
      "before": "Removable ORIGINAL approach a plus a := sum(7, 7)",
      "after": "Removable ORIGINAL approach a plus a = 14",
      "relation": "calculation",
      "rule_id": "exact_rational_arithmetic",
      "conditions": [],
      "explanation": {
        "zh-Hant": "保原操作數與順序作精確整數／有理計算；原輸入界依bank，衍生整數與分數不重套SAFE或外來小界，不用浮點近似。",
        "en": "Use ORIGINAL operands and order for exact integer/rational arithmetic.Raw bounds are bank-specific;derived values do not inherit SAFE or foreign small caps.No floating approximation."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "以精確有理數重算 Removable ORIGINAL approach a plus a，不以小數近似替代。",
          "en": "Recompute Removable ORIGINAL approach a plus a with exact rational arithmetic, not rounded decimals."
        }
      },
      "arithmetic": {
        "operation": "sum",
        "inputs": [
          "7",
          "7"
        ],
        "output": "14",
        "label": "Removable ORIGINAL approach a plus a"
      }
    },
    {
      "id": "S006",
      "uses": [
        "G001",
        "S005"
      ],
      "before": "source roles = [7]",
      "after": "derived = [-49, 0, 1, (x-a)*(x+a) = x^2-a^2, x-a != 0]",
      "relation": "implies",
      "rule_id": "Limit_REMOVABLE_polynomial_factor_identity_CANCEL_ONLY_x_not_a",
      "conditions": [],
      "explanation": {
        "zh-Hant": "以全部係數驗(x−a)(x+a)=x²−a²；去心域x≠a才保證den非0，可約成x+a。不能在a代0/0，也沒有補定原函數的缺點。",
        "en": "Verify the COMPLETE coefficient identity(x−a)(x+a)=x²−a².ONLY x≠a in the punctured domain gives a nonzero denominator and permits cancellation to x+a.Never substitute0/0 at a or fill the original hole."
      },
      "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 = [7, 14]",
      "after": "derived = [(x+a)-2a = x-a, delta = epsilon, 14]",
      "relation": "implies",
      "rule_id": "Limit_REMOVABLE_punctured_error_delta_epsilon_NO_extension",
      "conditions": [],
      "explanation": {
        "zh-Hant": "取L=2a後誤差正是|x−a|。任意ε>0取δ=ε，所有0<|x−a|<δ皆達誤差<ε；這證去心極限，原商在a仍未定義。",
        "en": "With L=2a,the error is exactly|x−a|.For ANY ε>0 choose δ=ε;EVERY0<|x−a|<δ gives error<ε.This proves the punctured limit while the original quotient remains undefined at a."
      },
      "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": "14"
  },
  "conclusion": {
    "canonical_value": "14",
    "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-20261007-advance-20261008-r02-function-limit-foundations",
      "batch_path": "public/data/questions/batches/batch-20261007-advance-20261008-r02-function-limit-foundations/questions.jsonl",
      "batch_sha256": "1176f30642e50d59427c3026d10f3097c800f4e5fa9dd6f7e3796b1c401da318",
      "original_line": 45,
      "original_line_sha256": "34d7535dff40a6072f37e74ff50cab3a0f98463c0a07743fb2547ee3c3be4401",
      "question_compact_sha256": "7eec95450e59e28afe5f72a7b0369f9da54067704fabc2d6b85a0ac9b070b6c9",
      "english_row_compact_sha256": "df292e2569aae1605390eec26319c117273404613d8e96779f469bcf049240ab",
      "english_manifest_path": "public/data/i18n/editions/batch-20261007-advance-20261008-r02-function-limit-foundations.en.json",
      "english_rows_path": "public/data/i18n/questions/batch-20261007-advance-20261008-r02-function-limit-foundations.en.jsonl"
    },
    "mko_bindings": {
      "mko-function-limit": {
        "sha256": "2dce49b3fcec9f9cf28bc85107ed2884a57b36ccc297c60e4ef5836b4a3c5ca3",
        "english_sha256": "608f319ceb9afeb2eb284c43c4a1d6d8d19c4e40dce81f0ac4df60cbb55f4c44",
        "original_path": "public/data/mko/function-limit.json",
        "english_path": "public/data/i18n/editions/mko-function-limit.en.json"
      }
    },
    "selected_manifest_sha256": "5233edba9654a6cffd8b6b2d83c932f82ded15f9c0b7c733bd049943e672acff",
    "selected_part_sha256": "f3271d6047df957dbf3d61120bd3dd374784c828b17849887e14caf59d93f745",
    "original_candidate_sha256": "ea31c0afa8900c6f41a7e0d9f603b9ccaae728fa32a677346df8ef96856fffbf",
    "original_candidate_line_sha256": "ea31c0afa8900c6f41a7e0d9f603b9ccaae728fa32a677346df8ef96856fffbf"
  },
  "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": 7,
    "method": "family_template_semantic_review_plus_independent_per_instance_reconstruction",
    "exact_question_first_check": {
      "model_sha256": "67a1f0caa396ca176009853ed810bbd44367fffe49d7547f016a8d3c88fc95cb",
      "arithmetic_steps": 4
    },
    "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."
  }
}
