{
  "schema_version": "ocme-reviewed-question-reader-v1",
  "question_id": "q-20261013-advance-20261019-r07-lean-proof-term-0049",
  "pilot_number": "R0018-09924",
  "number": 9924,
  "family_id": "qf-ext19-proofterm-context-use",
  "title": {
    "zh-Hant": "第 9924 題：合成證明項判定",
    "en": "Question 9924: Synthetic Free Variables before Type Inference"
  },
  "original_question": {
    "schema_version": "ocme-question-v0.1",
    "id": "q-20261013-advance-20261019-r07-lean-proof-term-0049",
    "batch_id": "batch-20261013-advance-20261019-r07-lean-proof-term-foundations",
    "language": "zh-Hant",
    "source_mko_ids": [
      "mko-lean-proof-term"
    ],
    "title_zh": "合成證明項判定",
    "stem_zh": "合成proof-term receipt。操作=proofterm-context-use；資料={\"context\":[{\"name\":\"h23\",\"type\":\"P23\"}],\"term\":{\"kind\":\"var\",\"name\":\"missing23\"}}。請依 [free_variables,context_names,missing,inferred_or_不求值,context_complete] 欄序回答。",
    "answer": {
      "kind": "expression",
      "value": "([missing23], [h23], [missing23], 不求值, 否)",
      "explanation_zh": "第二批擴展核對=([missing23], [h23], [missing23], 不求值, 否)；依完整明示資料重算；有限／合成資料核對不是一般形式證明；本輪未跑Lean build；statement不等於已驗證proof；tactic log不等於kernel receipt。"
    },
    "difficulty": {
      "band": "undergraduate_core",
      "level": 3,
      "skills": [
        "合成證明項判定"
      ]
    },
    "variant": {
      "family_id": "qf-ext19-proofterm-context-use",
      "seed": 202610197049,
      "parameters": {
        "context": [
          {
            "name": "h23",
            "type": "P23"
          }
        ],
        "term": {
          "kind": "var",
          "name": "missing23"
        },
        "domain": "Synthetic_typed_proof_calculus",
        "operation": "proofterm-context-use",
        "semantic_template": "qf-ext19-proofterm-context-use/{\"context\":[{\"name\":\"h23\",\"type\":\"P23\"}],\"term\":{\"kind\":\"var\",\"name\":\"missing23\"}}"
      }
    },
    "verification": {
      "status": "candidate",
      "checks": [
        "producer_exact_finite_model",
        "producer_source_snapshot_check",
        "producer_substantive_template_deduplication",
        "producer_json_schema"
      ],
      "warning_zh": "僅為產生端候選及自檢；主端須另驗，不構成人工審定、一般程式證明、Lean執行或形式Evidence。"
    },
    "provenance": {
      "generator_role": "question_producer",
      "generator_model": "model_unknown",
      "generated_at": "2026-10-13",
      "contract_version": "ocme-question-factory-v0.1"
    }
  },
  "original_english_edition": {
    "schema_version": "ocme-question-localization-v0.1",
    "question_id": "q-20261013-advance-20261019-r07-lean-proof-term-0049",
    "batch_id": "batch-20261013-advance-20261019-r07-lean-proof-term-foundations",
    "locale": "en",
    "translation_state": "ai_candidate",
    "source": {
      "question_sha256": "6926671a7d21ed3ea5b7d11183d768a6a4c1397c1d73946605eba5b3be406beb",
      "family_id": "qf-ext19-proofterm-context-use",
      "seed": 202610197049,
      "semantic_template": "qf-ext19-proofterm-context-use/{\"context\":[{\"name\":\"h23\",\"type\":\"P23\"}],\"term\":{\"kind\":\"var\",\"name\":\"missing23\"}}"
    },
    "fields": {
      "title": "Synthetic Free Variables before Type Inference",
      "stem": "Use the synthetic small propositional calculus or synthetic receipt specified here, not actual Lean execution. The original source pulse did not run Lean builds for these questions. A statement, tactic log and kernel-checked proof are different obligations. Context=[{\"name\":\"h23\",\"type\":\"P23\"}], term={\"kind\":\"var\",\"name\":\"missing23\"}. Give (sorted distinct free variables, sorted context names, missing free variables, inferred type or not-evaluated, context complete?). Use the specified English-locale name order.",
      "answer": {
        "kind": "expression",
        "value": "([missing23], [h23], [missing23], not-evaluated, No)",
        "explanation": "Do not infer a term’s type until every free variable is bound; closed lambdas bind their own variable. This remains a synthetic calculation, not actual Lean. Finite/synthetic checks are not new general formal Evidence. The exact result, retaining the requested order, is ([missing23], [h23], [missing23], not-evaluated, No)."
      },
      "skills": [
        "Synthetic Free Variables before Type Inference"
      ],
      "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": "合成proof-term receipt。操作=proofterm-context-use；資料={\"context\":[{\"name\":\"h23\",\"type\":\"P23\"}],\"term\":{\"kind\":\"var\",\"name\":\"missing23\"}}。請依 [free_variables,context_names,missing,inferred_or_不求值,context_complete] 欄序回答。",
        "en": "Use the synthetic small propositional calculus or synthetic receipt specified here, not actual Lean execution. The original source pulse did not run Lean builds for these questions. A statement, tactic log and kernel-checked proof are different obligations. Context=[{\"name\":\"h23\",\"type\":\"P23\"}], term={\"kind\":\"var\",\"name\":\"missing23\"}. Give (sorted distinct free variables, sorted context names, missing free variables, inferred type or not-evaluated, context complete?). Use the specified English-locale name order."
      }
    }
  ],
  "steps": [
    {
      "id": "S001",
      "uses": [
        "G001"
      ],
      "before": "synthetic proposition/term calculus or supplied synthetic receipt",
      "after": "no actual Lean build,source-digest check or kernel acceptance",
      "relation": "implies",
      "rule_id": "synthetic_proofterm_not_actual_kernel",
      "conditions": [],
      "explanation": {
        "zh-Hant": "本題只套明定的小演算或合成receipt規格。陳述、tactic完成、term存在與kernel接受分開；本輪不執行Lean或把教學稿標成形式證明。",
        "en": "Apply only the specified small calculus or synthetic receipt protocol.Statement,tactic completion,term presence and kernel acceptance are separate.No Lean is run and the teaching guide is not promoted to a formal proof."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S002",
      "uses": [
        "G001",
        "S001"
      ],
      "before": "raw context=[{\"name\":\"h23\",\"type\":\"P23\"}]",
      "after": "validated English-locale context=[[\"h23\",\"P23\"]]",
      "relation": "implies",
      "rule_id": "synthetic_whole_context_validation",
      "conditions": [],
      "explanation": {
        "zh-Hant": "完整context每個名稱與型別都須合法，重名拒絕；按指定English排序呈現，不翻譯不透明名稱。",
        "en": "Validate every context name and type,reject duplicates,and display in the specified English order without translating opaque names."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S003",
      "uses": [
        "G001",
        "S002"
      ],
      "before": "path=root;term={\"kind\":\"var\",\"name\":\"missing23\"};lambda-bound names=[]",
      "after": "free variable names=[\"missing23\"]",
      "relation": "implies",
      "rule_id": "synthetic_free_variable_scope_rule",
      "conditions": [],
      "explanation": {
        "zh-Hant": "只由lambda語法綁定消去自由變數；外部context中有名稱，不代表它在term語法裡不是自由的。此步不做型別推論。",
        "en": "Only lambda syntax removes a free variable.A name's presence in the external context does not make it syntactically bound in the term.This step does not perform type inference."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S004",
      "uses": [
        "G001",
        "S003"
      ],
      "before": "syntactic free names=[\"missing23\"];context names=[\"h23\"]",
      "after": "missing=[\"missing23\"];context complete=否",
      "relation": "implies",
      "rule_id": "all_free_variables_bound_before_inference",
      "conditions": [],
      "explanation": {
        "zh-Hant": "先把自由名稱與context做完整成員比對；缺任一綁定時不進行型別推論，不憑外形猜型別。",
        "en": "Compare all free names with the context first.If any binding is missing,do not infer a type or guess one from appearances."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回到原始資料與本步條件核對，不把單向推論誤稱等價。",
          "en": "Check against the original data and this step's premises; a one-way implication is not an equivalence."
        }
      },
      "arithmetic": null
    }
  ],
  "math_model": {
    "result": [
      [
        "missing23"
      ],
      [
        "h23"
      ],
      [
        "missing23"
      ],
      "不求值",
      false
    ]
  },
  "conclusion": {
    "canonical_value": "([missing23], [h23], [missing23], 不求值, 否)",
    "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-20261013-advance-20261019-r07-lean-proof-term-foundations",
      "batch_path": "public/data/questions/batches/batch-20261013-advance-20261019-r07-lean-proof-term-foundations/questions.jsonl",
      "batch_sha256": "f4cf6c211d2edd61cb9e5b827c3869edb45d363ecd7d8f63108f53d848e14557",
      "original_line": 49,
      "original_line_sha256": "eddfc2d24d0b8dde0621ef0578b68f1fcb637323a99ed4a154a4b80eeb2e0a63",
      "question_compact_sha256": "6926671a7d21ed3ea5b7d11183d768a6a4c1397c1d73946605eba5b3be406beb",
      "english_row_compact_sha256": "3f8a80e8dae477fdc88f6dc0aecc22bacab0d794fabe864f70d1d83a0f3374e2",
      "english_manifest_path": "public/data/i18n/editions/batch-20261013-advance-20261019-r07-lean-proof-term-foundations.en.json",
      "english_rows_path": "public/data/i18n/questions/batch-20261013-advance-20261019-r07-lean-proof-term-foundations.en.jsonl"
    },
    "mko_bindings": {
      "mko-lean-proof-term": {
        "sha256": "a11c7813a596785a48d1af6603780643970769d714b6a167fec2a29245c6e1b2",
        "english_sha256": "d42bc57cd7682e13350bb803d8c13f2fcb0aa358ca7532f8aed5e5715b020506",
        "original_path": "public/data/mko/lean-proof-term.json",
        "english_path": "public/data/i18n/editions/mko-lean-proof-term.en.json"
      }
    },
    "selected_manifest_sha256": "5233edba9654a6cffd8b6b2d83c932f82ded15f9c0b7c733bd049943e672acff",
    "selected_part_sha256": "2cf5df7bf9c3d48dfd41d968723b60d910c4ecfec9c2089d22ac1cda059a6086",
    "original_candidate_sha256": "14ce46d934b42b5001b3b0bdae1a712be6699da6eef6e5e148f2e1fd101344d9",
    "original_candidate_line_sha256": "14ce46d934b42b5001b3b0bdae1a712be6699da6eef6e5e148f2e1fd101344d9"
  },
  "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-006-p19",
    "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": "bd35da62087a15d6b89b45585dc46e89b9efbe097cba7b3c707b5030496f013c",
      "question_first_witness_sha256": "fab45a10d8ac95c7d61d32e47d1bdd3ca862c17c3289a6bf4b01d4dc9492fbb6"
    },
    "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": "7f2381363aa7eaf3e5a902f7c7c05a5df59f67792d6165b23f7dd3a5c55f1ad6",
      "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."
  }
}
