toysolver-0.7.0: Assorted decision procedures for SAT, SMT, Max-SAT, PB, MIP, etc
Copyright(c) Masahiro Sakai 2013
LicenseBSD-style
Maintainermasahiro.sakai@gmail.com
Stabilityprovisional
Portabilityportable
Safe HaskellSafe-Inferred
LanguageHaskell2010

ToySolver.Arith.FourierMotzkin.FOL

Description

 
Synopsis

Documentation

solveFormula :: VarSet -> Formula (Atom Rational) -> SatResult Rational Source #

  • solveFormula {x1,…,xm} φ returns Sat M such that M ⊧_LRA φ when such M exists,
  • returns Unsat when such M does not exists, and
  • returns Unknown when φ is beyond LRA.

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

Eliminate quantifiers and returns equivalent quantifier-free formula.

eliminateQuantifiers φ returns (ψ, lift) such that:

  • ψ is a quantifier-free formula and LRA ⊢ ∀y1, …, yn. φ ↔ ψ where {y1, …, yn} = FV(φ) ⊇ FV(ψ), and
  • if M ⊧_LRA ψ then lift M ⊧_LRA φ.

φ may or may not be a closed formula.