toysolver-0.1.0: Assorted decision procedures for SAT, Max-SAT, PB, MIP, etc

Copyright(c) Masahiro Sakai 2011
LicenseBSD-style
Maintainermasahiro.sakai@gmail.com
Stabilityprovisional
Portabilitynon-portable (FlexibleInstances)
Safe HaskellNone
LanguageHaskell2010

ToySolver.Cooper

Contents

Description

Synopsis

Language of presburger arithmetics

type ExprZ = Expr Integer Source

Linear arithmetic expression over integers.

data Lit Source

Literal

  • Pos e means e > 0
  • Divisible True d e means e can be divided by d (i.e. d|e)
  • Divisible False d e means e can not be divided by d (i.e. ¬(d|e))

Projection

Quantifier elimination

eliminateQuantifiers :: Formula (Atom Rational) -> Maybe QFFormula Source

eliminate quantifiers and returns equivalent quantifier-free formula.

Constraint solving

solve :: VarSet -> [Atom Rational] -> Maybe (Model Integer) Source

solve a (open) quantifier-free formula

solveQFLA :: VarSet -> [Atom Rational] -> VarSet -> Maybe (Model Rational) Source

solve a (open) quantifier-free formula