Summary: `Sh.and_ b q` normalizes `b` using the equality context of `q` and then conjoins the result to `q`. This is incorrect in case normalizing `b` results in expressing it using existentials of `q`, which takes the existentials out of their scope. So this diff changes from essentially `(∃x.Q) ∧ B = (∃x.Q) ∧ (∃x.Bρ)` to `(∃x.Q) ∧ B = (∃x'.Q[x'/x] ∧ Bρ)` where `ρ` is the substitution that normalizes with respect to the equality context. Reviewed By: jvillard Differential Revision: D26250536 fbshipit-source-id: 05f5c48c0master
parent
05e1e52f0a
commit
5c07232ea3
Loading…
Reference in new issue