Copyright | (c) Masahiro Sakai 2016 |
---|---|
License | BSD-style |
Maintainer | masahiro.sakai@gmail.com |
Stability | provisional |
Portability | non-portable |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Extensions | BangPatterns |
ToySolver.QBF
Description
- Mikoláš Janota, William Klieber, Joao Marques-Silva, Edmund Clarke. Solving QBF with Counterexample Guided Refinement. In Theory and Applications of Satisfiability Testing (SAT 2012), pp. 114-128. https://doi.org/10.1007/978-3-642-31612-8_10 https://www.cs.cmu.edu/~wklieber/papers/qbf-cegar-sat-2012.pdf
Synopsis
- data Quantifier
- type Prefix = [(Quantifier, VarSet)]
- normalizePrefix :: Prefix -> Prefix
- quantifyFreeVariables :: Int -> Prefix -> Prefix
- type Matrix = Formula
- litToMatrix :: Lit -> Matrix
- solve :: Int -> Prefix -> Matrix -> IO (Bool, Maybe LitSet)
- solveNaive :: Int -> Prefix -> Matrix -> IO (Bool, Maybe LitSet)
- solveCEGAR :: Int -> Prefix -> Matrix -> IO (Bool, Maybe LitSet)
- solveCEGARIncremental :: Int -> Prefix -> Matrix -> IO (Bool, Maybe LitSet)
- solveQE :: Int -> Prefix -> Matrix -> IO (Bool, Maybe LitSet)
- solveQE_CNF :: Int -> Prefix -> [Clause] -> IO (Bool, Maybe LitSet)
Documentation
data Quantifier Source #
Quantifier
Instances
type Prefix = [(Quantifier, VarSet)] Source #
normalizePrefix :: Prefix -> Prefix Source #
litToMatrix :: Lit -> Matrix Source #
solveNaive :: Int -> Prefix -> Matrix -> IO (Bool, Maybe LitSet) Source #
Naive Algorithm for a Winning Move
solveCEGAR :: Int -> Prefix -> Matrix -> IO (Bool, Maybe LitSet) Source #
Abstraction-Based Algorithm for a Winning Move