sbv: SMT Based Verification: Symbolic Haskell theorem prover using SMT solving. Express properties about Haskell programs and automatically prove them using SMT (Satisfiability Modulo Theories) solvers. [Skip to Readme] DataData.SBVData.SBV.CharData.SBV.ControlData.SBV.DynamicData.SBV.EitherData.SBV.FloatData.SBV.InternalsData.SBV.ListData.SBV.MaybeData.SBV.RationalData.SBV.RegExpData.SBV.SetData.
I am maintaining the software Plug4Green, which is aiming at saving energy in data centres. It is based on Constraint Programming (CP), which is a programming paradigm devoted to solve Constraint Satisfaction Problems (CSP). Plug4Green is written in Java, using the libraries Choco and BtrPlace. While CP was a very good choice and fulfilled most of the requirements, there are some practical drawbac
SMT Based Verification in Haskell. Express properties about Haskell programs and automatically prove them using SMT solvers. View the Project on GitHub LeventErkok/sbv Download ZIP File Download TAR Ball View On GitHub SBV: SMT Based Verification in Haskell Express properties about Haskell programs and automatically prove them using SMT solvers. $ ghci ghci> :m Data.SBV ghci> prove $ \x -> x `shif
I think you’ve all heard me ramble on about the libraries I find interesting, so today it’s with great pleasure that I turn the spotlight over to Tikhon Jelvis. Enjoy! Today we’re going to talk about sbv, a library for interacting with SMT solvers. SBV stands for “SMT-based verification”; SMT itself stands for “SAT modulo theories” and SAT is “Boolean satisfiability” — three layers of acronyms! Lu
Bindings for the Z3 4.x Theorem Prover (https://github.com/Z3Prover/z3). Z3.Base.C provides the raw foreign imports from Z3's C API. Z3.Base does the marshaling of values between Haskell and C, and transparently handles reference counting of Z3 objects for you. Z3.Monad provides a convenient monadic wrapper for the common usage scenario. Examples: https://github.com/IagoAbal/haskell-z3/tree/master
ErsatzはSATソルバの入力をモナドの力で生成してくれるライブラリ。適当にexistsとassertを並べればうまくやってくれるらしい。ということで、数独ソルバを実装してみた。素晴らしい… import Prelude hiding ((||), (&&), not, and, or) import Data.Char import Data.Array import Data.Ix import Data.Word import Control.Monad import Control.Monad.State import Ersatz -- (ersatz-0.2) fieldRange = ((1,1),(9,9)) unique :: Equatable a => [a] -> Bit unique = go [] where go ss (x:xs) = and (map (
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く