逐步推導
S001 · implies
操作前
source roles = [regex-boundary]
操作後
derived = [[mode, left_AST, right_AST, left_bounded_language, right_bounded_language, bounded_languages_equal, order_irrelevance_claim, boundary]]
條件:無
直接明列此操作與mode完整欄序,不依JavaScript、不由答案形狀猜角色;布林、字串、null與未作聲稱保持不同。
步驟識別與依賴
規則:source_ordered_fields_without_JS · 依賴:G001
S002 · implies
操作前
source roles = [Regex boundary LEFT.ast.children[0], [a, b, c], {'type': 'symbol', 'value': 'b'}]操作後
derived = [{'type': 'symbol', 'value': 'b'}, {type:"symbol",value:"b"}]條件:無
逐node檢type、exact keys與symbol membership。union在raw至少兩child之後才extensional去重(canonical可剩一child);concat保原順序,star保child。不把canonical結果當raw再多加arity限制。
步驟識別與依賴
規則:Regex_EACH_typed_node_exact_keys_symbol_scope_union_set_concat_order · 依賴:G001, S001
S003 · implies
操作前
source roles = [Regex boundary LEFT.ast.children[1], [a, b, c], {'type': 'symbol', 'value': 'b'}]操作後
derived = [{'type': 'symbol', 'value': 'b'}, {type:"symbol",value:"b"}]條件:無
逐node檢type、exact keys與symbol membership。union在raw至少兩child之後才extensional去重(canonical可剩一child);concat保原順序,star保child。不把canonical結果當raw再多加arity限制。
步驟識別與依賴
規則:Regex_EACH_typed_node_exact_keys_symbol_scope_union_set_concat_order · 依賴:G001, S002
S004 · implies
操作前
source roles = [Regex boundary LEFT.ast.children[2], [a, b, c], {'type': 'symbol', 'value': 'c'}]操作後
derived = [{'type': 'symbol', 'value': 'c'}, {type:"symbol",value:"c"}]條件:無
逐node檢type、exact keys與symbol membership。union在raw至少兩child之後才extensional去重(canonical可剩一child);concat保原順序,star保child。不把canonical結果當raw再多加arity限制。
步驟識別與依賴
規則:Regex_EACH_typed_node_exact_keys_symbol_scope_union_set_concat_order · 依賴:G001, S003
S005 · implies
操作前
source roles = [Regex boundary LEFT.ast, [a, b, c], {'type': 'concat', 'children': [{'type': 'symbol', 'value': 'b'}, {'type': 'symbol', 'value': 'b'}, {'type': 'symbol', 'value': 'c'}]}]操作後
derived = [{'type': 'concat', 'children': [{'type': 'symbol', 'value': 'b'}, {'type': 'symbol', 'value': 'b'}, {'type': 'symbol', 'value': 'c'}]}, {children:[{type:"symbol",value:"b"},{type:"symbol",value:"b"},{type:"symbol",value:"c"}],type:"concat"}]條件:無
逐node檢type、exact keys與symbol membership。union在raw至少兩child之後才extensional去重(canonical可剩一child);concat保原順序,star保child。不把canonical結果當raw再多加arity限制。
步驟識別與依賴
規則:Regex_EACH_typed_node_exact_keys_symbol_scope_union_set_concat_order · 依賴:G001, S004
S006 · implies
操作前
source roles = [[a, b, c], 3]
操作後
derived = [40]
條件:無
界內所有words個數為Σ|alphabet|^k(含epsilon),來源budget至多4096;這限定完整枚舉範圍,不構成unbounded等價證書。
步驟識別與依賴
規則:Regex_COMPLETE_bounded_word_universe_not_unbounded_equivalence · 依賴:G001, S005
S007 · implies
操作前
source roles = [Regex boundary LEFT.language.concat[0], symbol, {'type': 'symbol', 'value': 'b'}, 3]操作後
derived = [[[b]]]
條件:無
empty-language無任何word;epsilon有唯一空word;symbol有其一個token,受查詢長度界限制。word是token array,不以字串split改變alphabet語義。
步驟識別與依賴
規則:Regex_atomic_language_EMPTY_versus_EPS_versus_literal_symbol · 依賴:G001, S006
S008 · implies
操作前
source roles = [Regex boundary LEFT.language, 0, 3, [[]], [[b]]]
操作後
derived = [[[b]]]
條件:無
依原concat次序取全部prefix×下一child之word concatenations;只截去過長word。總長<=m時各片段長亦<=m,所以不會因截斷漏掉合法組合。
步驟識別與依賴
規則:Regex_EACH_ordered_concatenation_complete_cartesian_word_products · 依賴:G001, S007
S009 · implies
操作前
source roles = [Regex boundary LEFT.language.concat[1], symbol, {'type': 'symbol', 'value': 'b'}, 3]操作後
derived = [[[b]]]
條件:無
empty-language無任何word;epsilon有唯一空word;symbol有其一個token,受查詢長度界限制。word是token array,不以字串split改變alphabet語義。
步驟識別與依賴
規則:Regex_atomic_language_EMPTY_versus_EPS_versus_literal_symbol · 依賴:G001, S008
S010 · implies
操作前
source roles = [Regex boundary LEFT.language, 1, 3, [[b]], [[b]]]
操作後
derived = [[[b, b]]]
條件:無
依原concat次序取全部prefix×下一child之word concatenations;只截去過長word。總長<=m時各片段長亦<=m,所以不會因截斷漏掉合法組合。
步驟識別與依賴
規則:Regex_EACH_ordered_concatenation_complete_cartesian_word_products · 依賴:G001, S009
S011 · implies
操作前
source roles = [Regex boundary LEFT.language.concat[2], symbol, {'type': 'symbol', 'value': 'c'}, 3]操作後
derived = [[[c]]]
條件:無
empty-language無任何word;epsilon有唯一空word;symbol有其一個token,受查詢長度界限制。word是token array,不以字串split改變alphabet語義。
步驟識別與依賴
規則:Regex_atomic_language_EMPTY_versus_EPS_versus_literal_symbol · 依賴:G001, S010
S012 · implies
操作前
source roles = [Regex boundary LEFT.language, 2, 3, [[b, b]], [[c]]]
操作後
derived = [[[b, b, c]]]
條件:無
依原concat次序取全部prefix×下一child之word concatenations;只截去過長word。總長<=m時各片段長亦<=m,所以不會因截斷漏掉合法組合。
步驟識別與依賴
規則:Regex_EACH_ordered_concatenation_complete_cartesian_word_products · 依賴:G001, S011
S013 · implies
操作前
source roles = [Regex boundary RIGHT.ast.children[0], [a, b, c], {'type': 'symbol', 'value': 'c'}]操作後
derived = [{'type': 'symbol', 'value': 'c'}, {type:"symbol",value:"c"}]條件:無
逐node檢type、exact keys與symbol membership。union在raw至少兩child之後才extensional去重(canonical可剩一child);concat保原順序,star保child。不把canonical結果當raw再多加arity限制。
步驟識別與依賴
規則:Regex_EACH_typed_node_exact_keys_symbol_scope_union_set_concat_order · 依賴:G001, S012
S014 · implies
操作前
source roles = [Regex boundary RIGHT.ast.children[1], [a, b, c], {'type': 'symbol', 'value': 'b'}]操作後
derived = [{'type': 'symbol', 'value': 'b'}, {type:"symbol",value:"b"}]條件:無
逐node檢type、exact keys與symbol membership。union在raw至少兩child之後才extensional去重(canonical可剩一child);concat保原順序,star保child。不把canonical結果當raw再多加arity限制。
步驟識別與依賴
規則:Regex_EACH_typed_node_exact_keys_symbol_scope_union_set_concat_order · 依賴:G001, S013
S015 · implies
操作前
source roles = [Regex boundary RIGHT.ast.children[2], [a, b, c], {'type': 'symbol', 'value': 'b'}]操作後
derived = [{'type': 'symbol', 'value': 'b'}, {type:"symbol",value:"b"}]條件:無
逐node檢type、exact keys與symbol membership。union在raw至少兩child之後才extensional去重(canonical可剩一child);concat保原順序,star保child。不把canonical結果當raw再多加arity限制。
步驟識別與依賴
規則:Regex_EACH_typed_node_exact_keys_symbol_scope_union_set_concat_order · 依賴:G001, S014
S016 · implies
操作前
source roles = [Regex boundary RIGHT.ast, [a, b, c], {'type': 'concat', 'children': [{'type': 'symbol', 'value': 'c'}, {'type': 'symbol', 'value': 'b'}, {'type': 'symbol', 'value': 'b'}]}]操作後
derived = [{'type': 'concat', 'children': [{'type': 'symbol', 'value': 'c'}, {'type': 'symbol', 'value': 'b'}, {'type': 'symbol', 'value': 'b'}]}, {children:[{type:"symbol",value:"c"},{type:"symbol",value:"b"},{type:"symbol",value:"b"}],type:"concat"}]條件:無
逐node檢type、exact keys與symbol membership。union在raw至少兩child之後才extensional去重(canonical可剩一child);concat保原順序,star保child。不把canonical結果當raw再多加arity限制。
步驟識別與依賴
規則:Regex_EACH_typed_node_exact_keys_symbol_scope_union_set_concat_order · 依賴:G001, S015
S017 · implies
操作前
source roles = [[a, b, c], 3]
操作後
derived = [40]
條件:無
界內所有words個數為Σ|alphabet|^k(含epsilon),來源budget至多4096;這限定完整枚舉範圍,不構成unbounded等價證書。
步驟識別與依賴
規則:Regex_COMPLETE_bounded_word_universe_not_unbounded_equivalence · 依賴:G001, S016
S018 · implies
操作前
source roles = [Regex boundary RIGHT.language.concat[0], symbol, {'type': 'symbol', 'value': 'c'}, 3]操作後
derived = [[[c]]]
條件:無
empty-language無任何word;epsilon有唯一空word;symbol有其一個token,受查詢長度界限制。word是token array,不以字串split改變alphabet語義。
步驟識別與依賴
規則:Regex_atomic_language_EMPTY_versus_EPS_versus_literal_symbol · 依賴:G001, S017
S019 · implies
操作前
source roles = [Regex boundary RIGHT.language, 0, 3, [[]], [[c]]]
操作後
derived = [[[c]]]
條件:無
依原concat次序取全部prefix×下一child之word concatenations;只截去過長word。總長<=m時各片段長亦<=m,所以不會因截斷漏掉合法組合。
步驟識別與依賴
規則:Regex_EACH_ordered_concatenation_complete_cartesian_word_products · 依賴:G001, S018
S020 · implies
操作前
source roles = [Regex boundary RIGHT.language.concat[1], symbol, {'type': 'symbol', 'value': 'b'}, 3]操作後
derived = [[[b]]]
條件:無
empty-language無任何word;epsilon有唯一空word;symbol有其一個token,受查詢長度界限制。word是token array,不以字串split改變alphabet語義。
步驟識別與依賴
規則:Regex_atomic_language_EMPTY_versus_EPS_versus_literal_symbol · 依賴:G001, S019
S021 · implies
操作前
source roles = [Regex boundary RIGHT.language, 1, 3, [[c]], [[b]]]
操作後
derived = [[[c, b]]]
條件:無
依原concat次序取全部prefix×下一child之word concatenations;只截去過長word。總長<=m時各片段長亦<=m,所以不會因截斷漏掉合法組合。
步驟識別與依賴
規則:Regex_EACH_ordered_concatenation_complete_cartesian_word_products · 依賴:G001, S020
S022 · implies
操作前
source roles = [Regex boundary RIGHT.language.concat[2], symbol, {'type': 'symbol', 'value': 'b'}, 3]操作後
derived = [[[b]]]
條件:無
empty-language無任何word;epsilon有唯一空word;symbol有其一個token,受查詢長度界限制。word是token array,不以字串split改變alphabet語義。
步驟識別與依賴
規則:Regex_atomic_language_EMPTY_versus_EPS_versus_literal_symbol · 依賴:G001, S021
S023 · implies
操作前
source roles = [Regex boundary RIGHT.language, 2, 3, [[c, b]], [[b]]]
操作後
derived = [[[c, b, b]]]
條件:無
依原concat次序取全部prefix×下一child之word concatenations;只截去過長word。總長<=m時各片段長亦<=m,所以不會因截斷漏掉合法組合。
步驟識別與依賴
規則:Regex_EACH_ordered_concatenation_complete_cartesian_word_products · 依賴:G001, S022
S024 · implies
操作前
source roles = [{'type': 'concat', 'children': [{'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'}]}, 3]操作後
derived = [[[b, b, c]], [[c, b, b]], 否, 否]
條件:無
concat次序是語義的一部分;這兩個完整bounded languages實際不同,不把concat誤當可交換union。
步驟識別與依賴
規則:Regex_ACTUAL_ordered_concat_language_difference · 依賴:G001, S023