sbv-8.16: SMT Based Verification: Symbolic Haskell theorem prover using SMT solving.