OCamlPro / alt-ergo

OCamlPro public development repository for Alt-Ergo
https://alt-ergo.ocamlpro.com/
Other
132 stars 33 forks source link

Improving reasoning for the BV theory #903

Open Halbaroth opened 1 year ago

Halbaroth commented 1 year ago

This umbrella issue tracks the progression of the BV theory reasoning. Please add related issue here and what we plan to improve in the future.

bclement-ocp commented 8 months ago

Some updates here:

Halbaroth commented 2 months ago

I think we can remove the milestone on this issue because we do not plan extra works on it before the next release.

bclement-ocp commented 2 months ago

Yes, we won't have constraint simplification for 2.6. Let's keep it to track bv2nat(bvadd) support.

bclement-ocp commented 2 months ago

I wanted to implement support for bv2nat applied to bvadd etc. operators but did not find the time — or rather, I have several tentative implementations that need to be rebased and compared to figure out which one to use, which I won't have time to do for this release.

We already have many bv improvements, and these changes only add a small additional improvement for the bv2nat problems from our partners (~ 0.2% more problems solved) so it will have to wait for the next release. I'll try to cut a point release once it is integrated.

bclement-ocp commented 2 months ago

I said this but then realised we are not even able to prove that (int2bv (+ (bv2nat x) (bv2nat y)) and (bvadd x y) are equal currently, so that's annoying. I will make a small patch for that.

bclement-ocp commented 2 months ago

Turns out this is somewhat rendered useless by #1228 which at least partially explain why I was seeing so little impact here.

bclement-ocp commented 2 months ago

Postponing the remaining tasks here to 2.7