When contracting a vertex with an incoming edge that has auxiliary
variables, we have to be careful not to end up with the same auxiliary
variable in the labels of multiple edges. This could cause problems when
considering paths containing such edges, because we could end up with a
name clash.
The current fix is to rename auxiliary variables when this potential
clash could occur.
In the future we should rethink our versioning strategy, possibly
enforce stronger invariants that would prevent this scenario in the
first place.
When contracting a vertex with an incoming edge that has auxiliary variables, we have to be careful not to end up with the same auxiliary variable in the labels of multiple edges. This could cause problems when considering paths containing such edges, because we could end up with a name clash.
The current fix is to rename auxiliary variables when this potential clash could occur.
In the future we should rethink our versioning strategy, possibly enforce stronger invariants that would prevent this scenario in the first place.
Fixes #51.