# 第 23967 題：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-0092)

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

R0046-23967 · q-20261014-advance-20261112-r07-subset-construction-nfa-to-dfa-0092



## 原題與已知條件

epsilon-closed start、move後closure與accepting-subset交集規則。操作=subsetdfa-full-word-trace-invariant；資料={"states":["s16","m16","f16","e116","e216","d16"],"alphabet":["a16","b16"],"start_state":"s16","final_states":["f16"],"transitions":[["s16",null,"m16"],["s16",null,"d16"],["m16","a16","m16"],["m16","b16","f16"],["f16",null,"e116"],["e116",null,"e216"]],"input":["b16"]}。請依 exact_ordered_tuple_declared_by_interface 欄序回答。


- G001 — epsilon-closed start、move後closure與accepting-subset交集規則。操作=subsetdfa-full-word-trace-invariant；資料={"states":["s16","m16","f16","e116","e216","d16"],"alphabet":["a16","b16"],"start_state":"s16","final_states":["f16"],"transitions":[["s16",null,"m16"],["s16",null,"d16"],["m16","a16","m16"],["m16","b16","f16"],["f16",null,"e116"],["e116",null,"e216"]],"input":["b16"]}。請依 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=[s16, m16, f16, e116, e216, d16],alphabet=[a16, b16],start=s16;ORIGINAL transition order=[[s16, null, m16], [s16, null, d16], [m16, a16, m16], [m16, b16, f16], [f16, null, e116], [e116, null, e216]]

操作後

final set normalized UTF16=[f16];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=[s16];previous set=[s16]

操作後

ALL [ORIGINAL edge index,from,to,enabled] EPS rows=[[0, s16, m16, 是], [1, s16, d16, 是], [4, f16, e116, 否], [5, e116, e216, 否]];next set=[d16, m16, s16];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=[s16];previous set=[d16, m16, s16]

操作後

ALL [ORIGINAL edge index,from,to,enabled] EPS rows=[[0, s16, m16, 是], [1, s16, d16, 是], [4, f16, e116, 否], [5, e116, e216, 否]];next set=[d16, m16, s16];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=[d16, m16, s16];symbol=b16;ALL matching ORIGINAL edge rows=[[3, m16, f16]]

操作後

direct symbol targets=[f16];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=[f16];previous set=[f16]

操作後

ALL [ORIGINAL edge index,from,to,enabled] EPS rows=[[0, s16, m16, 否], [1, s16, d16, 否], [4, f16, e116, 是], [5, e116, e216, 否]];next set=[e116, f16];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=[f16];previous set=[e116, f16]

操作後

ALL [ORIGINAL edge index,from,to,enabled] EPS rows=[[0, s16, m16, 否], [1, s16, d16, 否], [4, f16, e116, 是], [5, e116, e216, 是]];next set=[e116, e216, f16];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=[f16];previous set=[e116, e216, f16]

操作後

ALL [ORIGINAL edge index,from,to,enabled] EPS rows=[[0, s16, m16, 否], [1, s16, d16, 否], [4, f16, e116, 是], [5, e116, e216, 是]];next set=[e116, e216, f16];stable=是

條件：無

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

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





S009 · implies操作前

ORIGINAL word=[b16];direct NFA configuration stage=0;previous configs=[[s16, 0]]

操作後

ALL enabled [from,ORIGINAL edge index,next] rows=[[[s16, 0], 0, [m16, 0]], [[s16, 0], 1, [d16, 0]]];next configs=[[s16, 0], [m16, 0], [d16, 0]];stable=否

條件：無

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

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





S010 · implies操作前

ORIGINAL word=[b16];direct NFA configuration stage=1;previous configs=[[s16, 0], [m16, 0], [d16, 0]]

操作後

ALL enabled [from,ORIGINAL edge index,next] rows=[[[s16, 0], 0, [m16, 0]], [[s16, 0], 1, [d16, 0]], [[m16, 0], 3, [f16, 1]]];next configs=[[s16, 0], [m16, 0], [d16, 0], [f16, 1]];stable=否

條件：無

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

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





S011 · implies操作前

ORIGINAL word=[b16];direct NFA configuration stage=2;previous configs=[[s16, 0], [m16, 0], [d16, 0], [f16, 1]]

操作後

ALL enabled [from,ORIGINAL edge index,next] rows=[[[s16, 0], 0, [m16, 0]], [[s16, 0], 1, [d16, 0]], [[m16, 0], 3, [f16, 1]], [[f16, 1], 4, [e116, 1]]];next configs=[[s16, 0], [m16, 0], [d16, 0], [f16, 1], [e116, 1]];stable=否

條件：無

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

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





S012 · implies操作前

ORIGINAL word=[b16];direct NFA configuration stage=3;previous configs=[[s16, 0], [m16, 0], [d16, 0], [f16, 1], [e116, 1]]

操作後

ALL enabled [from,ORIGINAL edge index,next] rows=[[[s16, 0], 0, [m16, 0]], [[s16, 0], 1, [d16, 0]], [[m16, 0], 3, [f16, 1]], [[f16, 1], 4, [e116, 1]], [[e116, 1], 5, [e216, 1]]];next configs=[[s16, 0], [m16, 0], [d16, 0], [f16, 1], [e116, 1], [e216, 1]];stable=否

條件：無

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

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





S013 · implies操作前

ORIGINAL word=[b16];direct NFA configuration stage=4;previous configs=[[s16, 0], [m16, 0], [d16, 0], [f16, 1], [e116, 1], [e216, 1]]

操作後

ALL enabled [from,ORIGINAL edge index,next] rows=[[[s16, 0], 0, [m16, 0]], [[s16, 0], 1, [d16, 0]], [[m16, 0], 3, [f16, 1]], [[f16, 1], 4, [e116, 1]], [[e116, 1], 5, [e216, 1]]];next configs=[[s16, 0], [m16, 0], [d16, 0], [f16, 1], [e116, 1], [e216, 1]];stable=是

條件：無

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

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





S014 · implies操作前

ORIGINAL word=[b16];ALL DFA prefix subsets=[[d16, m16, s16], [e116, e216, f16]];independent direct NFA prefix subsets=[[d16, m16, s16], [e116, e216, f16]]

操作後

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 — 回到原始資料與本步條件核對，不把單向推論誤稱等價。





## 結論

([b16], [[d16, m16, s16], [e116, e216, f16]], [[d16, m16, s16], [e116, e216, f16]], 是, 是, 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: 2fa7a22bb6b1542fc2ddb01bef8680597d0b450666bad9fd8a335434a9571a04
- candidate record SHA-256: 609e5b1988a9fd7e8b54b42b9c45722666a8ff584f5690080cc9134b63b95437
- 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-0092.json)




