{
  "schema_version": "ocme-reviewed-question-reader-v1",
  "question_id": "q-20261015-advance-20261118-r06-regular-expression-0100",
  "pilot_number": "R0054-27550",
  "number": 27550,
  "family_id": "qf-mod49-regex-boundary",
  "title": {
    "zh-Hant": "第 27550 題：正規表示式",
    "en": "Question 27550: Empty Language, Epsilon, Wildcards and Bounded Equality Are Not Interchangeable"
  },
  "original_question": {
    "schema_version": "ocme-question-v0.1",
    "id": "q-20261015-advance-20261118-r06-regular-expression-0100",
    "batch_id": "batch-20261015-advance-20261118-r06-regular-expression-foundations",
    "language": "zh-Hant",
    "source_mko_ids": [
      "mko-regular-expression"
    ],
    "title_zh": "正規表示式",
    "stem_zh": "typed regex AST、finite alphabet與完整word semantics責任。操作=regex-boundary；資料={\"mode\":\"concat_order\",\"model\":{\"alphabet\":[\"a\",\"b\",\"c\"],\"left\":{\"type\":\"concat\",\"children\":[{\"type\":\"symbol\",\"value\":\"b\"},{\"type\":\"symbol\",\"value\":\"b\"},{\"type\":\"symbol\",\"value\":\"b\"},{\"type\":\"symbol\",\"value\":\"c\"}]},\"right\":{\"type\":\"concat\",\"children\":[{\"type\":\"symbol\",\"value\":\"c\"},{\"type\":\"symbol\",\"value\":\"b\"},{\"type\":\"symbol\",\"value\":\"b\"},{\"type\":\"symbol\",\"value\":\"b\"}]},\"max_length\":4}}。請依 exact_ordered_tuple_declared_by_interface 欄序回答。",
    "answer": {
      "kind": "expression",
      "value": "(concat_order, {children:[{type:\"symbol\",value:\"b\"},{type:\"symbol\",value:\"b\"},{type:\"symbol\",value:\"b\"},{type:\"symbol\",value:\"c\"}],type:\"concat\"}, {children:[{type:\"symbol\",value:\"c\"},{type:\"symbol\",value:\"b\"},{type:\"symbol\",value:\"b\"},{type:\"symbol\",value:\"b\"}],type:\"concat\"}, [[b, b, b, c]], [[c, b, b, b]], 否, 否, concatenation_order_is_semantic)",
      "explanation_zh": "Wave6第十二層核對=(concat_order, {children:[{type:\"symbol\",value:\"b\"},{type:\"symbol\",value:\"b\"},{type:\"symbol\",value:\"b\"},{type:\"symbol\",value:\"c\"}],type:\"concat\"}, {children:[{type:\"symbol\",value:\"c\"},{type:\"symbol\",value:\"b\"},{type:\"symbol\",value:\"b\"},{type:\"symbol\",value:\"b\"}],type:\"concat\"}, [[b, b, b, c]], [[c, b, b, b]], 否, 否, concatenation_order_is_semantic)；依完整明示資料獨立重算；empty language、epsilon、union、ordered concat與star嚴格區分並處理epsilon cycle；bounded enumeration不證unbounded equivalence；shell wildcard不是核心AST。"
    },
    "difficulty": {
      "band": "undergraduate_core",
      "level": 3,
      "skills": [
        "正規表示式"
      ]
    },
    "variant": {
      "family_id": "qf-mod49-regex-boundary",
      "seed": 202611186100,
      "parameters": {
        "mode": "concat_order",
        "model": {
          "alphabet": [
            "a",
            "b",
            "c"
          ],
          "left": {
            "type": "concat",
            "children": [
              {
                "type": "symbol",
                "value": "b"
              },
              {
                "type": "symbol",
                "value": "b"
              },
              {
                "type": "symbol",
                "value": "b"
              },
              {
                "type": "symbol",
                "value": "c"
              }
            ]
          },
          "right": {
            "type": "concat",
            "children": [
              {
                "type": "symbol",
                "value": "c"
              },
              {
                "type": "symbol",
                "value": "b"
              },
              {
                "type": "symbol",
                "value": "b"
              },
              {
                "type": "symbol",
                "value": "b"
              }
            ]
          },
          "max_length": 4
        },
        "domain": "Exact_typed_regular_expression",
        "operation": "regex-boundary",
        "semantic_template": "regex-boundary|{mode:\"concat_order\",model:{alphabet:[\"a\",\"b\",\"c\"],left:{children:[{type:\"symbol\",value:\"b\"},{type:\"symbol\",value:\"b\"},{type:\"symbol\",value:\"b\"},{type:\"symbol\",value:\"c\"}],type:\"concat\"},max_length:4,right:{children:[{type:\"symbol\",value:\"c\"},{type:\"symbol\",value:\"b\"},{type:\"symbol\",value:\"b\"},{type:\"symbol\",value:\"b\"}],type:\"concat\"}}}"
      }
    },
    "verification": {
      "status": "candidate",
      "checks": [
        "producer_exact_finite_or_symbolic_model",
        "producer_source_snapshot_check",
        "producer_substantive_template_deduplication",
        "producer_json_schema"
      ],
      "warning_zh": "候選須主端重算；不構成一般limit theorem、coverage、number-theory或language theorem證明、人工審定、Lean或Evidence。"
    },
    "provenance": {
      "generator_role": "question_producer",
      "generator_model": "model_unknown",
      "generated_at": "2026-10-15",
      "contract_version": "ocme-question-factory-v0.1"
    }
  },
  "original_english_edition": {
    "schema_version": "ocme-question-localization-v0.1",
    "question_id": "q-20261015-advance-20261118-r06-regular-expression-0100",
    "batch_id": "batch-20261015-advance-20261118-r06-regular-expression-foundations",
    "locale": "en",
    "translation_state": "ai_candidate",
    "source": {
      "question_sha256": "8e382761a2a57f1742476a3bdc446e36781ce8c62ea9c22d81dfac32019f6a95",
      "family_id": "qf-mod49-regex-boundary",
      "seed": 202611186100,
      "semantic_template": "regex-boundary|{mode:\"concat_order\",model:{alphabet:[\"a\",\"b\",\"c\"],left:{children:[{type:\"symbol\",value:\"b\"},{type:\"symbol\",value:\"b\"},{type:\"symbol\",value:\"b\"},{type:\"symbol\",value:\"c\"}],type:\"concat\"},max_length:4,right:{children:[{type:\"symbol\",value:\"c\"},{type:\"symbol\",value:\"b\"},{type:\"symbol\",value:\"b\"},{type:\"symbol\",value:\"b\"}],type:\"concat\"}}}"
    },
    "fields": {
      "title": "Empty Language, Epsilon, Wildcards and Bounded Equality Are Not Interchangeable",
      "stem": "Use mode=concat_order, complete model={\"alphabet\":[\"a\",\"b\",\"c\"],\"left\":{\"type\":\"concat\",\"children\":[{\"type\":\"symbol\",\"value\":\"b\"},{\"type\":\"symbol\",\"value\":\"b\"},{\"type\":\"symbol\",\"value\":\"b\"},{\"type\":\"symbol\",\"value\":\"c\"}]},\"right\":{\"type\":\"concat\",\"children\":[{\"type\":\"symbol\",\"value\":\"c\"},{\"type\":\"symbol\",\"value\":\"b\"},{\"type\":\"symbol\",\"value\":\"b\"},{\"type\":\"symbol\",\"value\":\"b\"}]},\"max_length\":4}. Give (mode, left_AST, right_AST, left_bounded_language, right_bounded_language, bounded_languages_equal, order_irrelevance_claim, boundary).",
      "answer": {
        "kind": "expression",
        "value": "(concat_order, {children:[{type:\"symbol\",value:\"b\"},{type:\"symbol\",value:\"b\"},{type:\"symbol\",value:\"b\"},{type:\"symbol\",value:\"c\"}],type:\"concat\"}, {children:[{type:\"symbol\",value:\"c\"},{type:\"symbol\",value:\"b\"},{type:\"symbol\",value:\"b\"},{type:\"symbol\",value:\"b\"}],type:\"concat\"}, [[b, b, b, c]], [[c, b, b, b]], No, No, concatenation_order_is_semantic)",
        "explanation": "empty_vs_epsilon separates [] from[[]]. A wildcard token is not a core typed AST node. bounded_equality retains equality through the bound and a genuine distinguishing next-length slice, so unbounded equivalence is No. concat_order retains the ordered ASTs and their genuinely different bounded languages. The exact result, retaining the requested order, is (concat_order, {children:[{type:\"symbol\",value:\"b\"},{type:\"symbol\",value:\"b\"},{type:\"symbol\",value:\"b\"},{type:\"symbol\",value:\"c\"}],type:\"concat\"}, {children:[{type:\"symbol\",value:\"c\"},{type:\"symbol\",value:\"b\"},{type:\"symbol\",value:\"b\"},{type:\"symbol\",value:\"b\"}],type:\"concat\"}, [[b, b, b, c]], [[c, b, b, b]], No, No, concatenation_order_is_semantic)."
      },
      "skills": [
        "Empty Language, Epsilon, Wildcards and Bounded Equality Are Not Interchangeable"
      ],
      "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": "typed regex AST、finite alphabet與完整word semantics責任。操作=regex-boundary；資料={\"mode\":\"concat_order\",\"model\":{\"alphabet\":[\"a\",\"b\",\"c\"],\"left\":{\"type\":\"concat\",\"children\":[{\"type\":\"symbol\",\"value\":\"b\"},{\"type\":\"symbol\",\"value\":\"b\"},{\"type\":\"symbol\",\"value\":\"b\"},{\"type\":\"symbol\",\"value\":\"c\"}]},\"right\":{\"type\":\"concat\",\"children\":[{\"type\":\"symbol\",\"value\":\"c\"},{\"type\":\"symbol\",\"value\":\"b\"},{\"type\":\"symbol\",\"value\":\"b\"},{\"type\":\"symbol\",\"value\":\"b\"}]},\"max_length\":4}}。請依 exact_ordered_tuple_declared_by_interface 欄序回答。",
        "en": "Use mode=concat_order, complete model={\"alphabet\":[\"a\",\"b\",\"c\"],\"left\":{\"type\":\"concat\",\"children\":[{\"type\":\"symbol\",\"value\":\"b\"},{\"type\":\"symbol\",\"value\":\"b\"},{\"type\":\"symbol\",\"value\":\"b\"},{\"type\":\"symbol\",\"value\":\"c\"}]},\"right\":{\"type\":\"concat\",\"children\":[{\"type\":\"symbol\",\"value\":\"c\"},{\"type\":\"symbol\",\"value\":\"b\"},{\"type\":\"symbol\",\"value\":\"b\"},{\"type\":\"symbol\",\"value\":\"b\"}]},\"max_length\":4}. Give (mode, left_AST, right_AST, left_bounded_language, right_bounded_language, bounded_languages_equal, order_irrelevance_claim, boundary)."
      }
    }
  ],
  "steps": [
    {
      "id": "S001",
      "uses": [
        "G001"
      ],
      "before": "source roles = [regex-boundary]",
      "after": "derived = [[mode, left_AST, right_AST, left_bounded_language, right_bounded_language, bounded_languages_equal, order_irrelevance_claim, boundary]]",
      "relation": "implies",
      "rule_id": "source_ordered_fields_without_JS",
      "conditions": [],
      "explanation": {
        "zh-Hant": "直接明列此操作與mode完整欄序，不依JavaScript、不由答案形狀猜角色；布林、字串、null與未作聲稱保持不同。",
        "en": "List the complete operation/mode field order without JavaScript or answer-shape inference;Boolean,string,null and an unclaimed result remain distinct."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回查原始資料、操作數、完整範圍與本步前提；有限見證、條件式定理引用與形式證明分開。",
          "en": "Reverse-check original data,operands,complete scope and premises;finite witnesses,conditional theorem use and formal proof remain distinct."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S002",
      "uses": [
        "G001",
        "S001"
      ],
      "before": "source roles = [Regex boundary LEFT.ast.children[0], [a, b, c], {'type': 'symbol', 'value': 'b'}]",
      "after": "derived = [{'type': 'symbol', 'value': 'b'}, {type:\"symbol\",value:\"b\"}]",
      "relation": "implies",
      "rule_id": "Regex_EACH_typed_node_exact_keys_symbol_scope_union_set_concat_order",
      "conditions": [],
      "explanation": {
        "zh-Hant": "逐node檢type、exact keys與symbol membership。union在raw至少兩child之後才extensional去重（canonical可剩一child）；concat保原順序，star保child。不把canonical結果當raw再多加arity限制。",
        "en": "For EACH node qualify type,exact keys and symbol membership.A union checks raw arity>=2 BEFORE extensional deduplication,so its canonical form may have one child.Concatenation retains order and star retains its child.Do not revalidate canonical output as raw input with a new arity gate."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回查原始資料、操作數、完整範圍與本步前提；有限見證、條件式定理引用與形式證明分開。",
          "en": "Reverse-check original data,operands,complete scope and premises;finite witnesses,conditional theorem use and formal proof remain distinct."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S003",
      "uses": [
        "G001",
        "S002"
      ],
      "before": "source roles = [Regex boundary LEFT.ast.children[1], [a, b, c], {'type': 'symbol', 'value': 'b'}]",
      "after": "derived = [{'type': 'symbol', 'value': 'b'}, {type:\"symbol\",value:\"b\"}]",
      "relation": "implies",
      "rule_id": "Regex_EACH_typed_node_exact_keys_symbol_scope_union_set_concat_order",
      "conditions": [],
      "explanation": {
        "zh-Hant": "逐node檢type、exact keys與symbol membership。union在raw至少兩child之後才extensional去重（canonical可剩一child）；concat保原順序，star保child。不把canonical結果當raw再多加arity限制。",
        "en": "For EACH node qualify type,exact keys and symbol membership.A union checks raw arity>=2 BEFORE extensional deduplication,so its canonical form may have one child.Concatenation retains order and star retains its child.Do not revalidate canonical output as raw input with a new arity gate."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回查原始資料、操作數、完整範圍與本步前提；有限見證、條件式定理引用與形式證明分開。",
          "en": "Reverse-check original data,operands,complete scope and premises;finite witnesses,conditional theorem use and formal proof remain distinct."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S004",
      "uses": [
        "G001",
        "S003"
      ],
      "before": "source roles = [Regex boundary LEFT.ast.children[2], [a, b, c], {'type': 'symbol', 'value': 'b'}]",
      "after": "derived = [{'type': 'symbol', 'value': 'b'}, {type:\"symbol\",value:\"b\"}]",
      "relation": "implies",
      "rule_id": "Regex_EACH_typed_node_exact_keys_symbol_scope_union_set_concat_order",
      "conditions": [],
      "explanation": {
        "zh-Hant": "逐node檢type、exact keys與symbol membership。union在raw至少兩child之後才extensional去重（canonical可剩一child）；concat保原順序，star保child。不把canonical結果當raw再多加arity限制。",
        "en": "For EACH node qualify type,exact keys and symbol membership.A union checks raw arity>=2 BEFORE extensional deduplication,so its canonical form may have one child.Concatenation retains order and star retains its child.Do not revalidate canonical output as raw input with a new arity gate."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回查原始資料、操作數、完整範圍與本步前提；有限見證、條件式定理引用與形式證明分開。",
          "en": "Reverse-check original data,operands,complete scope and premises;finite witnesses,conditional theorem use and formal proof remain distinct."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S005",
      "uses": [
        "G001",
        "S004"
      ],
      "before": "source roles = [Regex boundary LEFT.ast.children[3], [a, b, c], {'type': 'symbol', 'value': 'c'}]",
      "after": "derived = [{'type': 'symbol', 'value': 'c'}, {type:\"symbol\",value:\"c\"}]",
      "relation": "implies",
      "rule_id": "Regex_EACH_typed_node_exact_keys_symbol_scope_union_set_concat_order",
      "conditions": [],
      "explanation": {
        "zh-Hant": "逐node檢type、exact keys與symbol membership。union在raw至少兩child之後才extensional去重（canonical可剩一child）；concat保原順序，star保child。不把canonical結果當raw再多加arity限制。",
        "en": "For EACH node qualify type,exact keys and symbol membership.A union checks raw arity>=2 BEFORE extensional deduplication,so its canonical form may have one child.Concatenation retains order and star retains its child.Do not revalidate canonical output as raw input with a new arity gate."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回查原始資料、操作數、完整範圍與本步前提；有限見證、條件式定理引用與形式證明分開。",
          "en": "Reverse-check original data,operands,complete scope and premises;finite witnesses,conditional theorem use and formal proof remain distinct."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S006",
      "uses": [
        "G001",
        "S005"
      ],
      "before": "source roles = [Regex boundary LEFT.ast, [a, b, c], {'type': 'concat', 'children': [{'type': 'symbol', 'value': 'b'}, {'type': 'symbol', 'value': 'b'}, {'type': 'symbol', 'value': 'b'}, {'type': 'symbol', 'value': 'c'}]}]",
      "after": "derived = [{'type': 'concat', 'children': [{'type': 'symbol', 'value': 'b'}, {'type': 'symbol', 'value': 'b'}, {'type': 'symbol', 'value': 'b'}, {'type': 'symbol', 'value': 'c'}]}, {children:[{type:\"symbol\",value:\"b\"},{type:\"symbol\",value:\"b\"},{type:\"symbol\",value:\"b\"},{type:\"symbol\",value:\"c\"}],type:\"concat\"}]",
      "relation": "implies",
      "rule_id": "Regex_EACH_typed_node_exact_keys_symbol_scope_union_set_concat_order",
      "conditions": [],
      "explanation": {
        "zh-Hant": "逐node檢type、exact keys與symbol membership。union在raw至少兩child之後才extensional去重（canonical可剩一child）；concat保原順序，star保child。不把canonical結果當raw再多加arity限制。",
        "en": "For EACH node qualify type,exact keys and symbol membership.A union checks raw arity>=2 BEFORE extensional deduplication,so its canonical form may have one child.Concatenation retains order and star retains its child.Do not revalidate canonical output as raw input with a new arity gate."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回查原始資料、操作數、完整範圍與本步前提；有限見證、條件式定理引用與形式證明分開。",
          "en": "Reverse-check original data,operands,complete scope and premises;finite witnesses,conditional theorem use and formal proof remain distinct."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S007",
      "uses": [
        "G001",
        "S006"
      ],
      "before": "source roles = [[a, b, c], 4]",
      "after": "derived = [121]",
      "relation": "implies",
      "rule_id": "Regex_COMPLETE_bounded_word_universe_not_unbounded_equivalence",
      "conditions": [],
      "explanation": {
        "zh-Hant": "界內所有words個數為Σ|alphabet|^k（含epsilon），來源budget至多4096；這限定完整枚舉範圍，不構成unbounded等價證書。",
        "en": "The bounded universe has sum |alphabet|^k words,including epsilon,and source budget<=4096.This defines complete bounded enumeration,not unbounded equivalence."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回查原始資料、操作數、完整範圍與本步前提；有限見證、條件式定理引用與形式證明分開。",
          "en": "Reverse-check original data,operands,complete scope and premises;finite witnesses,conditional theorem use and formal proof remain distinct."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S008",
      "uses": [
        "G001",
        "S007"
      ],
      "before": "source roles = [Regex boundary LEFT.language.concat[0], symbol, {'type': 'symbol', 'value': 'b'}, 4]",
      "after": "derived = [[[b]]]",
      "relation": "implies",
      "rule_id": "Regex_atomic_language_EMPTY_versus_EPS_versus_literal_symbol",
      "conditions": [],
      "explanation": {
        "zh-Hant": "empty-language無任何word；epsilon有唯一空word；symbol有其一個token，受查詢長度界限制。word是token array，不以字串split改變alphabet語義。",
        "en": "The empty language has no words;epsilon has the single empty word;a symbol has its one token within the queried length bound.Words are token arrays,not reinterpreted character splits."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回查原始資料、操作數、完整範圍與本步前提；有限見證、條件式定理引用與形式證明分開。",
          "en": "Reverse-check original data,operands,complete scope and premises;finite witnesses,conditional theorem use and formal proof remain distinct."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S009",
      "uses": [
        "G001",
        "S008"
      ],
      "before": "source roles = [Regex boundary LEFT.language, 0, 4, [[]], [[b]]]",
      "after": "derived = [[[b]]]",
      "relation": "implies",
      "rule_id": "Regex_EACH_ordered_concatenation_complete_cartesian_word_products",
      "conditions": [],
      "explanation": {
        "zh-Hant": "依原concat次序取全部prefix×下一child之word concatenations；只截去過長word。總長<=m時各片段長亦<=m，所以不會因截斷漏掉合法組合。",
        "en": "In ORIGINAL concatenation order take EVERY prefix/next-child word concatenation and discard only excessive length.If total length<=m,every factor length<=m,so truncation loses no allowed combination."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回查原始資料、操作數、完整範圍與本步前提；有限見證、條件式定理引用與形式證明分開。",
          "en": "Reverse-check original data,operands,complete scope and premises;finite witnesses,conditional theorem use and formal proof remain distinct."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S010",
      "uses": [
        "G001",
        "S009"
      ],
      "before": "source roles = [Regex boundary LEFT.language.concat[1], symbol, {'type': 'symbol', 'value': 'b'}, 4]",
      "after": "derived = [[[b]]]",
      "relation": "implies",
      "rule_id": "Regex_atomic_language_EMPTY_versus_EPS_versus_literal_symbol",
      "conditions": [],
      "explanation": {
        "zh-Hant": "empty-language無任何word；epsilon有唯一空word；symbol有其一個token，受查詢長度界限制。word是token array，不以字串split改變alphabet語義。",
        "en": "The empty language has no words;epsilon has the single empty word;a symbol has its one token within the queried length bound.Words are token arrays,not reinterpreted character splits."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回查原始資料、操作數、完整範圍與本步前提；有限見證、條件式定理引用與形式證明分開。",
          "en": "Reverse-check original data,operands,complete scope and premises;finite witnesses,conditional theorem use and formal proof remain distinct."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S011",
      "uses": [
        "G001",
        "S010"
      ],
      "before": "source roles = [Regex boundary LEFT.language, 1, 4, [[b]], [[b]]]",
      "after": "derived = [[[b, b]]]",
      "relation": "implies",
      "rule_id": "Regex_EACH_ordered_concatenation_complete_cartesian_word_products",
      "conditions": [],
      "explanation": {
        "zh-Hant": "依原concat次序取全部prefix×下一child之word concatenations；只截去過長word。總長<=m時各片段長亦<=m，所以不會因截斷漏掉合法組合。",
        "en": "In ORIGINAL concatenation order take EVERY prefix/next-child word concatenation and discard only excessive length.If total length<=m,every factor length<=m,so truncation loses no allowed combination."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回查原始資料、操作數、完整範圍與本步前提；有限見證、條件式定理引用與形式證明分開。",
          "en": "Reverse-check original data,operands,complete scope and premises;finite witnesses,conditional theorem use and formal proof remain distinct."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S012",
      "uses": [
        "G001",
        "S011"
      ],
      "before": "source roles = [Regex boundary LEFT.language.concat[2], symbol, {'type': 'symbol', 'value': 'b'}, 4]",
      "after": "derived = [[[b]]]",
      "relation": "implies",
      "rule_id": "Regex_atomic_language_EMPTY_versus_EPS_versus_literal_symbol",
      "conditions": [],
      "explanation": {
        "zh-Hant": "empty-language無任何word；epsilon有唯一空word；symbol有其一個token，受查詢長度界限制。word是token array，不以字串split改變alphabet語義。",
        "en": "The empty language has no words;epsilon has the single empty word;a symbol has its one token within the queried length bound.Words are token arrays,not reinterpreted character splits."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回查原始資料、操作數、完整範圍與本步前提；有限見證、條件式定理引用與形式證明分開。",
          "en": "Reverse-check original data,operands,complete scope and premises;finite witnesses,conditional theorem use and formal proof remain distinct."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S013",
      "uses": [
        "G001",
        "S012"
      ],
      "before": "source roles = [Regex boundary LEFT.language, 2, 4, [[b, b]], [[b]]]",
      "after": "derived = [[[b, b, b]]]",
      "relation": "implies",
      "rule_id": "Regex_EACH_ordered_concatenation_complete_cartesian_word_products",
      "conditions": [],
      "explanation": {
        "zh-Hant": "依原concat次序取全部prefix×下一child之word concatenations；只截去過長word。總長<=m時各片段長亦<=m，所以不會因截斷漏掉合法組合。",
        "en": "In ORIGINAL concatenation order take EVERY prefix/next-child word concatenation and discard only excessive length.If total length<=m,every factor length<=m,so truncation loses no allowed combination."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回查原始資料、操作數、完整範圍與本步前提；有限見證、條件式定理引用與形式證明分開。",
          "en": "Reverse-check original data,operands,complete scope and premises;finite witnesses,conditional theorem use and formal proof remain distinct."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S014",
      "uses": [
        "G001",
        "S013"
      ],
      "before": "source roles = [Regex boundary LEFT.language.concat[3], symbol, {'type': 'symbol', 'value': 'c'}, 4]",
      "after": "derived = [[[c]]]",
      "relation": "implies",
      "rule_id": "Regex_atomic_language_EMPTY_versus_EPS_versus_literal_symbol",
      "conditions": [],
      "explanation": {
        "zh-Hant": "empty-language無任何word；epsilon有唯一空word；symbol有其一個token，受查詢長度界限制。word是token array，不以字串split改變alphabet語義。",
        "en": "The empty language has no words;epsilon has the single empty word;a symbol has its one token within the queried length bound.Words are token arrays,not reinterpreted character splits."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回查原始資料、操作數、完整範圍與本步前提；有限見證、條件式定理引用與形式證明分開。",
          "en": "Reverse-check original data,operands,complete scope and premises;finite witnesses,conditional theorem use and formal proof remain distinct."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S015",
      "uses": [
        "G001",
        "S014"
      ],
      "before": "source roles = [Regex boundary LEFT.language, 3, 4, [[b, b, b]], [[c]]]",
      "after": "derived = [[[b, b, b, c]]]",
      "relation": "implies",
      "rule_id": "Regex_EACH_ordered_concatenation_complete_cartesian_word_products",
      "conditions": [],
      "explanation": {
        "zh-Hant": "依原concat次序取全部prefix×下一child之word concatenations；只截去過長word。總長<=m時各片段長亦<=m，所以不會因截斷漏掉合法組合。",
        "en": "In ORIGINAL concatenation order take EVERY prefix/next-child word concatenation and discard only excessive length.If total length<=m,every factor length<=m,so truncation loses no allowed combination."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回查原始資料、操作數、完整範圍與本步前提；有限見證、條件式定理引用與形式證明分開。",
          "en": "Reverse-check original data,operands,complete scope and premises;finite witnesses,conditional theorem use and formal proof remain distinct."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S016",
      "uses": [
        "G001",
        "S015"
      ],
      "before": "source roles = [Regex boundary RIGHT.ast.children[0], [a, b, c], {'type': 'symbol', 'value': 'c'}]",
      "after": "derived = [{'type': 'symbol', 'value': 'c'}, {type:\"symbol\",value:\"c\"}]",
      "relation": "implies",
      "rule_id": "Regex_EACH_typed_node_exact_keys_symbol_scope_union_set_concat_order",
      "conditions": [],
      "explanation": {
        "zh-Hant": "逐node檢type、exact keys與symbol membership。union在raw至少兩child之後才extensional去重（canonical可剩一child）；concat保原順序，star保child。不把canonical結果當raw再多加arity限制。",
        "en": "For EACH node qualify type,exact keys and symbol membership.A union checks raw arity>=2 BEFORE extensional deduplication,so its canonical form may have one child.Concatenation retains order and star retains its child.Do not revalidate canonical output as raw input with a new arity gate."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回查原始資料、操作數、完整範圍與本步前提；有限見證、條件式定理引用與形式證明分開。",
          "en": "Reverse-check original data,operands,complete scope and premises;finite witnesses,conditional theorem use and formal proof remain distinct."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S017",
      "uses": [
        "G001",
        "S016"
      ],
      "before": "source roles = [Regex boundary RIGHT.ast.children[1], [a, b, c], {'type': 'symbol', 'value': 'b'}]",
      "after": "derived = [{'type': 'symbol', 'value': 'b'}, {type:\"symbol\",value:\"b\"}]",
      "relation": "implies",
      "rule_id": "Regex_EACH_typed_node_exact_keys_symbol_scope_union_set_concat_order",
      "conditions": [],
      "explanation": {
        "zh-Hant": "逐node檢type、exact keys與symbol membership。union在raw至少兩child之後才extensional去重（canonical可剩一child）；concat保原順序，star保child。不把canonical結果當raw再多加arity限制。",
        "en": "For EACH node qualify type,exact keys and symbol membership.A union checks raw arity>=2 BEFORE extensional deduplication,so its canonical form may have one child.Concatenation retains order and star retains its child.Do not revalidate canonical output as raw input with a new arity gate."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回查原始資料、操作數、完整範圍與本步前提；有限見證、條件式定理引用與形式證明分開。",
          "en": "Reverse-check original data,operands,complete scope and premises;finite witnesses,conditional theorem use and formal proof remain distinct."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S018",
      "uses": [
        "G001",
        "S017"
      ],
      "before": "source roles = [Regex boundary RIGHT.ast.children[2], [a, b, c], {'type': 'symbol', 'value': 'b'}]",
      "after": "derived = [{'type': 'symbol', 'value': 'b'}, {type:\"symbol\",value:\"b\"}]",
      "relation": "implies",
      "rule_id": "Regex_EACH_typed_node_exact_keys_symbol_scope_union_set_concat_order",
      "conditions": [],
      "explanation": {
        "zh-Hant": "逐node檢type、exact keys與symbol membership。union在raw至少兩child之後才extensional去重（canonical可剩一child）；concat保原順序，star保child。不把canonical結果當raw再多加arity限制。",
        "en": "For EACH node qualify type,exact keys and symbol membership.A union checks raw arity>=2 BEFORE extensional deduplication,so its canonical form may have one child.Concatenation retains order and star retains its child.Do not revalidate canonical output as raw input with a new arity gate."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回查原始資料、操作數、完整範圍與本步前提；有限見證、條件式定理引用與形式證明分開。",
          "en": "Reverse-check original data,operands,complete scope and premises;finite witnesses,conditional theorem use and formal proof remain distinct."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S019",
      "uses": [
        "G001",
        "S018"
      ],
      "before": "source roles = [Regex boundary RIGHT.ast.children[3], [a, b, c], {'type': 'symbol', 'value': 'b'}]",
      "after": "derived = [{'type': 'symbol', 'value': 'b'}, {type:\"symbol\",value:\"b\"}]",
      "relation": "implies",
      "rule_id": "Regex_EACH_typed_node_exact_keys_symbol_scope_union_set_concat_order",
      "conditions": [],
      "explanation": {
        "zh-Hant": "逐node檢type、exact keys與symbol membership。union在raw至少兩child之後才extensional去重（canonical可剩一child）；concat保原順序，star保child。不把canonical結果當raw再多加arity限制。",
        "en": "For EACH node qualify type,exact keys and symbol membership.A union checks raw arity>=2 BEFORE extensional deduplication,so its canonical form may have one child.Concatenation retains order and star retains its child.Do not revalidate canonical output as raw input with a new arity gate."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回查原始資料、操作數、完整範圍與本步前提；有限見證、條件式定理引用與形式證明分開。",
          "en": "Reverse-check original data,operands,complete scope and premises;finite witnesses,conditional theorem use and formal proof remain distinct."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S020",
      "uses": [
        "G001",
        "S019"
      ],
      "before": "source roles = [Regex boundary RIGHT.ast, [a, b, c], {'type': 'concat', 'children': [{'type': 'symbol', 'value': 'c'}, {'type': 'symbol', 'value': 'b'}, {'type': 'symbol', 'value': 'b'}, {'type': 'symbol', 'value': 'b'}]}]",
      "after": "derived = [{'type': 'concat', 'children': [{'type': 'symbol', 'value': 'c'}, {'type': 'symbol', 'value': 'b'}, {'type': 'symbol', 'value': 'b'}, {'type': 'symbol', 'value': 'b'}]}, {children:[{type:\"symbol\",value:\"c\"},{type:\"symbol\",value:\"b\"},{type:\"symbol\",value:\"b\"},{type:\"symbol\",value:\"b\"}],type:\"concat\"}]",
      "relation": "implies",
      "rule_id": "Regex_EACH_typed_node_exact_keys_symbol_scope_union_set_concat_order",
      "conditions": [],
      "explanation": {
        "zh-Hant": "逐node檢type、exact keys與symbol membership。union在raw至少兩child之後才extensional去重（canonical可剩一child）；concat保原順序，star保child。不把canonical結果當raw再多加arity限制。",
        "en": "For EACH node qualify type,exact keys and symbol membership.A union checks raw arity>=2 BEFORE extensional deduplication,so its canonical form may have one child.Concatenation retains order and star retains its child.Do not revalidate canonical output as raw input with a new arity gate."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回查原始資料、操作數、完整範圍與本步前提；有限見證、條件式定理引用與形式證明分開。",
          "en": "Reverse-check original data,operands,complete scope and premises;finite witnesses,conditional theorem use and formal proof remain distinct."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S021",
      "uses": [
        "G001",
        "S020"
      ],
      "before": "source roles = [[a, b, c], 4]",
      "after": "derived = [121]",
      "relation": "implies",
      "rule_id": "Regex_COMPLETE_bounded_word_universe_not_unbounded_equivalence",
      "conditions": [],
      "explanation": {
        "zh-Hant": "界內所有words個數為Σ|alphabet|^k（含epsilon），來源budget至多4096；這限定完整枚舉範圍，不構成unbounded等價證書。",
        "en": "The bounded universe has sum |alphabet|^k words,including epsilon,and source budget<=4096.This defines complete bounded enumeration,not unbounded equivalence."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回查原始資料、操作數、完整範圍與本步前提；有限見證、條件式定理引用與形式證明分開。",
          "en": "Reverse-check original data,operands,complete scope and premises;finite witnesses,conditional theorem use and formal proof remain distinct."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S022",
      "uses": [
        "G001",
        "S021"
      ],
      "before": "source roles = [Regex boundary RIGHT.language.concat[0], symbol, {'type': 'symbol', 'value': 'c'}, 4]",
      "after": "derived = [[[c]]]",
      "relation": "implies",
      "rule_id": "Regex_atomic_language_EMPTY_versus_EPS_versus_literal_symbol",
      "conditions": [],
      "explanation": {
        "zh-Hant": "empty-language無任何word；epsilon有唯一空word；symbol有其一個token，受查詢長度界限制。word是token array，不以字串split改變alphabet語義。",
        "en": "The empty language has no words;epsilon has the single empty word;a symbol has its one token within the queried length bound.Words are token arrays,not reinterpreted character splits."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回查原始資料、操作數、完整範圍與本步前提；有限見證、條件式定理引用與形式證明分開。",
          "en": "Reverse-check original data,operands,complete scope and premises;finite witnesses,conditional theorem use and formal proof remain distinct."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S023",
      "uses": [
        "G001",
        "S022"
      ],
      "before": "source roles = [Regex boundary RIGHT.language, 0, 4, [[]], [[c]]]",
      "after": "derived = [[[c]]]",
      "relation": "implies",
      "rule_id": "Regex_EACH_ordered_concatenation_complete_cartesian_word_products",
      "conditions": [],
      "explanation": {
        "zh-Hant": "依原concat次序取全部prefix×下一child之word concatenations；只截去過長word。總長<=m時各片段長亦<=m，所以不會因截斷漏掉合法組合。",
        "en": "In ORIGINAL concatenation order take EVERY prefix/next-child word concatenation and discard only excessive length.If total length<=m,every factor length<=m,so truncation loses no allowed combination."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回查原始資料、操作數、完整範圍與本步前提；有限見證、條件式定理引用與形式證明分開。",
          "en": "Reverse-check original data,operands,complete scope and premises;finite witnesses,conditional theorem use and formal proof remain distinct."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S024",
      "uses": [
        "G001",
        "S023"
      ],
      "before": "source roles = [Regex boundary RIGHT.language.concat[1], symbol, {'type': 'symbol', 'value': 'b'}, 4]",
      "after": "derived = [[[b]]]",
      "relation": "implies",
      "rule_id": "Regex_atomic_language_EMPTY_versus_EPS_versus_literal_symbol",
      "conditions": [],
      "explanation": {
        "zh-Hant": "empty-language無任何word；epsilon有唯一空word；symbol有其一個token，受查詢長度界限制。word是token array，不以字串split改變alphabet語義。",
        "en": "The empty language has no words;epsilon has the single empty word;a symbol has its one token within the queried length bound.Words are token arrays,not reinterpreted character splits."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回查原始資料、操作數、完整範圍與本步前提；有限見證、條件式定理引用與形式證明分開。",
          "en": "Reverse-check original data,operands,complete scope and premises;finite witnesses,conditional theorem use and formal proof remain distinct."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S025",
      "uses": [
        "G001",
        "S024"
      ],
      "before": "source roles = [Regex boundary RIGHT.language, 1, 4, [[c]], [[b]]]",
      "after": "derived = [[[c, b]]]",
      "relation": "implies",
      "rule_id": "Regex_EACH_ordered_concatenation_complete_cartesian_word_products",
      "conditions": [],
      "explanation": {
        "zh-Hant": "依原concat次序取全部prefix×下一child之word concatenations；只截去過長word。總長<=m時各片段長亦<=m，所以不會因截斷漏掉合法組合。",
        "en": "In ORIGINAL concatenation order take EVERY prefix/next-child word concatenation and discard only excessive length.If total length<=m,every factor length<=m,so truncation loses no allowed combination."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回查原始資料、操作數、完整範圍與本步前提；有限見證、條件式定理引用與形式證明分開。",
          "en": "Reverse-check original data,operands,complete scope and premises;finite witnesses,conditional theorem use and formal proof remain distinct."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S026",
      "uses": [
        "G001",
        "S025"
      ],
      "before": "source roles = [Regex boundary RIGHT.language.concat[2], symbol, {'type': 'symbol', 'value': 'b'}, 4]",
      "after": "derived = [[[b]]]",
      "relation": "implies",
      "rule_id": "Regex_atomic_language_EMPTY_versus_EPS_versus_literal_symbol",
      "conditions": [],
      "explanation": {
        "zh-Hant": "empty-language無任何word；epsilon有唯一空word；symbol有其一個token，受查詢長度界限制。word是token array，不以字串split改變alphabet語義。",
        "en": "The empty language has no words;epsilon has the single empty word;a symbol has its one token within the queried length bound.Words are token arrays,not reinterpreted character splits."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回查原始資料、操作數、完整範圍與本步前提；有限見證、條件式定理引用與形式證明分開。",
          "en": "Reverse-check original data,operands,complete scope and premises;finite witnesses,conditional theorem use and formal proof remain distinct."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S027",
      "uses": [
        "G001",
        "S026"
      ],
      "before": "source roles = [Regex boundary RIGHT.language, 2, 4, [[c, b]], [[b]]]",
      "after": "derived = [[[c, b, b]]]",
      "relation": "implies",
      "rule_id": "Regex_EACH_ordered_concatenation_complete_cartesian_word_products",
      "conditions": [],
      "explanation": {
        "zh-Hant": "依原concat次序取全部prefix×下一child之word concatenations；只截去過長word。總長<=m時各片段長亦<=m，所以不會因截斷漏掉合法組合。",
        "en": "In ORIGINAL concatenation order take EVERY prefix/next-child word concatenation and discard only excessive length.If total length<=m,every factor length<=m,so truncation loses no allowed combination."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回查原始資料、操作數、完整範圍與本步前提；有限見證、條件式定理引用與形式證明分開。",
          "en": "Reverse-check original data,operands,complete scope and premises;finite witnesses,conditional theorem use and formal proof remain distinct."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S028",
      "uses": [
        "G001",
        "S027"
      ],
      "before": "source roles = [Regex boundary RIGHT.language.concat[3], symbol, {'type': 'symbol', 'value': 'b'}, 4]",
      "after": "derived = [[[b]]]",
      "relation": "implies",
      "rule_id": "Regex_atomic_language_EMPTY_versus_EPS_versus_literal_symbol",
      "conditions": [],
      "explanation": {
        "zh-Hant": "empty-language無任何word；epsilon有唯一空word；symbol有其一個token，受查詢長度界限制。word是token array，不以字串split改變alphabet語義。",
        "en": "The empty language has no words;epsilon has the single empty word;a symbol has its one token within the queried length bound.Words are token arrays,not reinterpreted character splits."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回查原始資料、操作數、完整範圍與本步前提；有限見證、條件式定理引用與形式證明分開。",
          "en": "Reverse-check original data,operands,complete scope and premises;finite witnesses,conditional theorem use and formal proof remain distinct."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S029",
      "uses": [
        "G001",
        "S028"
      ],
      "before": "source roles = [Regex boundary RIGHT.language, 3, 4, [[c, b, b]], [[b]]]",
      "after": "derived = [[[c, b, b, b]]]",
      "relation": "implies",
      "rule_id": "Regex_EACH_ordered_concatenation_complete_cartesian_word_products",
      "conditions": [],
      "explanation": {
        "zh-Hant": "依原concat次序取全部prefix×下一child之word concatenations；只截去過長word。總長<=m時各片段長亦<=m，所以不會因截斷漏掉合法組合。",
        "en": "In ORIGINAL concatenation order take EVERY prefix/next-child word concatenation and discard only excessive length.If total length<=m,every factor length<=m,so truncation loses no allowed combination."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回查原始資料、操作數、完整範圍與本步前提；有限見證、條件式定理引用與形式證明分開。",
          "en": "Reverse-check original data,operands,complete scope and premises;finite witnesses,conditional theorem use and formal proof remain distinct."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S030",
      "uses": [
        "G001",
        "S029"
      ],
      "before": "source roles = [{'type': 'concat', 'children': [{'type': 'symbol', 'value': 'b'}, {'type': 'symbol', 'value': 'b'}, {'type': 'symbol', 'value': 'b'}, {'type': 'symbol', 'value': 'c'}]}, {'type': 'concat', 'children': [{'type': 'symbol', 'value': 'c'}, {'type': 'symbol', 'value': 'b'}, {'type': 'symbol', 'value': 'b'}, {'type': 'symbol', 'value': 'b'}]}, 4]",
      "after": "derived = [[[b, b, b, c]], [[c, b, b, b]], 否, 否]",
      "relation": "implies",
      "rule_id": "Regex_ACTUAL_ordered_concat_language_difference",
      "conditions": [],
      "explanation": {
        "zh-Hant": "concat次序是語義的一部分；這兩個完整bounded languages實際不同，不把concat誤當可交換union。",
        "en": "Concatenation order is semantic.These complete bounded languages actually differ;concatenation is not a commutative union."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "回查原始資料、操作數、完整範圍與本步前提；有限見證、條件式定理引用與形式證明分開。",
          "en": "Reverse-check original data,operands,complete scope and premises;finite witnesses,conditional theorem use and formal proof remain distinct."
        }
      },
      "arithmetic": null
    }
  ],
  "math_model": {
    "result": [
      "concat_order",
      {
        "type": "concat",
        "children": [
          {
            "type": "symbol",
            "value": "b"
          },
          {
            "type": "symbol",
            "value": "b"
          },
          {
            "type": "symbol",
            "value": "b"
          },
          {
            "type": "symbol",
            "value": "c"
          }
        ]
      },
      {
        "type": "concat",
        "children": [
          {
            "type": "symbol",
            "value": "c"
          },
          {
            "type": "symbol",
            "value": "b"
          },
          {
            "type": "symbol",
            "value": "b"
          },
          {
            "type": "symbol",
            "value": "b"
          }
        ]
      },
      [
        [
          "b",
          "b",
          "b",
          "c"
        ]
      ],
      [
        [
          "c",
          "b",
          "b",
          "b"
        ]
      ],
      false,
      false,
      "concatenation_order_is_semantic"
    ]
  },
  "conclusion": {
    "canonical_value": "(concat_order, {children:[{type:\"symbol\",value:\"b\"},{type:\"symbol\",value:\"b\"},{type:\"symbol\",value:\"b\"},{type:\"symbol\",value:\"c\"}],type:\"concat\"}, {children:[{type:\"symbol\",value:\"c\"},{type:\"symbol\",value:\"b\"},{type:\"symbol\",value:\"b\"},{type:\"symbol\",value:\"b\"}],type:\"concat\"}, [[b, b, b, c]], [[c, b, b, b]], 否, 否, concatenation_order_is_semantic)",
    "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-20261015-advance-20261118-r06-regular-expression-foundations",
      "batch_path": "public/data/questions/batches/batch-20261015-advance-20261118-r06-regular-expression-foundations/questions.jsonl",
      "batch_sha256": "b5a9bdb4921ed6644e4166cdf8195037033c5a94e7c2372abaf5f100e2ec370d",
      "original_line": 100,
      "original_line_sha256": "d2a379434288f22f58ab7824f229207c35b22425a24949515aa02044dba29bad",
      "question_compact_sha256": "8e382761a2a57f1742476a3bdc446e36781ce8c62ea9c22d81dfac32019f6a95",
      "english_row_compact_sha256": "759a0e467fd0f857690a659fafb1857f2e6a665807ab4f71df00cab7ea5039b5",
      "english_manifest_path": "public/data/i18n/editions/batch-20261015-advance-20261118-r06-regular-expression-foundations.en.json",
      "english_rows_path": "public/data/i18n/questions/batch-20261015-advance-20261118-r06-regular-expression-foundations.en.jsonl"
    },
    "mko_bindings": {
      "mko-regular-expression": {
        "sha256": "0d4eaa52f48c71240a6e4166e4f1a4ddb3b607f21c102c49d944833b87583695",
        "english_sha256": "22c20144ec938506d8fa94ef6bff9ebea017c5799c2428a541f7b478c7e8182e",
        "original_path": "public/data/mko/regular-expression.json",
        "english_path": "public/data/i18n/editions/mko-regular-expression.en.json"
      }
    },
    "selected_manifest_sha256": "5233edba9654a6cffd8b6b2d83c932f82ded15f9c0b7c733bd049943e672acff",
    "selected_part_sha256": "ad40cc18f9292c43924a7679f3af46574a5284aa5447f5f7f78a0de98840acb8",
    "original_candidate_sha256": "8b4b06ede659eecee559b5e8491e7b9e00fa0da342e78bf25f54fb46023caeef",
    "original_candidate_line_sha256": "8b4b06ede659eecee559b5e8491e7b9e00fa0da342e78bf25f54fb46023caeef"
  },
  "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-010-p55",
    "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": "0a76d8e93c08bb16998a0483f3dfc0504f269fc3e1982e6cd868cab0a2856d54",
      "question_first_witness_sha256": "09127b736c225714dfa0b7ceb0e6a6e66df27438b480cad8217d3c2f99ce9437"
    },
    "status": "second_context_reviewed",
    "mathematical_semantics": true,
    "bilingual_semantics": true,
    "steps_reviewed": 30,
    "method": "family_template_semantic_review_plus_independent_per_instance_reconstruction",
    "exact_question_first_check": {
      "model_sha256": "604f2229e50b31ca5135c77d521c4ca15e773b34a203d472d134a5e6ce094ef9",
      "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."
  }
}
