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

Portabilitynon-portable (FlexibleInstances, MultiParamTypeClasses, FunctionalDependencies)
Stabilityprovisional
Maintainermasahiro.sakai@gmail.com
Safe HaskellSafe-Inferred

Data.ArithRel

Contents

Description

Arithmetic relations

Synopsis

Relational operators

data RelOp Source

relational operators

Constructors

Lt 
Le 
Ge 
Gt 
Eql 
NEq 

Instances

flipOp :: RelOp -> RelOpSource

flipping relational operator

rel (flipOp op) a b is equivalent to rel op b a

negOp :: RelOp -> RelOpSource

negating relational operator

rel (negOp op) a b is equivalent to notB (rel op a b)

showOp :: RelOp -> StringSource

operator symbol

evalOp :: Ord a => RelOp -> a -> a -> BoolSource

evaluate an operator into a comparision function

Relation

data Rel e Source

Atomic formula

Constructors

Rel e RelOp e 

Instances

Functor Rel 
IsRel e (Rel e) 
Eq e => Eq (Rel e) 
Ord e => Ord (Rel e) 
Show e => Show (Rel e) 
Variables e => Variables (Rel e) 
Complement (Rel c) 
IsRel (Expr c) (Formula (Atom c)) 

DSL

class IsRel e r | r -> e whereSource

type class for constructing relational formula

Methods

rel :: RelOp -> e -> e -> rSource

Instances

(.<.) :: IsRel e r => e -> e -> rSource

constructing relational formula

(.<=.) :: IsRel e r => e -> e -> rSource

constructing relational formula

(.>=.) :: IsRel e r => e -> e -> rSource

constructing relational formula

(.>.) :: IsRel e r => e -> e -> rSource

constructing relational formula

(.==.) :: IsRel e r => e -> e -> rSource

constructing relational formula

(./=.) :: IsRel e r => e -> e -> rSource

constructing relational formula