import Data.SBV
import Data.SBV.Set
import Data.SBV.Tuple
problem = do
let x = tuple (empty :: SSet Bool, empty :: SSet Bool)
y <- exists_
return $ x ./= y
We get:
*** Data.SBV.interpretSet: Unable to process solver output.
***
*** Kind : {SBool}
*** Received: EApp [ECon "_",ECon "as-array",ECon "k!1"]
*** Reason : Expected a set value, but couldn't decipher the solver output.
***
*** This is either a bug or something SBV currently does not support.
*** Please report this as a feature request!
Received via email from Joshua Moerman.
We get:
Because z3 is producing weird output. Filed here: https://github.com/Z3Prover/z3/issues/2517