sbv-program: Component-based program synthesis using SBV

[ bit-vectors, bsd3, formal-methods, library, smt, symbolic-computation ] [ Propose Tags ]

Given a library of available componen functions, synthesize a program implementing a specification.

[Skip to Readme]


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Versions [RSS],
Dependencies base (<5), bifunctors (>=5.5.13 && <5.6), containers (>=0.6.5 && <0.7), pretty-simple (>=4.1.2 && <4.2), sbv (>=9.0 && <9.1) [details]
License BSD-3-Clause
Copyright 2023 Gleb Popov
Author Gleb Popov
Category SMT, Symbolic Computation, Bit vectors, Formal Methods
Home page
Bug tracker
Source repo head: git clone
Uploaded by arrowd at 2023-01-26T17:05:14Z
Downloads 120 total (10 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
All reported builds failed as of 2023-01-26 [all 1 reports]

Readme for sbv-program-

[back to package description]

Component-based synthesis of loop-free programs

This package implements a library for synthesizing programs as described in the Component-based Synthesis Applied to Bitvector Programs paper. It uses an off-the-shelf SMT solver via sbv library.

See Examples.hs file to quickly get at how to use this. For deeper understanding of library's internals see the Haddock documentation.

The code is structured and commented in such way that it follows variable naming of the original paper.