Closed d4hines closed 4 years ago
SBV acts as a conduit from Haskell to SMT-solvers. It can only handle a subset of Haskell, obviously. That subset is carefully chosen so that the translation should remain decidable when mapped to SMTLib. (http://smtlib.cs.uiowa.edu/) If that's what you mean by completeness, then yes: It's complete for the subset it can handle. But that's not a very usable/useful definition.
I'm not sure if this answer helps. If you have a more concrete question, feel free to elaborate.
No, this indeed answers my questions. Thank you very much.
Hi! This project looks great! I'm curious though - given the supported data types, what are the limits to the completeness of automatic theorems. E.g, it's not possible to prove arbitrary proofs about the full set of Haskell functions over the integers. For what subset of Haskell over what subset of data types is sbv complete w.r.t proofs? Thanks!