Explore related knowledge and questions →

Question 23974: Each Recorded Prefix Subset Must Equal All Closed NFA Reachable States

On this page
  1. Original question and givens
  2. Definition and scope
  3. Step-by-step derivation
  4. Reverse checks
  5. Result
  6. This question review and source binding

Return to catalogue page 120

← Question derivation index · Original question batch

R0046-23974 · q-20261014-advance-20261112-r07-subset-construction-nfa-to-dfa-0099

Original question and givens

Use complete epsilon-NFA states=[s23, m23, f23, e123, e223, d23], alphabet=[a23, b23], start=s23, final_states=[f23], transitions=[[s23, null, m23], [s23, null, d23], [m23, a23, m23], [m23, b23, f23], [f23, null, e123], [e123, null, e223]]. Each transition is [from,input symbol or null,to], with null consuming no input. States/labels and transitions must qualify, and subsets are unique carrier subsets sorted lexicographically. Empty alphabet/final sets and empty subset states are allowed. Supplied full input=[a23, a23, a23, b23]. Give (input, DFA_prefix_subsets, direct_NFA_prefix_subsets, prefix_invariant, accepted, certificate, finite_tests_language_equivalence_claim, boundary).

  • G001 — Use complete epsilon-NFA states=[s23, m23, f23, e123, e223, d23], alphabet=[a23, b23], start=s23, final_states=[f23], transitions=[[s23, null, m23], [s23, null, d23], [m23, a23, m23], [m23, b23, f23], [f23, null, e123], [e123, null, e223]]. Each transition is [from,input symbol or null,to], with null consuming no input. States/labels and transitions must qualify, and subsets are unique carrier subsets sorted lexicographically. Empty alphabet/final sets and empty subset states are allowed. Supplied full input=[a23, a23, a23, b23]. Give (input, DFA_prefix_subsets, direct_NFA_prefix_subsets, prefix_invariant, accepted, certificate, finite_tests_language_equivalence_claim, boundary).

Definition and scope

Use the original question domain, assumptions and cited MKO definitions. This item has second-context mathematical and bilingual review, with the model, answer and every arithmetic step independently recomputed from the original parameters; the source question remains a candidate.

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=[s23, m23, f23, e123, e223, d23],alphabet=[a23, b23],start=s23;ORIGINAL transition order=[[s23, null, m23], [s23, null, d23], [m23, a23, m23], [m23, b23, f23], [f23, null, e123], [e123, null, e223]]

After

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

After

ALL [ORIGINAL edge index,from,to,enabled] EPS rows=[[0, s23, m23, Yes], [1, s23, d23, Yes], [4, f23, e123, No], [5, e123, e223, No]];next set=[d23, m23, s23];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=[s23];previous set=[d23, m23, s23]

After

ALL [ORIGINAL edge index,from,to,enabled] EPS rows=[[0, s23, m23, Yes], [1, s23, d23, Yes], [4, f23, e123, No], [5, e123, e223, No]];next set=[d23, m23, s23];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=[d23, m23, s23];symbol=a23;ALL matching ORIGINAL edge rows=[[2, m23, m23]]

After

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

After

ALL [ORIGINAL edge index,from,to,enabled] EPS rows=[[0, s23, m23, No], [1, s23, d23, No], [4, f23, e123, No], [5, e123, e223, No]];next set=[m23];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=[m23];symbol=a23;ALL matching ORIGINAL edge rows=[[2, m23, m23]]

After

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

After

ALL [ORIGINAL edge index,from,to,enabled] EPS rows=[[0, s23, m23, No], [1, s23, d23, No], [4, f23, e123, No], [5, e123, e223, No]];next set=[m23];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=[m23];symbol=a23;ALL matching ORIGINAL edge rows=[[2, m23, m23]]

After

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

After

ALL [ORIGINAL edge index,from,to,enabled] EPS rows=[[0, s23, m23, No], [1, s23, d23, No], [4, f23, e123, No], [5, e123, e223, No]];next set=[m23];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=[m23];symbol=b23;ALL matching ORIGINAL edge rows=[[3, m23, f23]]

After

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

After

ALL [ORIGINAL edge index,from,to,enabled] EPS rows=[[0, s23, m23, No], [1, s23, d23, No], [4, f23, e123, Yes], [5, e123, e223, No]];next set=[e123, f23];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=[f23];previous set=[e123, f23]

After

ALL [ORIGINAL edge index,from,to,enabled] EPS rows=[[0, s23, m23, No], [1, s23, d23, No], [4, f23, e123, Yes], [5, e123, e223, Yes]];next set=[e123, e223, f23];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=[f23];previous set=[e123, e223, f23]

After

ALL [ORIGINAL edge index,from,to,enabled] EPS rows=[[0, s23, m23, No], [1, s23, d23, No], [4, f23, e123, Yes], [5, e123, e223, Yes]];next set=[e123, e223, f23];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=[a23, a23, a23, b23];direct NFA configuration stage=0;previous configs=[[s23, 0]]

After

ALL enabled [from,ORIGINAL edge index,next] rows=[[[s23, 0], 0, [m23, 0]], [[s23, 0], 1, [d23, 0]]];next configs=[[s23, 0], [m23, 0], [d23, 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=[a23, a23, a23, b23];direct NFA configuration stage=1;previous configs=[[s23, 0], [m23, 0], [d23, 0]]

After

ALL enabled [from,ORIGINAL edge index,next] rows=[[[s23, 0], 0, [m23, 0]], [[s23, 0], 1, [d23, 0]], [[m23, 0], 2, [m23, 1]]];next configs=[[s23, 0], [m23, 0], [d23, 0], [m23, 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=[a23, a23, a23, b23];direct NFA configuration stage=2;previous configs=[[s23, 0], [m23, 0], [d23, 0], [m23, 1]]

After

ALL enabled [from,ORIGINAL edge index,next] rows=[[[s23, 0], 0, [m23, 0]], [[s23, 0], 1, [d23, 0]], [[m23, 0], 2, [m23, 1]], [[m23, 1], 2, [m23, 2]]];next configs=[[s23, 0], [m23, 0], [d23, 0], [m23, 1], [m23, 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=[a23, a23, a23, b23];direct NFA configuration stage=3;previous configs=[[s23, 0], [m23, 0], [d23, 0], [m23, 1], [m23, 2]]

After

ALL enabled [from,ORIGINAL edge index,next] rows=[[[s23, 0], 0, [m23, 0]], [[s23, 0], 1, [d23, 0]], [[m23, 0], 2, [m23, 1]], [[m23, 1], 2, [m23, 2]], [[m23, 2], 2, [m23, 3]]];next configs=[[s23, 0], [m23, 0], [d23, 0], [m23, 1], [m23, 2], [m23, 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=[a23, a23, a23, b23];direct NFA configuration stage=4;previous configs=[[s23, 0], [m23, 0], [d23, 0], [m23, 1], [m23, 2], [m23, 3]]

After

ALL enabled [from,ORIGINAL edge index,next] rows=[[[s23, 0], 0, [m23, 0]], [[s23, 0], 1, [d23, 0]], [[m23, 0], 2, [m23, 1]], [[m23, 1], 2, [m23, 2]], [[m23, 2], 2, [m23, 3]], [[m23, 3], 3, [f23, 4]]];next configs=[[s23, 0], [m23, 0], [d23, 0], [m23, 1], [m23, 2], [m23, 3], [f23, 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=[a23, a23, a23, b23];direct NFA configuration stage=5;previous configs=[[s23, 0], [m23, 0], [d23, 0], [m23, 1], [m23, 2], [m23, 3], [f23, 4]]

After

ALL enabled [from,ORIGINAL edge index,next] rows=[[[s23, 0], 0, [m23, 0]], [[s23, 0], 1, [d23, 0]], [[m23, 0], 2, [m23, 1]], [[m23, 1], 2, [m23, 2]], [[m23, 2], 2, [m23, 3]], [[m23, 3], 3, [f23, 4]], [[f23, 4], 4, [e123, 4]]];next configs=[[s23, 0], [m23, 0], [d23, 0], [m23, 1], [m23, 2], [m23, 3], [f23, 4], [e123, 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=[a23, a23, a23, b23];direct NFA configuration stage=6;previous configs=[[s23, 0], [m23, 0], [d23, 0], [m23, 1], [m23, 2], [m23, 3], [f23, 4], [e123, 4]]

After

ALL enabled [from,ORIGINAL edge index,next] rows=[[[s23, 0], 0, [m23, 0]], [[s23, 0], 1, [d23, 0]], [[m23, 0], 2, [m23, 1]], [[m23, 1], 2, [m23, 2]], [[m23, 2], 2, [m23, 3]], [[m23, 3], 3, [f23, 4]], [[f23, 4], 4, [e123, 4]], [[e123, 4], 5, [e223, 4]]];next configs=[[s23, 0], [m23, 0], [d23, 0], [m23, 1], [m23, 2], [m23, 3], [f23, 4], [e123, 4], [e223, 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=[a23, a23, a23, b23];direct NFA configuration stage=7;previous configs=[[s23, 0], [m23, 0], [d23, 0], [m23, 1], [m23, 2], [m23, 3], [f23, 4], [e123, 4], [e223, 4]]

After

ALL enabled [from,ORIGINAL edge index,next] rows=[[[s23, 0], 0, [m23, 0]], [[s23, 0], 1, [d23, 0]], [[m23, 0], 2, [m23, 1]], [[m23, 1], 2, [m23, 2]], [[m23, 2], 2, [m23, 3]], [[m23, 3], 3, [f23, 4]], [[f23, 4], 4, [e123, 4]], [[e123, 4], 5, [e223, 4]]];next configs=[[s23, 0], [m23, 0], [d23, 0], [m23, 1], [m23, 2], [m23, 3], [f23, 4], [e123, 4], [e223, 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=[a23, a23, a23, b23];ALL DFA prefix subsets=[[d23, m23, s23], [m23], [m23], [m23], [e123, e223, f23]];independent direct NFA prefix subsets=[[d23, m23, s23], [m23], [m23], [m23], [e123, e223, f23]]

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

Reverse checks

  • S023 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S022 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S021 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S020 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S019 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S018 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S017 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S016 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S015 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S014 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S013 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S012 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S011 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S010 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S009 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S008 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S007 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S006 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S005 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S004 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S003 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S002 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S001 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.

Result

([a23, a23, a23, b23], [[d23, m23, s23], [m23], [m23], [m23], [e123, e223, f23]], [[d23, m23, s23], [m23], [m23], [m23], [e123, e223, f23]], Yes, Yes, each_DFA_prefix_subset_equals_all_epsilon_closed_NFA_states_reachable_after_that_prefix, No, finite_word_tests_do_not_prove_language_equivalence_without_the_prefix_induction_invariant)

The full substitutions and premise checks give the original answer; source identity,format and status are unchanged.

This question review and source binding

Review date: 2026-10-26

Original questions, answers, step expressions, numeric ASTs and historical records are retained. Source candidate labels remain historical and are not overwritten as formal proof.

Source hashes and review receipts
  • input commit: 0f7be61e2c22317a4075561dc822c87d881a50db
  • original question SHA-256: 537b93cdc0fbffbb8a97ba0c0ee8120ef8877b43092ac9e9cb614ac42759d1e8
  • candidate record SHA-256: 028b91033cfac9c1343c3bb061357520f3df407bd89581fb0d5dced04193b53d
  • semantic review receipt SHA-256: a7c0d888ade6d307703c4222c4137c78c0d2448babdcba2fa3446fe6fdd343c1
  • question-first witness SHA-256: c9571f97a37d503ad6a61034cc00108543a05c37ef246d1c4962f55136a3de02
  • Lean: NOT_RUN · human review: NOT_PERFORMED
Same-source full JSON