Description
Trace a symbol sequence through a partial deterministic transition table with state and transition-index provenance.
A deterministic transition maps a state and one literal alphabet symbol to at most one next state. A partial table may leave some pairs undefined; a complete table defines every state/symbol pair. Tracing one word, exploring all graph paths and changing the accepting set are distinct operations. IDs and symbols use exact string identity.
Trace a symbol sequence through a partial deterministic transition table with state and transition-index provenance.
When to use this tool
Use the full state trace to inspect every successful step and its original transition record.
How to use the tool and how it works
- Enter transitionsJson, start, symbols using the definitions below. Serialize JSON text fields in the decoded shape shown below.
- Run the operation. Resolve input-format errors before interpreting an output.
- Read result.states, result.edges, result.undefinedAt, using the stated boundary, ordering, sign and absence conventions.
Begin with the start state, follow one exact transition key per supplied symbol, and append the reached state and original transition index. Stop before a missing step.1
| Input field | Meaning and units | Accepted input |
|---|---|---|
| transitionsJson | JSON array of {from,symbol,to} literal string records, preserving transition indexes. Determinism is checked or audited as described above. | Text, at most 8,192 UTF-16 code units; narrower grammar/range rules also apply. |
| start | Literal starting state. Graph operations with a declared state bank require it to be present there. | Text, at most 8,192 UTF-16 code units; narrower grammar/range rules also apply. |
| symbols | Ordered input symbols to consume, each a literal string. This list is a word, not the declared alphabet. | Dense list of at most 128 literal strings, each at most 8,192 UTF-16 units. |
These decoded structures show the examples inside JSON text fields. Supply their serialized JSON strings as input.
{
"transitionsJson": [
{
"from": "a",
"symbol": "x",
"to": "b"
},
{
"from": "b",
"symbol": "x",
"to": "b"
}
]
} | Output field | Interpretation |
|---|---|
| result | Object containing the fields below. |
| result.states | State trace or state inventory in the precise initial-state/discovery/bank order described above. |
| result.edges | Original transition indexes used by the trace, one per successful consumed symbol. |
| result.undefinedAt | First input-symbol index with no transition, or null when all symbols were consumed. |
{
"input": {
"transitionsJson": "[{\"from\": \"a\", \"symbol\": \"x\", \"to\": \"b\"}, {\"from\": \"b\", \"symbol\": \"x\", \"to\": \"b\"}]",
"start": "a",
"symbols": [
"x",
"x"
]
},
"output": {
"result": {
"states": [
"a",
"b",
"b"
],
"edges": [
0,
1
],
"undefinedAt": null
}
}
} Limitations and assumptions
- The states list always includes start, even for empty input. undefinedAt is null after a complete trace or the first missing input index otherwise; no implicit sink is appended.
- Transition JSON is an array of {from,symbol,to} string records. Tools requiring a declared automaton use a nonempty distinct state bank and distinct alphabet, validate endpoints and symbols, and reject duplicate [from,symbol] keys. Trace-only tools validate keys without inferring a declared universe. No normalization or implicit sink is provided.
- Every declared outer field is required and unknown outer fields are rejected. Strings and JSON text have size limits, lists are bounded to 128 entries, and JSON nesting/node counts are bounded. Tighter operation-specific bounds stated above take precedence.
- Numeric outputs must remain finite and within safe-integer magnitude. Original record indexes and cell coordinates are zero-based; stated half-open ranges exclude their end.
Alternative or Complementary methods
Use endpoint and duplicate-key audits before transformations. Check completeness before complementing an accepting set, and preserve the declared alphabet, start-state convention and acceptance policy with exported tables.
References
Similar or alternative tools
- DFA First Undefined Transition Finder
Locate the first undefined step of a partial deterministic trace and retain its state and requested symbol.
- DFA Symbol Sequence Acceptance
Check acceptance of a supplied word only when every step is defined and its final state is accepting.