cryptol has the ability to :set prover=any. For the same reason that exists, it would be good to have multiple parallel solvers supported in saw. I'm not sure if it would be possible to have a parallel solver combinator par :: ProofScript SatResult -> ProofScript SatResult -> ProofScript SatResult or perhaps pars :: [ProofScript SatResult] -> ProofScript SatResult. If not then I could see benefit even from a blunt tool such as all :: ProofScript SatResult which implicitly uses abc, cvc4, z3, yices, mathsat, and trivial but can't allow more complex scripts such as unint_*.
cryptol has the ability to
:set prover=any
. For the same reason that exists, it would be good to have multiple parallel solvers supported in saw. I'm not sure if it would be possible to have a parallel solver combinatorpar :: ProofScript SatResult -> ProofScript SatResult -> ProofScript SatResult
or perhapspars :: [ProofScript SatResult] -> ProofScript SatResult
. If not then I could see benefit even from a blunt tool such asall :: ProofScript SatResult
which implicitly uses abc, cvc4, z3, yices, mathsat, and trivial but can't allow more complex scripts such asunint_*
.Thoughts?