# 第 23955 題：NFA到DFA的子集合構造

[返回所在分頁 120](https://ocme.evemisslab.com/zh-Hant/questions/page/120/)

[← 逐題詳解目錄](https://ocme.evemisslab.com/zh-Hant/questions/) · [原題批次](https://ocme.evemisslab.com/zh-Hant/practice/batch-20261014-advance-20261112-r07-subset-construction-nfa-to-dfa-foundations/#q-20261014-advance-20261112-r07-subset-construction-nfa-to-dfa-0080)

本頁是已完成第二對話 AI 數理與中英語義覆核的教學詳解，只支持本題明示的模型與前提。沒有人工審查或新 Lean 證明，也不提升原題或 MKO 的 Canonical 真值狀態。

R0046-23955 · q-20261014-advance-20261112-r07-subset-construction-nfa-to-dfa-0080



## 原題與已知條件

epsilon-closed start、move後closure與accepting-subset交集規則。操作=subsetdfa-full-word-trace-invariant；資料={"states":["s4","m4","f4","e14","e24","d4"],"alphabet":["a4","b4"],"start_state":"s4","final_states":["f4"],"transitions":[["s4",null,"m4"],["s4",null,"d4"],["m4","a4","m4"],["m4","b4","f4"],["f4",null,"e14"],["e14",null,"e24"]],"input":["b4"]}。請依 exact_ordered_tuple_declared_by_interface 欄序回答。


- G001 — epsilon-closed start、move後closure與accepting-subset交集規則。操作=subsetdfa-full-word-trace-invariant；資料={"states":["s4","m4","f4","e14","e24","d4"],"alphabet":["a4","b4"],"start_state":"s4","final_states":["f4"],"transitions":[["s4",null,"m4"],["s4",null,"d4"],["m4","a4","m4"],["m4","b4","f4"],["f4",null,"e14"],["e14",null,"e24"]],"input":["b4"]}。請依 exact_ordered_tuple_declared_by_interface 欄序回答。





## 定義與適用範圍

沿用原題明示的論域、假設與來源 MKO 定義。本題已完成第二對話數理與中英語義覆核，並由原始參數逐題獨立重算模型、答案與每個算術步驟；原題仍為 candidate。


- [mko-subset-construction-nfa-to-dfa](https://ocme.evemisslab.com/zh-Hant/mko/mko-subset-construction-nfa-to-dfa/)





## 逐步推導

S001 · implies操作前

source operation=subsetdfa-full-word-trace-invariant;original snapshot and mathematics retained

操作後

explicit ordered source output fields=[input, DFA_prefix_subsets, direct_NFA_prefix_subsets, prefix_invariant, accepted, certificate, finite_tests_language_equivalence_claim, boundary]

條件：無

保留原題介面快照，本頁直接列來源欄序，不需JavaScript。radius由原mode選6／11欄，不補欄；No與實際否定依來源責任分清。

步驟識別與依賴規則：source_ordered_interface_explicit_without_javascript · 依賴：G001





S002 · implies操作前

ORIGINAL states=[s4, m4, f4, e14, e24, d4],alphabet=[a4, b4],start=s4;ORIGINAL transition order=[[s4, null, m4], [s4, null, d4], [m4, a4, m4], [m4, b4, f4], [f4, null, e14], [e14, null, e24]]

操作後

final set normalized UTF16=[f4];states nonempty,alphabet/finals/relation MAYEMPTY;DUPLICATE triples rejected in THIS model

條件：無

此題與前一NFA節點不同：transition triple須唯一，finals須排序。所有subset都是真carrier子集合；不偷用舊wrapper的duplicate／final-order慣例。

步驟識別與依賴規則：subsetdfa_qualified_NFA_signature_DUPLICATE_edges_REJECTED_here · 依賴：G001, S001





S003 · implies操作前

Subset DFA ORIGINAL whole-word start:stage=0;seed set=[s4];previous set=[s4]

操作後

ALL [ORIGINAL edge index,from,to,enabled] EPS rows=[[0, s4, m4, 是], [1, s4, d4, 是], [4, f4, e14, 否], [5, e14, e24, 否]];next set=[d4, m4, s4];stable=否

條件：無

新增state都有前一層有限EPS路徑，任何含seed的EPS封閉集合都必含每層；有限states使飽和終止，得到完整且最小closure，不消耗input。

步驟識別與依賴規則：subsetdfa_ALL_EPS_fixedpoint_reachability_not_input_consumption · 依賴：G001, S002





S004 · implies操作前

Subset DFA ORIGINAL whole-word start:stage=1;seed set=[s4];previous set=[d4, m4, s4]

操作後

ALL [ORIGINAL edge index,from,to,enabled] EPS rows=[[0, s4, m4, 是], [1, s4, d4, 是], [4, f4, e14, 否], [5, e14, e24, 否]];next set=[d4, m4, s4];stable=是

條件：無

新增state都有前一層有限EPS路徑，任何含seed的EPS封閉集合都必含每層；有限states使飽和終止，得到完整且最小closure，不消耗input。

步驟識別與依賴規則：subsetdfa_ALL_EPS_fixedpoint_reachability_not_input_consumption · 依賴：G001, S003





S005 · implies操作前

Subset DFA ORIGINAL prefix step0:EXACT ORIGINAL supplied S=[d4, m4, s4];symbol=b4;ALL matching ORIGINAL edge rows=[[3, m4, f4]]

操作後

direct symbol targets=[f4];NO EPS preclosure inserted into S;now close ONLY these targets

條件：無

任意給定S未必已EPS-closed，先preclose會改本題運算；定義明示先move(S,a)再closure。empty move得到合法empty dead state。

步驟識別與依賴規則：subsetdfa_GIVEN_S_symbol_move_BEFORE_closure_NO_preclose · 依賴：G001, S004





S006 · implies操作前

Subset DFA ORIGINAL prefix step0 post-symbol EPS closure:stage=0;seed set=[f4];previous set=[f4]

操作後

ALL [ORIGINAL edge index,from,to,enabled] EPS rows=[[0, s4, m4, 否], [1, s4, d4, 否], [4, f4, e14, 是], [5, e14, e24, 否]];next set=[e14, f4];stable=否

條件：無

新增state都有前一層有限EPS路徑，任何含seed的EPS封閉集合都必含每層；有限states使飽和終止，得到完整且最小closure，不消耗input。

步驟識別與依賴規則：subsetdfa_ALL_EPS_fixedpoint_reachability_not_input_consumption · 依賴：G001, S005





S007 · implies操作前

Subset DFA ORIGINAL prefix step0 post-symbol EPS closure:stage=1;seed set=[f4];previous set=[e14, f4]

操作後

ALL [ORIGINAL edge index,from,to,enabled] EPS rows=[[0, s4, m4, 否], [1, s4, d4, 否], [4, f4, e14, 是], [5, e14, e24, 是]];next set=[e14, e24, f4];stable=否

條件：無

新增state都有前一層有限EPS路徑，任何含seed的EPS封閉集合都必含每層；有限states使飽和終止，得到完整且最小closure，不消耗input。

步驟識別與依賴規則：subsetdfa_ALL_EPS_fixedpoint_reachability_not_input_consumption · 依賴：G001, S006





S008 · implies操作前

Subset DFA ORIGINAL prefix step0 post-symbol EPS closure:stage=2;seed set=[f4];previous set=[e14, e24, f4]

操作後

ALL [ORIGINAL edge index,from,to,enabled] EPS rows=[[0, s4, m4, 否], [1, s4, d4, 否], [4, f4, e14, 是], [5, e14, e24, 是]];next set=[e14, e24, f4];stable=是

條件：無

新增state都有前一層有限EPS路徑，任何含seed的EPS封閉集合都必含每層；有限states使飽和終止，得到完整且最小closure，不消耗input。

步驟識別與依賴規則：subsetdfa_ALL_EPS_fixedpoint_reachability_not_input_consumption · 依賴：G001, S007





S009 · implies操作前

ORIGINAL word=[b4];direct NFA configuration stage=0;previous configs=[[s4, 0]]

操作後

ALL enabled [from,ORIGINAL edge index,next] rows=[[[s4, 0], 0, [m4, 0]], [[s4, 0], 1, [d4, 0]]];next configs=[[s4, 0], [m4, 0], [d4, 0]];stable=否

條件：無

這條直接路徑在完整finite state×input-position圖上求所有reachable，不把一條chosen run當成全狀態，也不把DFA同一函式重跑冒充不同觀察。

步驟識別與依賴規則：subsetdfa_DIRECT_all_NFA_word_configurations_independent_fixedpoint · 依賴：G001, S008





S010 · implies操作前

ORIGINAL word=[b4];direct NFA configuration stage=1;previous configs=[[s4, 0], [m4, 0], [d4, 0]]

操作後

ALL enabled [from,ORIGINAL edge index,next] rows=[[[s4, 0], 0, [m4, 0]], [[s4, 0], 1, [d4, 0]], [[m4, 0], 3, [f4, 1]]];next configs=[[s4, 0], [m4, 0], [d4, 0], [f4, 1]];stable=否

條件：無

這條直接路徑在完整finite state×input-position圖上求所有reachable，不把一條chosen run當成全狀態，也不把DFA同一函式重跑冒充不同觀察。

步驟識別與依賴規則：subsetdfa_DIRECT_all_NFA_word_configurations_independent_fixedpoint · 依賴：G001, S009





S011 · implies操作前

ORIGINAL word=[b4];direct NFA configuration stage=2;previous configs=[[s4, 0], [m4, 0], [d4, 0], [f4, 1]]

操作後

ALL enabled [from,ORIGINAL edge index,next] rows=[[[s4, 0], 0, [m4, 0]], [[s4, 0], 1, [d4, 0]], [[m4, 0], 3, [f4, 1]], [[f4, 1], 4, [e14, 1]]];next configs=[[s4, 0], [m4, 0], [d4, 0], [f4, 1], [e14, 1]];stable=否

條件：無

這條直接路徑在完整finite state×input-position圖上求所有reachable，不把一條chosen run當成全狀態，也不把DFA同一函式重跑冒充不同觀察。

步驟識別與依賴規則：subsetdfa_DIRECT_all_NFA_word_configurations_independent_fixedpoint · 依賴：G001, S010





S012 · implies操作前

ORIGINAL word=[b4];direct NFA configuration stage=3;previous configs=[[s4, 0], [m4, 0], [d4, 0], [f4, 1], [e14, 1]]

操作後

ALL enabled [from,ORIGINAL edge index,next] rows=[[[s4, 0], 0, [m4, 0]], [[s4, 0], 1, [d4, 0]], [[m4, 0], 3, [f4, 1]], [[f4, 1], 4, [e14, 1]], [[e14, 1], 5, [e24, 1]]];next configs=[[s4, 0], [m4, 0], [d4, 0], [f4, 1], [e14, 1], [e24, 1]];stable=否

條件：無

這條直接路徑在完整finite state×input-position圖上求所有reachable，不把一條chosen run當成全狀態，也不把DFA同一函式重跑冒充不同觀察。

步驟識別與依賴規則：subsetdfa_DIRECT_all_NFA_word_configurations_independent_fixedpoint · 依賴：G001, S011





S013 · implies操作前

ORIGINAL word=[b4];direct NFA configuration stage=4;previous configs=[[s4, 0], [m4, 0], [d4, 0], [f4, 1], [e14, 1], [e24, 1]]

操作後

ALL enabled [from,ORIGINAL edge index,next] rows=[[[s4, 0], 0, [m4, 0]], [[s4, 0], 1, [d4, 0]], [[m4, 0], 3, [f4, 1]], [[f4, 1], 4, [e14, 1]], [[e14, 1], 5, [e24, 1]]];next configs=[[s4, 0], [m4, 0], [d4, 0], [f4, 1], [e14, 1], [e24, 1]];stable=是

條件：無

這條直接路徑在完整finite state×input-position圖上求所有reachable，不把一條chosen run當成全狀態，也不把DFA同一函式重跑冒充不同觀察。

步驟識別與依賴規則：subsetdfa_DIRECT_all_NFA_word_configurations_independent_fixedpoint · 依賴：G001, S012





S014 · implies操作前

ORIGINAL word=[b4];ALL DFA prefix subsets=[[d4, m4, s4], [e14, e24, f4]];independent direct NFA prefix subsets=[[d4, m4, s4], [e14, e24, f4]]

操作後

prefix_invariant=是;accepted=是;base is EPS closure of start;for ANY prefix,append one symbol move then finite EPS suffix to obtain EXACTLY all next reachable states

條件：無

一般等價要對任意prefix歸納並證兩個包含：DFA步驟有NFA路徑見證；任一多讀一字的NFA路徑可切成前prefix、symbol邊、EPS後綴。再以與final交非空對應存在完整接受run。最後固定No只拒絕由有限word tests單獨宣稱一般等價，不否定本invariant、accepted或一般定理。

步驟識別與依賴規則：subsetdfa_GENERAL_arbitrary_prefix_two_inclusions_acceptance_rule · 依賴：G001, S013









## 逐步反向核對


- S014 · premise_and_result_audit — 回到原始資料與本步條件核對，不把單向推論誤稱等價。
- S013 · premise_and_result_audit — 回到原始資料與本步條件核對，不把單向推論誤稱等價。
- S012 · premise_and_result_audit — 回到原始資料與本步條件核對，不把單向推論誤稱等價。
- S011 · premise_and_result_audit — 回到原始資料與本步條件核對，不把單向推論誤稱等價。
- S010 · premise_and_result_audit — 回到原始資料與本步條件核對，不把單向推論誤稱等價。
- S009 · premise_and_result_audit — 回到原始資料與本步條件核對，不把單向推論誤稱等價。
- S008 · premise_and_result_audit — 回到原始資料與本步條件核對，不把單向推論誤稱等價。
- S007 · premise_and_result_audit — 回到原始資料與本步條件核對，不把單向推論誤稱等價。
- S006 · premise_and_result_audit — 回到原始資料與本步條件核對，不把單向推論誤稱等價。
- S005 · premise_and_result_audit — 回到原始資料與本步條件核對，不把單向推論誤稱等價。
- S004 · premise_and_result_audit — 回到原始資料與本步條件核對，不把單向推論誤稱等價。
- S003 · premise_and_result_audit — 回到原始資料與本步條件核對，不把單向推論誤稱等價。
- S002 · premise_and_result_audit — 回到原始資料與本步條件核對，不把單向推論誤稱等價。
- S001 · premise_and_result_audit — 回到原始資料與本步條件核對，不把單向推論誤稱等價。





## 結論

([b4], [[d4, m4, s4], [e14, e24, f4]], [[d4, m4, s4], [e14, e24, f4]], 是, 是, each_DFA_prefix_subset_equals_all_epsilon_closed_NFA_states_reachable_after_that_prefix, 否, finite_word_tests_do_not_prove_language_equivalence_without_the_prefix_induction_invariant)

依上列完整代值及條件核對得到原題答案；原題編號、格式與狀態保持不變。





## 本題覆核與來源綁定

覆核日期：2026-10-26

原題、答案、步驟表達式、數值 AST 與既有歷史保持原樣；原來的候選狀態屬於來源歷史，不覆寫為形式化證明。

來源雜湊與覆核憑證
- input commit: 0f7be61e2c22317a4075561dc822c87d881a50db
- original question SHA-256: f52fd87d48644a79aa103cd1d0b898934298829d656aa637700fe3d8269f8c35
- candidate record SHA-256: 0b32aa47090174e445b93effdee4c4e8779c26423006a3d04afcd740f60570d3
- semantic review receipt SHA-256: a7c0d888ade6d307703c4222c4137c78c0d2448babdcba2fa3446fe6fdd343c1
- question-first witness SHA-256: c9571f97a37d503ad6a61034cc00108543a05c37ef246d1c4962f55136a3de02
- Lean: NOT_RUN · human review: NOT_PERFORMED

[同源完整 JSON](https://ocme.evemisslab.com/data/question-derivations/questions/q-20261014-advance-20261112-r07-subset-construction-nfa-to-dfa-0080.json)




