R0046-23954 · q-20261014-advance-20261112-r07-subset-construction-nfa-to-dfa-0079
Step-by-step derivation
S001 · implies
Before
source operation=subsetdfa-full-word-trace-invariant;original snapshot and mathematics retained
After
explicit ordered source output fields=[input, DFA_prefix_subsets, direct_NFA_prefix_subsets, prefix_invariant, accepted, certificate, finite_tests_language_equivalence_claim, boundary]
Conditions: none
Keep the source snapshot while listing ordered fields without JavaScript.Radius uses its original mode to select6 or11 fields without padding;distinguish nonclaims from actual negations.
Step identifiers and dependencies
Rule: source_ordered_interface_explicit_without_javascript · Uses: G001
S002 · implies
Before
ORIGINAL states=[s3, m3, f3, e13, e23, d3],alphabet=[a3, b3],start=s3;ORIGINAL transition order=[[s3, null, m3], [s3, null, d3], [m3, a3, m3], [m3, b3, f3], [f3, null, e13], [e13, null, e23]]
After
final set normalized UTF16=[f3];states nonempty,alphabet/finals/relation MAYEMPTY;DUPLICATE triples rejected in THIS model
Conditions: none
This model differs from the earlier NFA node:transition triples are unique and finals are sorted.Subsets must be actual carrier subsets;do not import old duplicate/final-order conventions.
Step identifiers and dependencies
Rule: subsetdfa_qualified_NFA_signature_DUPLICATE_edges_REJECTED_here · Uses: G001, S001
S003 · implies
Before
Subset DFA ORIGINAL whole-word start:stage=0;seed set=[s3];previous set=[s3]
After
ALL [ORIGINAL edge index,from,to,enabled] EPS rows=[[0, s3, m3, Yes], [1, s3, d3, Yes], [4, f3, e13, No], [5, e13, e23, No]];next set=[d3, m3, s3];stable=No
Conditions: none
Each addition has a finite EPS predecessor path;every EPS-closed seed superset contains each stage.Finiteness gives the complete least closure,without consuming input.
Step identifiers and dependencies
Rule: subsetdfa_ALL_EPS_fixedpoint_reachability_not_input_consumption · Uses: G001, S002
S004 · implies
Before
Subset DFA ORIGINAL whole-word start:stage=1;seed set=[s3];previous set=[d3, m3, s3]
After
ALL [ORIGINAL edge index,from,to,enabled] EPS rows=[[0, s3, m3, Yes], [1, s3, d3, Yes], [4, f3, e13, No], [5, e13, e23, No]];next set=[d3, m3, s3];stable=Yes
Conditions: none
Each addition has a finite EPS predecessor path;every EPS-closed seed superset contains each stage.Finiteness gives the complete least closure,without consuming input.
Step identifiers and dependencies
Rule: subsetdfa_ALL_EPS_fixedpoint_reachability_not_input_consumption · Uses: G001, S003
S005 · implies
Before
Subset DFA ORIGINAL prefix step0:EXACT ORIGINAL supplied S=[d3, m3, s3];symbol=a3;ALL matching ORIGINAL edge rows=[[2, m3, m3]]
After
direct symbol targets=[m3];NO EPS preclosure inserted into S;now close ONLY these targets
Conditions: none
An arbitrary supplied S need not be EPS-closed;preclosing it would change this operation.Apply move(S,a) and then close its targets.Empty targets yield the legal empty dead state.
Step identifiers and dependencies
Rule: subsetdfa_GIVEN_S_symbol_move_BEFORE_closure_NO_preclose · Uses: G001, S004
S006 · implies
Before
Subset DFA ORIGINAL prefix step0 post-symbol EPS closure:stage=0;seed set=[m3];previous set=[m3]
After
ALL [ORIGINAL edge index,from,to,enabled] EPS rows=[[0, s3, m3, No], [1, s3, d3, No], [4, f3, e13, No], [5, e13, e23, No]];next set=[m3];stable=Yes
Conditions: none
Each addition has a finite EPS predecessor path;every EPS-closed seed superset contains each stage.Finiteness gives the complete least closure,without consuming input.
Step identifiers and dependencies
Rule: subsetdfa_ALL_EPS_fixedpoint_reachability_not_input_consumption · Uses: G001, S005
S007 · implies
Before
Subset DFA ORIGINAL prefix step1:EXACT ORIGINAL supplied S=[m3];symbol=a3;ALL matching ORIGINAL edge rows=[[2, m3, m3]]
After
direct symbol targets=[m3];NO EPS preclosure inserted into S;now close ONLY these targets
Conditions: none
An arbitrary supplied S need not be EPS-closed;preclosing it would change this operation.Apply move(S,a) and then close its targets.Empty targets yield the legal empty dead state.
Step identifiers and dependencies
Rule: subsetdfa_GIVEN_S_symbol_move_BEFORE_closure_NO_preclose · Uses: G001, S006
S008 · implies
Before
Subset DFA ORIGINAL prefix step1 post-symbol EPS closure:stage=0;seed set=[m3];previous set=[m3]
After
ALL [ORIGINAL edge index,from,to,enabled] EPS rows=[[0, s3, m3, No], [1, s3, d3, No], [4, f3, e13, No], [5, e13, e23, No]];next set=[m3];stable=Yes
Conditions: none
Each addition has a finite EPS predecessor path;every EPS-closed seed superset contains each stage.Finiteness gives the complete least closure,without consuming input.
Step identifiers and dependencies
Rule: subsetdfa_ALL_EPS_fixedpoint_reachability_not_input_consumption · Uses: G001, S007
S009 · implies
Before
Subset DFA ORIGINAL prefix step2:EXACT ORIGINAL supplied S=[m3];symbol=a3;ALL matching ORIGINAL edge rows=[[2, m3, m3]]
After
direct symbol targets=[m3];NO EPS preclosure inserted into S;now close ONLY these targets
Conditions: none
An arbitrary supplied S need not be EPS-closed;preclosing it would change this operation.Apply move(S,a) and then close its targets.Empty targets yield the legal empty dead state.
Step identifiers and dependencies
Rule: subsetdfa_GIVEN_S_symbol_move_BEFORE_closure_NO_preclose · Uses: G001, S008
S010 · implies
Before
Subset DFA ORIGINAL prefix step2 post-symbol EPS closure:stage=0;seed set=[m3];previous set=[m3]
After
ALL [ORIGINAL edge index,from,to,enabled] EPS rows=[[0, s3, m3, No], [1, s3, d3, No], [4, f3, e13, No], [5, e13, e23, No]];next set=[m3];stable=Yes
Conditions: none
Each addition has a finite EPS predecessor path;every EPS-closed seed superset contains each stage.Finiteness gives the complete least closure,without consuming input.
Step identifiers and dependencies
Rule: subsetdfa_ALL_EPS_fixedpoint_reachability_not_input_consumption · Uses: G001, S009
S011 · implies
Before
Subset DFA ORIGINAL prefix step3:EXACT ORIGINAL supplied S=[m3];symbol=b3;ALL matching ORIGINAL edge rows=[[3, m3, f3]]
After
direct symbol targets=[f3];NO EPS preclosure inserted into S;now close ONLY these targets
Conditions: none
An arbitrary supplied S need not be EPS-closed;preclosing it would change this operation.Apply move(S,a) and then close its targets.Empty targets yield the legal empty dead state.
Step identifiers and dependencies
Rule: subsetdfa_GIVEN_S_symbol_move_BEFORE_closure_NO_preclose · Uses: G001, S010
S012 · implies
Before
Subset DFA ORIGINAL prefix step3 post-symbol EPS closure:stage=0;seed set=[f3];previous set=[f3]
After
ALL [ORIGINAL edge index,from,to,enabled] EPS rows=[[0, s3, m3, No], [1, s3, d3, No], [4, f3, e13, Yes], [5, e13, e23, No]];next set=[e13, f3];stable=No
Conditions: none
Each addition has a finite EPS predecessor path;every EPS-closed seed superset contains each stage.Finiteness gives the complete least closure,without consuming input.
Step identifiers and dependencies
Rule: subsetdfa_ALL_EPS_fixedpoint_reachability_not_input_consumption · Uses: G001, S011
S013 · implies
Before
Subset DFA ORIGINAL prefix step3 post-symbol EPS closure:stage=1;seed set=[f3];previous set=[e13, f3]
After
ALL [ORIGINAL edge index,from,to,enabled] EPS rows=[[0, s3, m3, No], [1, s3, d3, No], [4, f3, e13, Yes], [5, e13, e23, Yes]];next set=[e13, e23, f3];stable=No
Conditions: none
Each addition has a finite EPS predecessor path;every EPS-closed seed superset contains each stage.Finiteness gives the complete least closure,without consuming input.
Step identifiers and dependencies
Rule: subsetdfa_ALL_EPS_fixedpoint_reachability_not_input_consumption · Uses: G001, S012
S014 · implies
Before
Subset DFA ORIGINAL prefix step3 post-symbol EPS closure:stage=2;seed set=[f3];previous set=[e13, e23, f3]
After
ALL [ORIGINAL edge index,from,to,enabled] EPS rows=[[0, s3, m3, No], [1, s3, d3, No], [4, f3, e13, Yes], [5, e13, e23, Yes]];next set=[e13, e23, f3];stable=Yes
Conditions: none
Each addition has a finite EPS predecessor path;every EPS-closed seed superset contains each stage.Finiteness gives the complete least closure,without consuming input.
Step identifiers and dependencies
Rule: subsetdfa_ALL_EPS_fixedpoint_reachability_not_input_consumption · Uses: G001, S013
S015 · implies
Before
ORIGINAL word=[a3, a3, a3, b3];direct NFA configuration stage=0;previous configs=[[s3, 0]]
After
ALL enabled [from,ORIGINAL edge index,next] rows=[[[s3, 0], 0, [m3, 0]], [[s3, 0], 1, [d3, 0]]];next configs=[[s3, 0], [m3, 0], [d3, 0]];stable=No
Conditions: none
Compute all reachable configurations in the finite state×input-position graph.Do not replace all states by one chosen run or simply repeat the same DFA routine as a different observation.
Step identifiers and dependencies
Rule: subsetdfa_DIRECT_all_NFA_word_configurations_independent_fixedpoint · Uses: G001, S014
S016 · implies
Before
ORIGINAL word=[a3, a3, a3, b3];direct NFA configuration stage=1;previous configs=[[s3, 0], [m3, 0], [d3, 0]]
After
ALL enabled [from,ORIGINAL edge index,next] rows=[[[s3, 0], 0, [m3, 0]], [[s3, 0], 1, [d3, 0]], [[m3, 0], 2, [m3, 1]]];next configs=[[s3, 0], [m3, 0], [d3, 0], [m3, 1]];stable=No
Conditions: none
Compute all reachable configurations in the finite state×input-position graph.Do not replace all states by one chosen run or simply repeat the same DFA routine as a different observation.
Step identifiers and dependencies
Rule: subsetdfa_DIRECT_all_NFA_word_configurations_independent_fixedpoint · Uses: G001, S015
S017 · implies
Before
ORIGINAL word=[a3, a3, a3, b3];direct NFA configuration stage=2;previous configs=[[s3, 0], [m3, 0], [d3, 0], [m3, 1]]
After
ALL enabled [from,ORIGINAL edge index,next] rows=[[[s3, 0], 0, [m3, 0]], [[s3, 0], 1, [d3, 0]], [[m3, 0], 2, [m3, 1]], [[m3, 1], 2, [m3, 2]]];next configs=[[s3, 0], [m3, 0], [d3, 0], [m3, 1], [m3, 2]];stable=No
Conditions: none
Compute all reachable configurations in the finite state×input-position graph.Do not replace all states by one chosen run or simply repeat the same DFA routine as a different observation.
Step identifiers and dependencies
Rule: subsetdfa_DIRECT_all_NFA_word_configurations_independent_fixedpoint · Uses: G001, S016
S018 · implies
Before
ORIGINAL word=[a3, a3, a3, b3];direct NFA configuration stage=3;previous configs=[[s3, 0], [m3, 0], [d3, 0], [m3, 1], [m3, 2]]
After
ALL enabled [from,ORIGINAL edge index,next] rows=[[[s3, 0], 0, [m3, 0]], [[s3, 0], 1, [d3, 0]], [[m3, 0], 2, [m3, 1]], [[m3, 1], 2, [m3, 2]], [[m3, 2], 2, [m3, 3]]];next configs=[[s3, 0], [m3, 0], [d3, 0], [m3, 1], [m3, 2], [m3, 3]];stable=No
Conditions: none
Compute all reachable configurations in the finite state×input-position graph.Do not replace all states by one chosen run or simply repeat the same DFA routine as a different observation.
Step identifiers and dependencies
Rule: subsetdfa_DIRECT_all_NFA_word_configurations_independent_fixedpoint · Uses: G001, S017
S019 · implies
Before
ORIGINAL word=[a3, a3, a3, b3];direct NFA configuration stage=4;previous configs=[[s3, 0], [m3, 0], [d3, 0], [m3, 1], [m3, 2], [m3, 3]]
After
ALL enabled [from,ORIGINAL edge index,next] rows=[[[s3, 0], 0, [m3, 0]], [[s3, 0], 1, [d3, 0]], [[m3, 0], 2, [m3, 1]], [[m3, 1], 2, [m3, 2]], [[m3, 2], 2, [m3, 3]], [[m3, 3], 3, [f3, 4]]];next configs=[[s3, 0], [m3, 0], [d3, 0], [m3, 1], [m3, 2], [m3, 3], [f3, 4]];stable=No
Conditions: none
Compute all reachable configurations in the finite state×input-position graph.Do not replace all states by one chosen run or simply repeat the same DFA routine as a different observation.
Step identifiers and dependencies
Rule: subsetdfa_DIRECT_all_NFA_word_configurations_independent_fixedpoint · Uses: G001, S018
S020 · implies
Before
ORIGINAL word=[a3, a3, a3, b3];direct NFA configuration stage=5;previous configs=[[s3, 0], [m3, 0], [d3, 0], [m3, 1], [m3, 2], [m3, 3], [f3, 4]]
After
ALL enabled [from,ORIGINAL edge index,next] rows=[[[s3, 0], 0, [m3, 0]], [[s3, 0], 1, [d3, 0]], [[m3, 0], 2, [m3, 1]], [[m3, 1], 2, [m3, 2]], [[m3, 2], 2, [m3, 3]], [[m3, 3], 3, [f3, 4]], [[f3, 4], 4, [e13, 4]]];next configs=[[s3, 0], [m3, 0], [d3, 0], [m3, 1], [m3, 2], [m3, 3], [f3, 4], [e13, 4]];stable=No
Conditions: none
Compute all reachable configurations in the finite state×input-position graph.Do not replace all states by one chosen run or simply repeat the same DFA routine as a different observation.
Step identifiers and dependencies
Rule: subsetdfa_DIRECT_all_NFA_word_configurations_independent_fixedpoint · Uses: G001, S019
S021 · implies
Before
ORIGINAL word=[a3, a3, a3, b3];direct NFA configuration stage=6;previous configs=[[s3, 0], [m3, 0], [d3, 0], [m3, 1], [m3, 2], [m3, 3], [f3, 4], [e13, 4]]
After
ALL enabled [from,ORIGINAL edge index,next] rows=[[[s3, 0], 0, [m3, 0]], [[s3, 0], 1, [d3, 0]], [[m3, 0], 2, [m3, 1]], [[m3, 1], 2, [m3, 2]], [[m3, 2], 2, [m3, 3]], [[m3, 3], 3, [f3, 4]], [[f3, 4], 4, [e13, 4]], [[e13, 4], 5, [e23, 4]]];next configs=[[s3, 0], [m3, 0], [d3, 0], [m3, 1], [m3, 2], [m3, 3], [f3, 4], [e13, 4], [e23, 4]];stable=No
Conditions: none
Compute all reachable configurations in the finite state×input-position graph.Do not replace all states by one chosen run or simply repeat the same DFA routine as a different observation.
Step identifiers and dependencies
Rule: subsetdfa_DIRECT_all_NFA_word_configurations_independent_fixedpoint · Uses: G001, S020
S022 · implies
Before
ORIGINAL word=[a3, a3, a3, b3];direct NFA configuration stage=7;previous configs=[[s3, 0], [m3, 0], [d3, 0], [m3, 1], [m3, 2], [m3, 3], [f3, 4], [e13, 4], [e23, 4]]
After
ALL enabled [from,ORIGINAL edge index,next] rows=[[[s3, 0], 0, [m3, 0]], [[s3, 0], 1, [d3, 0]], [[m3, 0], 2, [m3, 1]], [[m3, 1], 2, [m3, 2]], [[m3, 2], 2, [m3, 3]], [[m3, 3], 3, [f3, 4]], [[f3, 4], 4, [e13, 4]], [[e13, 4], 5, [e23, 4]]];next configs=[[s3, 0], [m3, 0], [d3, 0], [m3, 1], [m3, 2], [m3, 3], [f3, 4], [e13, 4], [e23, 4]];stable=Yes
Conditions: none
Compute all reachable configurations in the finite state×input-position graph.Do not replace all states by one chosen run or simply repeat the same DFA routine as a different observation.
Step identifiers and dependencies
Rule: subsetdfa_DIRECT_all_NFA_word_configurations_independent_fixedpoint · Uses: G001, S021
S023 · implies
Before
ORIGINAL word=[a3, a3, a3, b3];ALL DFA prefix subsets=[[d3, m3, s3], [m3], [m3], [m3], [e13, e23, f3]];independent direct NFA prefix subsets=[[d3, m3, s3], [m3], [m3], [m3], [e13, e23, f3]]
After
prefix_invariant=Yes;accepted=Yes;base is EPS closure of start;for ANY prefix,append one symbol move then finite EPS suffix to obtain EXACTLY all next reachable states
Conditions: none
General equivalence uses arbitrary-prefix induction with both inclusions:every DFA move has an NFA path witness,and any NFA path for the next prefix decomposes into prior prefix,symbol edge and EPS suffix.Intersection with finals then corresponds to a full accepting run.The fixed No only withholds general equivalence from finite word tests alone;it negates neither this invariant/acceptance nor the theorem.
Step identifiers and dependencies
Rule: subsetdfa_GENERAL_arbitrary_prefix_two_inclusions_acceptance_rule · Uses: G001, S022