Copyright | (c) Masahiro Sakai 2011 |
---|---|
License | BSD-style |
Maintainer | masahiro.sakai@gmail.com |
Stability | provisional |
Portability | non-portable (FlexibleInstances, MultiParamTypeClasses, FunctionalDependencies) |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Arithmetic relations
- data RelOp
- flipOp :: RelOp -> RelOp
- negOp :: RelOp -> RelOp
- showOp :: RelOp -> String
- evalOp :: Ord a => RelOp -> a -> a -> Bool
- data ArithRel e = ArithRel e RelOp e
- fromArithRel :: IsArithRel e r => ArithRel e -> r
- class IsArithRel e r | r -> e where
- (.<.) :: IsArithRel e r => e -> e -> r
- (.<=.) :: IsArithRel e r => e -> e -> r
- (.>=.) :: IsArithRel e r => e -> e -> r
- (.>.) :: IsArithRel e r => e -> e -> r
- (.==.) :: IsArithRel e r => e -> e -> r
- (./=.) :: IsArithRel e r => e -> e -> r
Relational operators
flipOp :: RelOp -> RelOp Source
flipping relational operator
rel (flipOp op) a b
is equivalent to rel op b a
negOp :: RelOp -> RelOp Source
negating relational operator
rel (negOp op) a b
is equivalent to notB (rel op a b)
Relation
Atomic formula
fromArithRel :: IsArithRel e r => ArithRel e -> r Source
DSL
class IsArithRel e r | r -> e where Source
type class for constructing relational formula
IsArithRel e (ArithRel e) | |
IsArithRel (Expr Integer) QFFormula | |
IsArithRel (Expr c) (Formula (Atom c)) |
(.<.) :: IsArithRel e r => e -> e -> r infix 4 Source
constructing relational formula
(.<=.) :: IsArithRel e r => e -> e -> r infix 4 Source
constructing relational formula
(.>=.) :: IsArithRel e r => e -> e -> r infix 4 Source
constructing relational formula
(.>.) :: IsArithRel e r => e -> e -> r infix 4 Source
constructing relational formula
(.==.) :: IsArithRel e r => e -> e -> r infix 4 Source
constructing relational formula
(./=.) :: IsArithRel e r => e -> e -> r infix 4 Source
constructing relational formula