{
  "schema_version": "ocme-reviewed-question-reader-v1",
  "question_id": "q-20261014-advance-20261109-r07-context-free-grammar-0080",
  "pilot_number": "R0042-21505",
  "number": 21505,
  "family_id": "qf-mod40-cfg-bounded-search-boundary",
  "title": {
    "zh-Hant": "第 21505 題：上下文無關文法",
    "en": "Question 21505: A Bounded Search No-Hit Is Not a Nonmembership Proof"
  },
  "original_question": {
    "schema_version": "ocme-question-v0.1",
    "id": "q-20261014-advance-20261109-r07-context-free-grammar-0080",
    "batch_id": "batch-20261014-advance-20261109-r07-context-free-grammar-foundations",
    "language": "zh-Hant",
    "source_mko_ids": [
      "mko-context-free-grammar"
    ],
    "title_zh": "上下文無關文法",
    "stem_zh": "finite disjoint nonterminals/terminals、start與complete production set。操作=cfg-bounded-search-boundary；資料={\"nonterminals\":[\"S4\",\"A4\"],\"terminals\":[\"a4\",\"b4\"],\"start\":\"S4\",\"productions\":[[\"S4\",[\"a4\",\"A4\"]],[\"A4\",[\"b4\",\"A4\"]],[\"A4\",[]]],\"allow_epsilon\":true,\"word\":[\"a4\",\"b4\",\"b4\",\"b4\",\"b4\",\"b4\"],\"max_steps\":1}。請依 exact_ordered_tuple_declared_by_interface 欄序回答。",
    "answer": {
      "kind": "expression",
      "value": "([a4, b4, b4, b4, b4, b4], 1, 否, 否, bounded_search_failure_cannot_prove_nonmembership_without_complete_bound)",
      "explanation_zh": "Wave6第三層核對=([a4, b4, b4, b4, b4, b4], 1, 否, 否, bounded_search_failure_cannot_prove_nonmembership_without_complete_bound)；依完整明示資料獨立重算；lhs單一nonterminal，rhs有限symbol string且epsilon convention明示；finite derivation proves membership；bounded search failure不證nonmembership，也不推unambiguous regular或PDA equivalence。"
    },
    "difficulty": {
      "band": "undergraduate_core",
      "level": 1,
      "skills": [
        "上下文無關文法"
      ]
    },
    "variant": {
      "family_id": "qf-mod40-cfg-bounded-search-boundary",
      "seed": 202611097080,
      "parameters": {
        "nonterminals": [
          "S4",
          "A4"
        ],
        "terminals": [
          "a4",
          "b4"
        ],
        "start": "S4",
        "productions": [
          [
            "S4",
            [
              "a4",
              "A4"
            ]
          ],
          [
            "A4",
            [
              "b4",
              "A4"
            ]
          ],
          [
            "A4",
            []
          ]
        ],
        "allow_epsilon": true,
        "word": [
          "a4",
          "b4",
          "b4",
          "b4",
          "b4",
          "b4"
        ],
        "max_steps": 1,
        "domain": "Complete_finite_context_free_grammar",
        "operation": "cfg-bounded-search-boundary",
        "semantic_template": "qf-mod40-cfg-bounded-search-boundary/{\"allow_epsilon\":true,\"max_steps\":1,\"nonterminals\":[\"A4\",\"S4\"],\"productions\":[[\"A4\",[\"b4\",\"A4\"]],[\"A4\",[]],[\"S4\",[\"a4\",\"A4\"]]],\"start\":\"S4\",\"terminals\":[\"a4\",\"b4\"],\"word\":[\"a4\",\"b4\",\"b4\",\"b4\",\"b4\",\"b4\"]}"
      }
    },
    "verification": {
      "status": "candidate",
      "checks": [
        "producer_exact_finite_or_symbolic_model",
        "producer_source_snapshot_check",
        "producer_substantive_template_deduplication",
        "producer_json_schema"
      ],
      "warning_zh": "候選須主端重算；不構成人工審定、single-element stabilizer、finite-prefix BW、single-cover compactness、zero-mass division、noncommutative binomial、incomplete Möbius factorization、bounded-search nonmembership、Lean或Evidence。"
    },
    "provenance": {
      "generator_role": "question_producer",
      "generator_model": "model_unknown",
      "generated_at": "2026-10-14",
      "contract_version": "ocme-question-factory-v0.1"
    }
  },
  "original_english_edition": {
    "schema_version": "ocme-question-localization-v0.1",
    "question_id": "q-20261014-advance-20261109-r07-context-free-grammar-0080",
    "batch_id": "batch-20261014-advance-20261109-r07-context-free-grammar-foundations",
    "locale": "en",
    "translation_state": "ai_candidate",
    "source": {
      "question_sha256": "b60e0f3570d0b692531cb1b506565f4246f2a955607e070011c5e08d5ed2c2c3",
      "family_id": "qf-mod40-cfg-bounded-search-boundary",
      "seed": 202611097080,
      "semantic_template": "qf-mod40-cfg-bounded-search-boundary/{\"allow_epsilon\":true,\"max_steps\":1,\"nonterminals\":[\"A4\",\"S4\"],\"productions\":[[\"A4\",[\"b4\",\"A4\"]],[\"A4\",[]],[\"S4\",[\"a4\",\"A4\"]]],\"start\":\"S4\",\"terminals\":[\"a4\",\"b4\"],\"word\":[\"a4\",\"b4\",\"b4\",\"b4\",\"b4\",\"b4\"]}"
    },
    "fields": {
      "title": "A Bounded Search No-Hit Is Not a Nonmembership Proof",
      "stem": "Use the complete finite grammar: nonterminals=[S4, A4], terminals=[a4, b4], start=S4, productions=[[S4, [a4, A4]], [A4, [b4, A4]], [A4, []]] and allow_epsilon=true. Alphabets must be unique and disjoint, the start belongs to nonterminals, and each production [lhs,rhs] has exactly one nonterminal lhs and a finite legal-symbol rhs. Empty rhs is permitted only under the explicit epsilon convention. Keep original symbol and production order. Search word=[a4, b4, b4, b4, b4, b4] with max_steps=1. Give (word, max_steps, found_in_bounded_search, nonmembership_claim, boundary).",
      "answer": {
        "kind": "expression",
        "value": "([a4, b4, b4, b4, b4, b4], 1, No, No, bounded_search_failure_cannot_prove_nonmembership_without_complete_bound)",
        "explanation": "Run the declared finite production search from [start], retaining only intermediate forms of length at most word.length+max_steps+1. Report whether this bounded search found the exact form. The final fixed No makes no nonmembership claim, even on a no-hit; without a completeness bound, a longer derivation may prove membership. A found nonterminal form is not by itself a terminal-word membership certificate. The exact result, retaining the requested order, is ([a4, b4, b4, b4, b4, b4], 1, No, No, bounded_search_failure_cannot_prove_nonmembership_without_complete_bound)."
      },
      "skills": [
        "A Bounded Search No-Hit Is Not a Nonmembership Proof"
      ],
      "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": "finite disjoint nonterminals/terminals、start與complete production set。操作=cfg-bounded-search-boundary；資料={\"nonterminals\":[\"S4\",\"A4\"],\"terminals\":[\"a4\",\"b4\"],\"start\":\"S4\",\"productions\":[[\"S4\",[\"a4\",\"A4\"]],[\"A4\",[\"b4\",\"A4\"]],[\"A4\",[]]],\"allow_epsilon\":true,\"word\":[\"a4\",\"b4\",\"b4\",\"b4\",\"b4\",\"b4\"],\"max_steps\":1}。請依 exact_ordered_tuple_declared_by_interface 欄序回答。",
        "en": "Use the complete finite grammar: nonterminals=[S4, A4], terminals=[a4, b4], start=S4, productions=[[S4, [a4, A4]], [A4, [b4, A4]], [A4, []]] and allow_epsilon=true. Alphabets must be unique and disjoint, the start belongs to nonterminals, and each production [lhs,rhs] has exactly one nonterminal lhs and a finite legal-symbol rhs. Empty rhs is permitted only under the explicit epsilon convention. Keep original symbol and production order. Search word=[a4, b4, b4, b4, b4, b4] with max_steps=1. Give (word, max_steps, found_in_bounded_search, nonmembership_claim, boundary)."
      }
    }
  ],
  "steps": [
    {
      "id": "S001",
      "uses": [
        "G001"
      ],
      "before": "source operation=cfg-bounded-search-boundary;original snapshot and mathematics retained",
      "after": "explicit ordered source output fields=[word, max_steps, found_in_bounded_search, nonmembership_claim, boundary]",
      "relation": "implies",
      "rule_id": "source_ordered_interface_explicit_without_javascript",
      "conditions": [],
      "explanation": {
        "zh-Hant": "原題歷史介面標記保留，本頁直接列來源有序欄位，不需JavaScript。tag不是額外證據，固定No保留其原聲稱範圍。",
        "en": "Keep the original historical interface marker while listing ordered source fields without JavaScript.Tags are not additional evidence;fixed No markers retain their source claim scope."
      },
      "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": "ORIGINAL production index=0;lhs=S4,rhs=[a4, A4];N=[S4, A4],T=[a4, b4],allow_epsilon=是",
      "after": "lhs is ONE declared nonterminal;every rhs symbol legal;empty rhs accepted ONLY under the explicit epsilon convention;original production position retained",
      "relation": "implies",
      "rule_id": "cfg_each_original_production_single_nonterminal_legal_rhs",
      "conditions": [],
      "explanation": {
        "zh-Hant": "每條production左邊只有一個非終結符；右邊逐symbol核合法，空右邊依明示epsilon慣例。重複production位置可存在，不能排序改變首witness索引。",
        "en": "Each production has one nonterminal on the left.Check every right-hand symbol and the explicit epsilon convention.Duplicate production positions may exist;sorting them would change first-witness indices."
      },
      "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": "ORIGINAL production index=1;lhs=A4,rhs=[b4, A4];N=[S4, A4],T=[a4, b4],allow_epsilon=是",
      "after": "lhs is ONE declared nonterminal;every rhs symbol legal;empty rhs accepted ONLY under the explicit epsilon convention;original production position retained",
      "relation": "implies",
      "rule_id": "cfg_each_original_production_single_nonterminal_legal_rhs",
      "conditions": [],
      "explanation": {
        "zh-Hant": "每條production左邊只有一個非終結符；右邊逐symbol核合法，空右邊依明示epsilon慣例。重複production位置可存在，不能排序改變首witness索引。",
        "en": "Each production has one nonterminal on the left.Check every right-hand symbol and the explicit epsilon convention.Duplicate production positions may exist;sorting them would change first-witness indices."
      },
      "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": "ORIGINAL production index=2;lhs=A4,rhs=[];N=[S4, A4],T=[a4, b4],allow_epsilon=是",
      "after": "lhs is ONE declared nonterminal;every rhs symbol legal;empty rhs accepted ONLY under the explicit epsilon convention;original production position retained",
      "relation": "implies",
      "rule_id": "cfg_each_original_production_single_nonterminal_legal_rhs",
      "conditions": [],
      "explanation": {
        "zh-Hant": "每條production左邊只有一個非終結符；右邊逐symbol核合法，空右邊依明示epsilon慣例。重複production位置可存在，不能排序改變首witness索引。",
        "en": "Each production has one nonterminal on the left.Check every right-hand symbol and the explicit epsilon convention.Duplicate production positions may exist;sorting them would change first-witness indices."
      },
      "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": "S005",
      "uses": [
        "G001",
        "S004"
      ],
      "before": "ORIGINAL unique disjoint N=[S4, A4],T=[a4, b4];start=S4;complete productions=[[S4, [a4, A4]], [A4, [b4, A4]], [A4, []]];allow_epsilon=是",
      "after": "start belongs to nonterminals;finite grammar qualified;NO derivation,membership,regularity,unambiguity or PDA equivalence inferred",
      "relation": "implies",
      "rule_id": "cfg_qualified_alphabets_start_not_language_property",
      "conditions": [],
      "explanation": {
        "zh-Hant": "定義合格只是文法的資格，不自動有某個word的推導，也不推regular、unambiguous等額外性質。非終結符／終結符順序保原輸入。",
        "en": "Grammar qualification alone supplies no derivation for a word and no regularity or unambiguity claim.Retain both alphabet orders."
      },
      "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": "S006",
      "uses": [
        "G001",
        "S005"
      ],
      "before": "ORIGINAL target form=[a4, b4, b4, b4, b4, b4];start=S4;max_steps=1;length cap=8",
      "after": "initial depth0 frontier=[[S4]];target already found=否;form equality itself does NOT require terminal-only target",
      "relation": "implies",
      "rule_id": "cfg_bounded_search_initial_exact_form_not_terminal_membership",
      "conditions": [],
      "explanation": {
        "zh-Hant": "這是來源指定的深度／長度有限搜尋，不是一般文法判定器；depth0也要核精確形式相等。若target含非終結符，找到形式仍不等於word成員證書。",
        "en": "This is the declared depth-and-length-bounded search,not a general recognizer.Check exact form equality at depth0.A found form with nonterminals is not a terminal-word membership certificate."
      },
      "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": "S007",
      "uses": [
        "G001",
        "S006"
      ],
      "before": "ORIGINAL depth=0;ALL frontier forms=[[S4]];length cap=8",
      "after": "ALL [from,position,production_index,next,target_equal,within_cap] transitions=[[[S4], 0, 0, [a4, A4], 否, 是]];next distinct frontier=[[a4, A4]];any hit=否",
      "relation": "implies",
      "rule_id": "cfg_every_bounded_frontier_expansion_and_length_filter",
      "conditions": [],
      "explanation": {
        "zh-Hant": "每層列出全部可用production替換，只在同層去重；先核是否等target，再按來源length cap保留後續形式。展示排序只讓集合可讀，不更動原production索引或found的存在性。",
        "en": "Expand every legal position/production at this layer,deduplicating equal forms within the layer.Check target equality before the source length filter.Display sorting makes a set readable without altering production indices or existential found status."
      },
      "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": "S008",
      "uses": [
        "G001",
        "S007"
      ],
      "before": "ORIGINAL target=[a4, b4, b4, b4, b4, b4],depth bound=1;bounded found=否",
      "after": "nonmembership_claim fixed No whether found or not;longer or excluded derivations have NOT been ruled out",
      "relation": "implies",
      "rule_id": "cfg_bounded_nohit_never_nonmembership_claim",
      "conditions": [],
      "explanation": {
        "zh-Hant": "no-hit只排除本次明示深度與長度限制內的路徑；除非另有完整性界，不能說word不在language。found若是terminal字串才另有成員意義，也不推unambiguous。",
        "en": "A no-hit rules out only paths within these depth/length limits.Without a completeness bound it is not a nonmembership proof.A found terminal string can separately witness membership,but not unambiguity."
      },
      "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": [
      [
        "a4",
        "b4",
        "b4",
        "b4",
        "b4",
        "b4"
      ],
      1,
      false,
      false,
      "bounded_search_failure_cannot_prove_nonmembership_without_complete_bound"
    ]
  },
  "conclusion": {
    "canonical_value": "([a4, b4, b4, b4, b4, b4], 1, 否, 否, bounded_search_failure_cannot_prove_nonmembership_without_complete_bound)",
    "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-20261014-advance-20261109-r07-context-free-grammar-foundations",
      "batch_path": "public/data/questions/batches/batch-20261014-advance-20261109-r07-context-free-grammar-foundations/questions.jsonl",
      "batch_sha256": "39b1ee6da8a53fac842295ae98c60a416b9e3823e9624674682652d96474f427",
      "original_line": 80,
      "original_line_sha256": "5558d2841b8021d2c41ad54e6c2456e9c233c1fc5d794a5fcaf36eb60ccd4512",
      "question_compact_sha256": "b60e0f3570d0b692531cb1b506565f4246f2a955607e070011c5e08d5ed2c2c3",
      "english_row_compact_sha256": "5fc94395f83613b309c7785c5e7772a79633d17f436d6a94c7a1fb5d3e259ed4",
      "english_manifest_path": "public/data/i18n/editions/batch-20261014-advance-20261109-r07-context-free-grammar-foundations.en.json",
      "english_rows_path": "public/data/i18n/questions/batch-20261014-advance-20261109-r07-context-free-grammar-foundations.en.jsonl"
    },
    "mko_bindings": {
      "mko-context-free-grammar": {
        "sha256": "0cffcd9eae42c9318c21e6233a518469b8747f149bd785b0f4c94ecbe19ea685",
        "english_sha256": "a115d11c0e542ef86b3dc7c6f96803d1f34c21848831700815c78d4215ea10a4",
        "original_path": "public/data/mko/context-free-grammar.json",
        "english_path": "public/data/i18n/editions/mko-context-free-grammar.en.json"
      }
    },
    "selected_manifest_sha256": "5233edba9654a6cffd8b6b2d83c932f82ded15f9c0b7c733bd049943e672acff",
    "selected_part_sha256": "a84fbe07a4e46e8e47a8ad331f35fd3f81b821aef6cb27e7852de854aaa96b9a",
    "original_candidate_sha256": "09a2051981f8efa35c41aa8c5bb9ef28930455583cc005f2889f560ecf777490",
    "original_candidate_line_sha256": "09a2051981f8efa35c41aa8c5bb9ef28930455583cc005f2889f560ecf777490"
  },
  "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-009-p43",
    "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": "dd44555041dfbb6fe9936aa00b9a5f8c5982c2784ef61dd0cbd5d1a303a49c1a",
      "question_first_witness_sha256": "9a6011263f6ac53b9a1fd57addf2f3e2f6088b54802c539f332d689480dc2d17"
    },
    "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": "cfd82f6bb10b2871a100fe7da9330f4e350c4dc8f14364b9ed5800ec626a5117",
      "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."
  }
}
