This module computes the reachability of states in a parser automaton. It is used to reason about the behavior of an LR(1) automaton after conflict resolution (with some transitions removed). The module implements algorithms for partitioning lookahead symbols with identical behaviors, and uses these partitions to determine the cost of reaching each state with a given lookahead.