Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Instances For
Equations
Instances For
Intuition: given that we reached i₀ (from nfa.start) with it₀ and update₀, the εClosure
traversal first puts states reachable from i₀ into the stack with an appropriate update list.
Next, the traversal pops the states from the stack and writes them to next, recording the update
list to updates for the necessary states. Since we only care about ε-transitions, the iterator
doesn't change during the traversal.
At the end of the traversal, we can guarantee that all states in next were already in states₀ or
they are reachable from i₀ with the updates written to next.updates.
Instances For
All new states in next' are reachable from the starting state i₀ and have corresponding updates in next'.updates.
Upper invariant at the start of the εClosure traversal.
εClosure inserts all states in the ε-closure of i into next.states.
All states in next'.states are already in next.states or they are reachable from i with the
updates written to next'.updates.
For all states in the ε-closure of i, it's already in next.states or there is a path from i
whose updates are written to next.updates. The written update list can be different since the
traversal may have reached the state through a different path.