逐步推導
S001 · implies
操作前
source roles = [regex-word-membership]
操作後
derived = [[alphabet, canonical_typed_AST, word, member, accepted_words_at_same_length, membership_scope]]
條件:無
直接明列此操作與mode完整欄序,不依JavaScript、不由答案形狀猜角色;布林、字串、null與未作聲稱保持不同。
步驟識別與依賴
規則:source_ordered_fields_without_JS · 依賴:G001
S002 · implies
操作前
source roles = [Regex ORIGINAL membership.ast.children[0].children[0].children[0].children[0].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 ORIGINAL membership.ast.children[0].children[0].children[0].children[0].children[1], [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, S002
S004 · implies
操作前
source roles = [Regex ORIGINAL membership.ast.children[0].children[0].children[0].children[0].children[2], [a, b, c], {'type': 'symbol', 'value': 'a'}]操作後
derived = [{'type': 'symbol', 'value': 'a'}, {type:"symbol",value:"a"}]條件:無
逐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 ORIGINAL membership.ast.children[0].children[0].children[0].children[0], [a, b, c], {'type': 'concat', 'children': [{'type': 'symbol', 'value': 'b'}, {'type': 'symbol', 'value': 'c'}, {'type': 'symbol', 'value': 'a'}]}]操作後
derived = [{'type': 'concat', 'children': [{'type': 'symbol', 'value': 'b'}, {'type': 'symbol', 'value': 'c'}, {'type': 'symbol', 'value': 'a'}]}, {children:[{type:"symbol",value:"b"},{type:"symbol",value:"c"},{type:"symbol",value:"a"}],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 = [Regex ORIGINAL membership.ast.children[0].children[0].children[0].children[1].child, [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, S005
S007 · implies
操作前
source roles = [Regex ORIGINAL membership.ast.children[0].children[0].children[0].children[1], [a, b, c], {'type': 'star', 'child': {'type': 'symbol', 'value': 'c'}}]操作後
derived = [{'type': 'star', 'child': {'type': 'symbol', 'value': 'c'}}, {child:{type:"symbol",value:"c"},type:"star"}]條件:無
逐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, S006
S008 · implies
操作前
source roles = [Regex ORIGINAL membership.ast.children[0].children[0].children[0], [a, b, c], {'type': 'union', 'children': [{'type': 'concat', 'children': [{'type': 'symbol', 'value': 'b'}, {'type': 'symbol', 'value': 'c'}, {'type': 'symbol', 'value': 'a'}]}, {'type': 'star', 'child': {'type': 'symbol', 'value': 'c'}}]}]操作後
derived = [{'type': 'union', 'children': [{'type': 'star', 'child': {'type': 'symbol', 'value': 'c'}}, {'type': 'concat', 'children': [{'type': 'symbol', 'value': 'b'}, {'type': 'symbol', 'value': 'c'}, {'type': 'symbol', 'value': 'a'}]}]}, {children:[{child:{type:"symbol",value:"c"},type:"star"},{children:[{type:"symbol",value:"b"},{type:"symbol",value:"c"},{type:"symbol",value:"a"}],type:"concat"}],type:"union"}]條件:無
逐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, S007
S009 · implies
操作前
source roles = [Regex ORIGINAL membership.ast.children[0].children[0].children[1].child, [a, b, c], {'type': 'symbol', 'value': 'a'}]操作後
derived = [{'type': 'symbol', 'value': 'a'}, {type:"symbol",value:"a"}]條件:無
逐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, S008
S010 · implies
操作前
source roles = [Regex ORIGINAL membership.ast.children[0].children[0].children[1], [a, b, c], {'type': 'star', 'child': {'type': 'symbol', 'value': 'a'}}]操作後
derived = [{'type': 'star', 'child': {'type': 'symbol', 'value': 'a'}}, {child:{type:"symbol",value:"a"},type:"star"}]條件:無
逐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, S009
S011 · implies
操作前
source roles = [Regex ORIGINAL membership.ast.children[0].children[0], [a, b, c], {'type': 'union', 'children': [{'type': 'union', 'children': [{'type': 'concat', 'children': [{'type': 'symbol', 'value': 'b'}, {'type': 'symbol', 'value': 'c'}, {'type': 'symbol', 'value': 'a'}]}, {'type': 'star', 'child': {'type': 'symbol', 'value': 'c'}}]}, {'type': 'star', 'child': {'type': 'symbol', 'value': 'a'}}]}]操作後
derived = [{'type': 'union', 'children': [{'type': 'star', 'child': {'type': 'symbol', 'value': 'a'}}, {'type': 'union', 'children': [{'type': 'star', 'child': {'type': 'symbol', 'value': 'c'}}, {'type': 'concat', 'children': [{'type': 'symbol', 'value': 'b'}, {'type': 'symbol', 'value': 'c'}, {'type': 'symbol', 'value': 'a'}]}]}]}, {children:[{child:{type:"symbol",value:"a"},type:"star"},{children:[{child:{type:"symbol",value:"c"},type:"star"},{children:[{type:"symbol",value:"b"},{type:"symbol",value:"c"},{type:"symbol",value:"a"}],type:"concat"}],type:"union"}],type:"union"}]條件:無
逐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, S010
S012 · implies
操作前
source roles = [Regex ORIGINAL membership.ast.children[0].children[1].child, [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, S011
S013 · implies
操作前
source roles = [Regex ORIGINAL membership.ast.children[0].children[1], [a, b, c], {'type': 'star', 'child': {'type': 'symbol', 'value': 'b'}}]操作後
derived = [{'type': 'star', 'child': {'type': 'symbol', 'value': 'b'}}, {child:{type:"symbol",value:"b"},type:"star"}]條件:無
逐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 ORIGINAL membership.ast.children[0], [a, b, c], {'type': 'union', 'children': [{'type': 'union', 'children': [{'type': 'union', 'children': [{'type': 'concat', 'children': [{'type': 'symbol', 'value': 'b'}, {'type': 'symbol', 'value': 'c'}, {'type': 'symbol', 'value': 'a'}]}, {'type': 'star', 'child': {'type': 'symbol', 'value': 'c'}}]}, {'type': 'star', 'child': {'type': 'symbol', 'value': 'a'}}]}, {'type': 'star', 'child': {'type': 'symbol', 'value': 'b'}}]}]操作後
derived = [{'type': 'union', 'children': [{'type': 'star', 'child': {'type': 'symbol', 'value': 'b'}}, {'type': 'union', 'children': [{'type': 'star', 'child': {'type': 'symbol', 'value': 'a'}}, {'type': 'union', 'children': [{'type': 'star', 'child': {'type': 'symbol', 'value': 'c'}}, {'type': 'concat', 'children': [{'type': 'symbol', 'value': 'b'}, {'type': 'symbol', 'value': 'c'}, {'type': 'symbol', 'value': 'a'}]}]}]}]}, {children:[{child:{type:"symbol",value:"b"},type:"star"},{children:[{child:{type:"symbol",value:"a"},type:"star"},{children:[{child:{type:"symbol",value:"c"},type:"star"},{children:[{type:"symbol",value:"b"},{type:"symbol",value:"c"},{type:"symbol",value:"a"}],type:"concat"}],type:"union"}],type:"union"}],type:"union"}]條件:無
逐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 ORIGINAL membership.ast.children[1].child, [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, S014
S016 · implies
操作前
source roles = [Regex ORIGINAL membership.ast.children[1], [a, b, c], {'type': 'star', 'child': {'type': 'symbol', 'value': 'c'}}]操作後
derived = [{'type': 'star', 'child': {'type': 'symbol', 'value': 'c'}}, {child:{type:"symbol",value:"c"},type:"star"}]條件:無
逐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 = [Regex ORIGINAL membership.ast, [a, b, c], {'type': 'union', 'children': [{'type': 'union', 'children': [{'type': 'union', 'children': [{'type': 'union', 'children': [{'type': 'concat', 'children': [{'type': 'symbol', 'value': 'b'}, {'type': 'symbol', 'value': 'c'}, {'type': 'symbol', 'value': 'a'}]}, {'type': 'star', 'child': {'type': 'symbol', 'value': 'c'}}]}, {'type': 'star', 'child': {'type': 'symbol', 'value': 'a'}}]}, {'type': 'star', 'child': {'type': 'symbol', 'value': 'b'}}]}, {'type': 'star', 'child': {'type': 'symbol', 'value': 'c'}}]}]操作後
derived = [{'type': 'union', 'children': [{'type': 'star', 'child': {'type': 'symbol', 'value': 'c'}}, {'type': 'union', 'children': [{'type': 'star', 'child': {'type': 'symbol', 'value': 'b'}}, {'type': 'union', 'children': [{'type': 'star', 'child': {'type': 'symbol', 'value': 'a'}}, {'type': 'union', 'children': [{'type': 'star', 'child': {'type': 'symbol', 'value': 'c'}}, {'type': 'concat', 'children': [{'type': 'symbol', 'value': 'b'}, {'type': 'symbol', 'value': 'c'}, {'type': 'symbol', 'value': 'a'}]}]}]}]}]}, {children:[{child:{type:"symbol",value:"c"},type:"star"},{children:[{child:{type:"symbol",value:"b"},type:"star"},{children:[{child:{type:"symbol",value:"a"},type:"star"},{children:[{child:{type:"symbol",value:"c"},type:"star"},{children:[{type:"symbol",value:"b"},{type:"symbol",value:"c"},{type:"symbol",value:"a"}],type:"concat"}],type:"union"}],type:"union"}],type:"union"}],type:"union"}]條件:無
逐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, S016
S018 · implies
操作前
source roles = [[a, b, c], 2]
操作後
derived = [13]
條件:無
界內所有words個數為Σ|alphabet|^k(含epsilon),來源budget至多4096;這限定完整枚舉範圍,不構成unbounded等價證書。
步驟識別與依賴
規則:Regex_COMPLETE_bounded_word_universe_not_unbounded_equivalence · 依賴:G001, S017
S019 · implies
操作前
source roles = [Regex ORIGINAL membership.language.union[0].star_base, symbol, {'type': 'symbol', 'value': 'c'}, 2]操作後
derived = [[[c]]]
條件:無
empty-language無任何word;epsilon有唯一空word;symbol有其一個token,受查詢長度界限制。word是token array,不以字串split改變alphabet語義。
步驟識別與依賴
規則:Regex_atomic_language_EMPTY_versus_EPS_versus_literal_symbol · 依賴:G001, S018
S020 · implies
操作前
source roles = [Regex ORIGINAL membership.language.union[0], 2, 0, [[]], [[c]]]
操作後
derived = [[[c]], [[c], []]]
條件:無
從epsilon開始加入全部仍在長度界內的base連乘,只有真正新word進下一frontier。epsilon循環不產生新word;有限alphabet、長度界與4096 budget給有限宇宙,frontier清空才完成,不把任意步數截斷當closure。
步驟識別與依賴
規則:Regex_STAR_each_extensional_frontier_closure_EPS_cycles_terminate · 依賴:G001, S019
S021 · implies
操作前
source roles = [Regex ORIGINAL membership.language.union[0], 2, 1, [[c]], [[c]]]
操作後
derived = [[[c, c]], [[c, c], [c], []]]
條件:無
從epsilon開始加入全部仍在長度界內的base連乘,只有真正新word進下一frontier。epsilon循環不產生新word;有限alphabet、長度界與4096 budget給有限宇宙,frontier清空才完成,不把任意步數截斷當closure。
步驟識別與依賴
規則:Regex_STAR_each_extensional_frontier_closure_EPS_cycles_terminate · 依賴:G001, S020
S022 · implies
操作前
source roles = [Regex ORIGINAL membership.language.union[0], 2, 2, [[c, c]], [[c]]]
操作後
derived = [[], [[c, c], [c], []]]
條件:無
從epsilon開始加入全部仍在長度界內的base連乘,只有真正新word進下一frontier。epsilon循環不產生新word;有限alphabet、長度界與4096 budget給有限宇宙,frontier清空才完成,不把任意步數截斷當closure。
步驟識別與依賴
規則:Regex_STAR_each_extensional_frontier_closure_EPS_cycles_terminate · 依賴:G001, S021
S023 · implies
操作前
source roles = [Regex ORIGINAL membership.language.union[1].union[0].star_base, symbol, {'type': 'symbol', 'value': 'b'}, 2]操作後
derived = [[[b]]]
條件:無
empty-language無任何word;epsilon有唯一空word;symbol有其一個token,受查詢長度界限制。word是token array,不以字串split改變alphabet語義。
步驟識別與依賴
規則:Regex_atomic_language_EMPTY_versus_EPS_versus_literal_symbol · 依賴:G001, S022
S024 · implies
操作前
source roles = [Regex ORIGINAL membership.language.union[1].union[0], 2, 0, [[]], [[b]]]
操作後
derived = [[[b]], [[b], []]]
條件:無
從epsilon開始加入全部仍在長度界內的base連乘,只有真正新word進下一frontier。epsilon循環不產生新word;有限alphabet、長度界與4096 budget給有限宇宙,frontier清空才完成,不把任意步數截斷當closure。
步驟識別與依賴
規則:Regex_STAR_each_extensional_frontier_closure_EPS_cycles_terminate · 依賴:G001, S023
S025 · implies
操作前
source roles = [Regex ORIGINAL membership.language.union[1].union[0], 2, 1, [[b]], [[b]]]
操作後
derived = [[[b, b]], [[b, b], [b], []]]
條件:無
從epsilon開始加入全部仍在長度界內的base連乘,只有真正新word進下一frontier。epsilon循環不產生新word;有限alphabet、長度界與4096 budget給有限宇宙,frontier清空才完成,不把任意步數截斷當closure。
步驟識別與依賴
規則:Regex_STAR_each_extensional_frontier_closure_EPS_cycles_terminate · 依賴:G001, S024
S026 · implies
操作前
source roles = [Regex ORIGINAL membership.language.union[1].union[0], 2, 2, [[b, b]], [[b]]]
操作後
derived = [[], [[b, b], [b], []]]
條件:無
從epsilon開始加入全部仍在長度界內的base連乘,只有真正新word進下一frontier。epsilon循環不產生新word;有限alphabet、長度界與4096 budget給有限宇宙,frontier清空才完成,不把任意步數截斷當closure。
步驟識別與依賴
規則:Regex_STAR_each_extensional_frontier_closure_EPS_cycles_terminate · 依賴:G001, S025
S027 · implies
操作前
source roles = [Regex ORIGINAL membership.language.union[1].union[1].union[0].star_base, symbol, {'type': 'symbol', 'value': 'a'}, 2]操作後
derived = [[[a]]]
條件:無
empty-language無任何word;epsilon有唯一空word;symbol有其一個token,受查詢長度界限制。word是token array,不以字串split改變alphabet語義。
步驟識別與依賴
規則:Regex_atomic_language_EMPTY_versus_EPS_versus_literal_symbol · 依賴:G001, S026
S028 · implies
操作前
source roles = [Regex ORIGINAL membership.language.union[1].union[1].union[0], 2, 0, [[]], [[a]]]
操作後
derived = [[[a]], [[a], []]]
條件:無
從epsilon開始加入全部仍在長度界內的base連乘,只有真正新word進下一frontier。epsilon循環不產生新word;有限alphabet、長度界與4096 budget給有限宇宙,frontier清空才完成,不把任意步數截斷當closure。
步驟識別與依賴
規則:Regex_STAR_each_extensional_frontier_closure_EPS_cycles_terminate · 依賴:G001, S027
S029 · implies
操作前
source roles = [Regex ORIGINAL membership.language.union[1].union[1].union[0], 2, 1, [[a]], [[a]]]
操作後
derived = [[[a, a]], [[a, a], [a], []]]
條件:無
從epsilon開始加入全部仍在長度界內的base連乘,只有真正新word進下一frontier。epsilon循環不產生新word;有限alphabet、長度界與4096 budget給有限宇宙,frontier清空才完成,不把任意步數截斷當closure。
步驟識別與依賴
規則:Regex_STAR_each_extensional_frontier_closure_EPS_cycles_terminate · 依賴:G001, S028
S030 · implies
操作前
source roles = [Regex ORIGINAL membership.language.union[1].union[1].union[0], 2, 2, [[a, a]], [[a]]]
操作後
derived = [[], [[a, a], [a], []]]
條件:無
從epsilon開始加入全部仍在長度界內的base連乘,只有真正新word進下一frontier。epsilon循環不產生新word;有限alphabet、長度界與4096 budget給有限宇宙,frontier清空才完成,不把任意步數截斷當closure。
步驟識別與依賴
規則:Regex_STAR_each_extensional_frontier_closure_EPS_cycles_terminate · 依賴:G001, S029
S031 · implies
操作前
source roles = [Regex ORIGINAL membership.language.union[1].union[1].union[1].union[0].star_base, symbol, {'type': 'symbol', 'value': 'c'}, 2]操作後
derived = [[[c]]]
條件:無
empty-language無任何word;epsilon有唯一空word;symbol有其一個token,受查詢長度界限制。word是token array,不以字串split改變alphabet語義。
步驟識別與依賴
規則:Regex_atomic_language_EMPTY_versus_EPS_versus_literal_symbol · 依賴:G001, S030
S032 · implies
操作前
source roles = [Regex ORIGINAL membership.language.union[1].union[1].union[1].union[0], 2, 0, [[]], [[c]]]
操作後
derived = [[[c]], [[c], []]]
條件:無
從epsilon開始加入全部仍在長度界內的base連乘,只有真正新word進下一frontier。epsilon循環不產生新word;有限alphabet、長度界與4096 budget給有限宇宙,frontier清空才完成,不把任意步數截斷當closure。
步驟識別與依賴
規則:Regex_STAR_each_extensional_frontier_closure_EPS_cycles_terminate · 依賴:G001, S031
S033 · implies
操作前
source roles = [Regex ORIGINAL membership.language.union[1].union[1].union[1].union[0], 2, 1, [[c]], [[c]]]
操作後
derived = [[[c, c]], [[c, c], [c], []]]
條件:無
從epsilon開始加入全部仍在長度界內的base連乘,只有真正新word進下一frontier。epsilon循環不產生新word;有限alphabet、長度界與4096 budget給有限宇宙,frontier清空才完成,不把任意步數截斷當closure。
步驟識別與依賴
規則:Regex_STAR_each_extensional_frontier_closure_EPS_cycles_terminate · 依賴:G001, S032
S034 · implies
操作前
source roles = [Regex ORIGINAL membership.language.union[1].union[1].union[1].union[0], 2, 2, [[c, c]], [[c]]]
操作後
derived = [[], [[c, c], [c], []]]
條件:無
從epsilon開始加入全部仍在長度界內的base連乘,只有真正新word進下一frontier。epsilon循環不產生新word;有限alphabet、長度界與4096 budget給有限宇宙,frontier清空才完成,不把任意步數截斷當closure。
步驟識別與依賴
規則:Regex_STAR_each_extensional_frontier_closure_EPS_cycles_terminate · 依賴:G001, S033
S035 · implies
操作前
source roles = [Regex ORIGINAL membership.language.union[1].union[1].union[1].union[1].concat[0], symbol, {'type': 'symbol', 'value': 'b'}, 2]操作後
derived = [[[b]]]
條件:無
empty-language無任何word;epsilon有唯一空word;symbol有其一個token,受查詢長度界限制。word是token array,不以字串split改變alphabet語義。
步驟識別與依賴
規則:Regex_atomic_language_EMPTY_versus_EPS_versus_literal_symbol · 依賴:G001, S034
S036 · implies
操作前
source roles = [Regex ORIGINAL membership.language.union[1].union[1].union[1].union[1], 0, 2, [[]], [[b]]]
操作後
derived = [[[b]]]
條件:無
依原concat次序取全部prefix×下一child之word concatenations;只截去過長word。總長<=m時各片段長亦<=m,所以不會因截斷漏掉合法組合。
步驟識別與依賴
規則:Regex_EACH_ordered_concatenation_complete_cartesian_word_products · 依賴:G001, S035
S037 · implies
操作前
source roles = [Regex ORIGINAL membership.language.union[1].union[1].union[1].union[1].concat[1], symbol, {'type': 'symbol', 'value': 'c'}, 2]操作後
derived = [[[c]]]
條件:無
empty-language無任何word;epsilon有唯一空word;symbol有其一個token,受查詢長度界限制。word是token array,不以字串split改變alphabet語義。
步驟識別與依賴
規則:Regex_atomic_language_EMPTY_versus_EPS_versus_literal_symbol · 依賴:G001, S036
S038 · implies
操作前
source roles = [Regex ORIGINAL membership.language.union[1].union[1].union[1].union[1], 1, 2, [[b]], [[c]]]
操作後
derived = [[[b, c]]]
條件:無
依原concat次序取全部prefix×下一child之word concatenations;只截去過長word。總長<=m時各片段長亦<=m,所以不會因截斷漏掉合法組合。
步驟識別與依賴
規則:Regex_EACH_ordered_concatenation_complete_cartesian_word_products · 依賴:G001, S037
S039 · implies
操作前
source roles = [Regex ORIGINAL membership.language.union[1].union[1].union[1].union[1].concat[2], symbol, {'type': 'symbol', 'value': 'a'}, 2]操作後
derived = [[[a]]]
條件:無
empty-language無任何word;epsilon有唯一空word;symbol有其一個token,受查詢長度界限制。word是token array,不以字串split改變alphabet語義。
步驟識別與依賴
規則:Regex_atomic_language_EMPTY_versus_EPS_versus_literal_symbol · 依賴:G001, S038
S040 · implies
操作前
source roles = [Regex ORIGINAL membership.language.union[1].union[1].union[1].union[1], 2, 2, [[b, c]], [[a]]]
操作後
derived = [[]]
條件:無
依原concat次序取全部prefix×下一child之word concatenations;只截去過長word。總長<=m時各片段長亦<=m,所以不會因截斷漏掉合法組合。
步驟識別與依賴
規則:Regex_EACH_ordered_concatenation_complete_cartesian_word_products · 依賴:G001, S039
S041 · implies
操作前
source roles = [Regex ORIGINAL membership.language.union[1].union[1].union[1], 2, [[[c, c], [c], []], []]]
操作後
derived = [[[c, c], [c], []]]
條件:無
union收全部child語言,重複word只保一個,且不改symbol次序。結構歸納使每個長度界內word的包含/排除都有完整依據。
步驟識別與依賴
規則:Regex_union_ALL_child_languages_extensional_bound · 依賴:G001, S040
S042 · implies
操作前
source roles = [Regex ORIGINAL membership.language.union[1].union[1], 2, [[[a, a], [a], []], [[c, c], [c], []]]]
操作後
derived = [[[a, a], [a], [c, c], [c], []]]
條件:無
union收全部child語言,重複word只保一個,且不改symbol次序。結構歸納使每個長度界內word的包含/排除都有完整依據。
步驟識別與依賴
規則:Regex_union_ALL_child_languages_extensional_bound · 依賴:G001, S041
S043 · implies
操作前
source roles = [Regex ORIGINAL membership.language.union[1], 2, [[[b, b], [b], []], [[a, a], [a], [c, c], [c], []]]]
操作後
derived = [[[a, a], [a], [b, b], [b], [c, c], [c], []]]
條件:無
union收全部child語言,重複word只保一個,且不改symbol次序。結構歸納使每個長度界內word的包含/排除都有完整依據。
步驟識別與依賴
規則:Regex_union_ALL_child_languages_extensional_bound · 依賴:G001, S042
S044 · implies
操作前
source roles = [Regex ORIGINAL membership.language, 2, [[[c, c], [c], []], [[a, a], [a], [b, b], [b], [c, c], [c], []]]]
操作後
derived = [[[a, a], [a], [b, b], [b], [c, c], [c], []]]
條件:無
union收全部child語言,重複word只保一個,且不改symbol次序。結構歸納使每個長度界內word的包含/排除都有完整依據。
步驟識別與依賴
規則:Regex_union_ALL_child_languages_extensional_bound · 依賴:G001, S043
S045 · implies
操作前
source roles = [[a, b, c], {'type': 'union', 'children': [{'type': 'star', 'child': {'type': 'symbol', 'value': 'c'}}, {'type': 'union', 'children': [{'type': 'star', 'child': {'type': 'symbol', 'value': 'b'}}, {'type': 'union', 'children': [{'type': 'star', 'child': {'type': 'symbol', 'value': 'a'}}, {'type': 'union', 'children': [{'type': 'star', 'child': {'type': 'symbol', 'value': 'c'}}, {'type': 'concat', 'children': [{'type': 'symbol', 'value': 'b'}, {'type': 'symbol', 'value': 'c'}, {'type': 'symbol', 'value': 'a'}]}]}]}]}]}, [b, c], 2]操作後
derived = [否, [[a, a], [b, b], [c, c]]]
條件:無
以完整查詢長度重新計算語言並取該長度全部accepted words;空word與symbol不相同,且不把太短界沒列出當nonmembership。
步驟識別與依賴
規則:Regex_WHOLE_queried_word_exact_membership_complete_same_length_slice · 依賴:G001, S044