toysolver-0.7.0: Assorted decision procedures for SAT, SMT, Max-SAT, PB, MIP, etc
Copyright(c) Masahiro Sakai 2011-2015
LicenseBSD-style
Maintainermasahiro.sakai@gmail.com
Stabilityprovisional
Portabilitynon-portable
Safe HaskellSafe-Inferred
LanguageHaskell2010
Extensions
  • ConstrainedClassMethods
  • MultiParamTypeClasses

ToySolver.Data.FOL.Formula

Description

Formula of first order logic.

Synopsis

Overloaded operations for formula.

Concrete formula

data Formula a Source #

formulas of first order logic

Constructors

T 
F 
Atom a 
And (Formula a) (Formula a) 
Or (Formula a) (Formula a) 
Not (Formula a) 
Imply (Formula a) (Formula a) 
Equiv (Formula a) (Formula a) 
Forall Var (Formula a) 
Exists Var (Formula a) 

Instances

Instances details
Eq a => Eq (Formula a) Source # 
Instance details

Defined in ToySolver.Data.FOL.Formula

Methods

(==) :: Formula a -> Formula a -> Bool #

(/=) :: Formula a -> Formula a -> Bool #

Ord a => Ord (Formula a) Source # 
Instance details

Defined in ToySolver.Data.FOL.Formula

Methods

compare :: Formula a -> Formula a -> Ordering #

(<) :: Formula a -> Formula a -> Bool #

(<=) :: Formula a -> Formula a -> Bool #

(>) :: Formula a -> Formula a -> Bool #

(>=) :: Formula a -> Formula a -> Bool #

max :: Formula a -> Formula a -> Formula a #

min :: Formula a -> Formula a -> Formula a #

Show a => Show (Formula a) Source # 
Instance details

Defined in ToySolver.Data.FOL.Formula

Methods

showsPrec :: Int -> Formula a -> ShowS #

show :: Formula a -> String #

showList :: [Formula a] -> ShowS #

Boolean (Formula c) Source # 
Instance details

Defined in ToySolver.Data.FOL.Formula

Methods

(.=>.) :: Formula c -> Formula c -> Formula c Source #

(.<=>.) :: Formula c -> Formula c -> Formula c Source #

Complement (Formula a) Source # 
Instance details

Defined in ToySolver.Data.FOL.Formula

Methods

notB :: Formula a -> Formula a Source #

MonotoneBoolean (Formula c) Source # 
Instance details

Defined in ToySolver.Data.FOL.Formula

Variables a => Variables (Formula a) Source # 
Instance details

Defined in ToySolver.Data.FOL.Formula

Methods

vars :: Formula a -> VarSet Source #

IfThenElse (Formula c) (Formula c) Source # 
Instance details

Defined in ToySolver.Data.FOL.Formula

Methods

ite :: Formula c -> Formula c -> Formula c -> Formula c Source #

IsOrdRel (Expr c) (Formula (Atom c)) Source # 
Instance details

Defined in ToySolver.Data.FOL.Arith

Methods

(.<.) :: Expr c -> Expr c -> Formula (Atom c) Source #

(.<=.) :: Expr c -> Expr c -> Formula (Atom c) Source #

(.>.) :: Expr c -> Expr c -> Formula (Atom c) Source #

(.>=.) :: Expr c -> Expr c -> Formula (Atom c) Source #

ordRel :: RelOp -> Expr c -> Expr c -> Formula (Atom c) Source #

IsEqRel (Expr c) (Formula (Atom c)) Source # 
Instance details

Defined in ToySolver.Data.FOL.Arith

Methods

(.==.) :: Expr c -> Expr c -> Formula (Atom c) Source #

(./=.) :: Expr c -> Expr c -> Formula (Atom c) Source #

pushNot :: Complement a => Formula a -> Formula a Source #

convert a formula into negation normal form