epfl-lara / ScalaZ3

DSL in Scala for Constraint Solving with Z3 SMT Solver
Apache License 2.0
122 stars 34 forks source link

Support for SMTLIB2's IEEE Floats #87

Open Dessix opened 5 months ago

Dessix commented 5 months ago

The Z3 docs describe support for floats that has been added over the past few years, and which may resolve outstanding issues - namely #75 - and would expand the capabilities of the library.

This appears to be implemented in Z3's backend as a float system built upon BitVector arithmetic, presumably alongside tactics for linearization.

This appears to be unsupported in any of the current DSLs for SMTLIB present in the Scala ecosystem, as well as within the Haskell and Rust ecosystems (barring broken partial implementations), and may allow this library to gain a larger audience alongside the added utility.

mario-bucev commented 5 months ago

Hello! The development of this library is (for better or worse!) guided by what we need for Stainless. We should eventually (in the near future) add them but I sadly cannot foretell when exactly.