Copyright | (c) Masahiro Sakai 2011-2013 |
---|---|
License | BSD-style |
Maintainer | masahiro.sakai@gmail.com |
Stability | provisional |
Portability | portable |
Safe Haskell | None |
Language | Haskell2010 |
Documentation
eliminateQuantifiers :: Formula (Atom Rational) -> Maybe QFFormula Source
Eliminate quantifiers and returns equivalent quantifier-free formula.
returns eliminateQuantifiers
φ(ψ, lift)
such that:
- ψ is a quantifier-free formula and
LIA ⊢ ∀y1, …, yn. φ ↔ ψ
where{y1, …, yn} = FV(φ) ⊇ FV(ψ)
, and - if
M ⊧_LIA ψ
thenlift M ⊧_LIA φ
.
φ may or may not be a closed formula.
solveFormula :: VarSet -> Formula (Atom Rational) -> SatResult Integer Source
solveFormula
{x1,…,xm} φ
- returns
such thatSat
MM ⊧_LIA φ
when suchM
exists, - returns
when suchUnsat
M
does not exists, and - returns
whenUnknown
φ
is beyond LIA.