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.