{
  "schema_version": "ocme-reviewed-question-reader-v1",
  "question_id": "q-20260919-integer-membership-0016",
  "pilot_number": "R0064-32541",
  "number": 32541,
  "family_id": "qf-integer-membership",
  "title": {
    "zh-Hant": "第 32541 題：qf-integer-membership",
    "en": "Question 32541: Integer Membership"
  },
  "original_question": {
    "schema_version": "ocme-question-v0.1",
    "id": "q-20260919-integer-membership-0016",
    "batch_id": "batch-20260919-integer-foundations",
    "language": "zh-Hant",
    "source_mko_ids": [
      "mko-integer"
    ],
    "title_zh": "qf-integer-membership",
    "stem_zh": "15.5 是否屬於整數集合 Z？",
    "answer": {
      "kind": "choice",
      "value": "否",
      "choices": [
        "是",
        "否"
      ],
      "explanation_zh": "15.5 有小數表示，不能因外觀當作整數。"
    },
    "difficulty": {
      "band": "upper_secondary",
      "level": 2,
      "skills": [
        "整數成員"
      ]
    },
    "variant": {
      "family_id": "qf-integer-membership",
      "seed": 20260935,
      "parameters": {
        "raw": "15.5",
        "integer": false,
        "semantic_template": "qf-integer-membership/{\"integer\":false,\"raw\":\"15.5\"}"
      }
    },
    "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-membership-0016",
    "batch_id": "batch-20260919-integer-foundations",
    "locale": "en",
    "translation_state": "ai_candidate",
    "source": {
      "question_sha256": "297d76c1933e1982f7f13a6a9306482b41ee727b1e385f481385b27c23b72700",
      "family_id": "qf-integer-membership",
      "seed": 20260935,
      "semantic_template": "qf-integer-membership/{\"integer\":false,\"raw\":\"15.5\"}"
    },
    "fields": {
      "title": "Integer Membership",
      "stem": "Does 15.5 belong to the integer set Z?",
      "answer": {
        "kind": "choice",
        "value": "No",
        "choices": [
          "Yes",
          "No"
        ],
        "explanation": "15.5 is not an integer; decimal notation must not be classified by appearance alone."
      },
      "skills": [
        "integer membership"
      ],
      "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": "15.5 是否屬於整數集合 Z？",
        "en": "Does 15.5 belong to the integer set Z?"
      }
    }
  ],
  "steps": [
    {
      "id": "S001",
      "uses": [
        "G001"
      ],
      "before": "source roles = [qf-integer-membership, no-required-operation, no-required-domain, []]",
      "after": "derived = [[mathematical_membership_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 = [15.5, 否]",
      "after": "derived = [否, 31/2, 否]",
      "relation": "implies",
      "rule_id": "Integer_RAW_ASCII_syntax_flag_verified_SEPARATE_exact_numeric_value",
      "conditions": [],
      "explanation": {
        "zh-Hant": "先驗raw字串與原Boolean旗標符合明示ASCII記法，再以精確值判整數。本輪No都是真正半整數；字串1.0的parser拒絕不能推成實數1.0不在Z。超出本凍結語義的歧義例不冒充數學No。",
        "en": "FIRST verify the raw string and Boolean flag against the declared ASCII syntax,THEN classify the exact value.The frozen No cases are genuine half-integers.A parser rejecting string1.0 does NOT prove real1.0 is outside Z.Ambiguous out-of-slice cases are not false mathematical No answers."
      },
      "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": "Integer nonmember ORIGINAL floor times reduced denominator := mul(15, 2)",
      "after": "Integer nonmember ORIGINAL floor times reduced denominator = 30",
      "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 nonmember ORIGINAL floor times reduced denominator，不以小數近似替代。",
          "en": "Recompute Integer nonmember ORIGINAL floor times reduced denominator with exact rational arithmetic, not rounded decimals."
        }
      },
      "arithmetic": {
        "operation": "mul",
        "inputs": [
          "15",
          "2"
        ],
        "output": "30",
        "label": "Integer nonmember ORIGINAL floor times reduced denominator"
      }
    },
    {
      "id": "S004",
      "uses": [
        "G001",
        "S003"
      ],
      "before": "Integer nonmember ORIGINAL numerator minus floor product := sub(31, 30)",
      "after": "Integer nonmember ORIGINAL numerator minus floor product = 1",
      "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 nonmember ORIGINAL numerator minus floor product，不以小數近似替代。",
          "en": "Recompute Integer nonmember ORIGINAL numerator minus floor product with exact rational arithmetic, not rounded decimals."
        }
      },
      "arithmetic": {
        "operation": "sub",
        "inputs": [
          "31",
          "30"
        ],
        "output": "1",
        "label": "Integer nonmember ORIGINAL numerator minus floor product"
      }
    },
    {
      "id": "S005",
      "uses": [
        "G001",
        "S004"
      ],
      "before": "Integer nonmember ORIGINAL positive proper remainder fraction := div(1, 2)",
      "after": "Integer nonmember ORIGINAL positive proper remainder fraction = 1/2",
      "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 nonmember ORIGINAL positive proper remainder fraction，不以小數近似替代。",
          "en": "Recompute Integer nonmember ORIGINAL positive proper remainder fraction with exact rational arithmetic, not rounded decimals."
        }
      },
      "arithmetic": {
        "operation": "div",
        "inputs": [
          "1",
          "2"
        ],
        "output": "1/2",
        "label": "Integer nonmember ORIGINAL positive proper remainder fraction"
      }
    },
    {
      "id": "S006",
      "uses": [
        "G001",
        "S005"
      ],
      "before": "Integer nonmember ORIGINAL value minus lower integer := sub(31/2, 15)",
      "after": "Integer nonmember ORIGINAL value minus lower integer = 1/2",
      "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 nonmember ORIGINAL value minus lower integer，不以小數近似替代。",
          "en": "Recompute Integer nonmember ORIGINAL value minus lower integer with exact rational arithmetic, not rounded decimals."
        }
      },
      "arithmetic": {
        "operation": "sub",
        "inputs": [
          "31/2",
          "15"
        ],
        "output": "1/2",
        "label": "Integer nonmember ORIGINAL value minus lower integer"
      }
    },
    {
      "id": "S007",
      "uses": [
        "G001",
        "S006"
      ],
      "before": "Integer nonmember ORIGINAL upper integer minus value := sub(16, 31/2)",
      "after": "Integer nonmember ORIGINAL upper integer minus value = 1/2",
      "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 nonmember ORIGINAL upper integer minus value，不以小數近似替代。",
          "en": "Recompute Integer nonmember ORIGINAL upper integer minus value with exact rational arithmetic, not rounded decimals."
        }
      },
      "arithmetic": {
        "operation": "sub",
        "inputs": [
          "16",
          "31/2"
        ],
        "output": "1/2",
        "label": "Integer nonmember ORIGINAL upper integer minus value"
      }
    },
    {
      "id": "S008",
      "uses": [
        "G001",
        "S007"
      ],
      "before": "source roles = [15.5, 31/2, 15, 2]",
      "after": "derived = [30, 1, 1/2, 1/2, 1/2, k < value < k+1]",
      "relation": "implies",
      "rule_id": "Integer_NONmember_EXACT_between_consecutive_integers_NOT_all_decimals",
      "conditions": [],
      "explanation": {
        "zh-Hant": "寫成最簡n/d再作n=kd+r，0<r<d，故嚴格夾在相鄰整數k與k+1之間，不可能是整數。這五題的den=2且分子奇數；不宣稱所有小數表示都非整數。",
        "en": "Reduce to n/d and write n=kd+r with0<r<d.The value lies STRICTLY between consecutive integers k,k+1,so cannot be an integer.These five have denominator2 and odd numerators;this does NOT classify every decimal representation as noninteger."
      },
      "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-20260919-integer-foundations",
      "batch_path": "public/data/questions/batches/batch-20260919-integer-foundations/questions.jsonl",
      "batch_sha256": "529bee0e669d336089b9b84409bed458d54dfcb02b3696e430887c1ed49bb6c4",
      "original_line": 16,
      "original_line_sha256": "62229b2fe9ba80d83c0b81c4108cf81c98def47d41d5b7d2e11a8a389526aa03",
      "question_compact_sha256": "297d76c1933e1982f7f13a6a9306482b41ee727b1e385f481385b27c23b72700",
      "english_row_compact_sha256": "718a5317a34462b6bc7ce6d542f557c10eb7f37b8f2c658725238125e6a8a68b",
      "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": "6c44f7ace0de7091bfc1702d9c35e1dff7503f6e4f387c5dea28307a2591ddcd",
    "original_candidate_line_sha256": "6c44f7ace0de7091bfc1702d9c35e1dff7503f6e4f387c5dea28307a2591ddcd"
  },
  "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": 8,
    "method": "family_template_semantic_review_plus_independent_per_instance_reconstruction",
    "exact_question_first_check": {
      "model_sha256": "bca71e82a3b603522a7c8b63fcbc81f6ac763288e5b122c1663da40e54865d65",
      "arithmetic_steps": 5
    },
    "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."
  }
}
