Summary: Fix a crash that occurs when subtrahend has an existential variable that was renamed as in the test. The crash is due to an assertion in `Sh.exists` that says only variables in the vocabulary can be existentialy quantifed out. The problem was `Sh.exists` call in Solver.ml:611. Where `ws` (existentials of the subthrehend) are not present in the vocabulary of the remainder. This is because remainder "inheirts" the vocabulary of the minued. This fix simply extends the vocabulary of minued with `ws`, which means the remaainder has the correct vocabulary. This should have no externally visible effect as `ws` are then existentialed out. Another option would be to try to change all the `excise_seg` functions, to keep the vocabulary, but that looked annoying to implement. Reviewed By: jvillard Differential Revision: D16201423 fbshipit-source-id: b88c3abc4master
parent
124036ea0b
commit
8173eedf1f
Loading…
Reference in new issue