| Copyright | (c) Masahiro Sakai 2016 |
|---|---|
| License | BSD-style |
| Maintainer | masahiro.sakai@gmail.com |
| Stability | provisional |
| Portability | non-portable |
| Safe Haskell | Safe-Inferred |
| Language | Haskell2010 |
| Extensions |
|
ToySolver.SAT.Encoder.PB
Contents
Description
- [ES06] N. Eén and N. Sörensson. Translating Pseudo-Boolean Constraints into SAT. JSAT 2:1–26, 2006.
Synopsis
- data Encoder m = Encoder (Encoder m) Strategy
- newEncoder :: PrimMonad m => Encoder m -> m (Encoder m)
- newEncoderWithStrategy :: PrimMonad m => Encoder m -> Strategy -> m (Encoder m)
- encodePBLinAtLeast :: forall m. PrimMonad m => Encoder m -> PBLinAtLeast -> m Lit
- encodePBLinAtLeastWithPolarity :: forall m. PrimMonad m => Encoder m -> Polarity -> PBLinAtLeast -> m Lit
- data Strategy
- showStrategy :: Strategy -> String
- parseStrategy :: String -> Maybe Strategy
- data Polarity = Polarity {}
- negatePolarity :: Polarity -> Polarity
- polarityPos :: Polarity
- polarityNeg :: Polarity
- polarityBoth :: Polarity
- polarityNone :: Polarity
Documentation
Instances
| PrimMonad m => AddCardinality m (Encoder m) Source # | |
| Monad m => AddClause m (Encoder m) Source # | |
| PrimMonad m => AddPBLin m (Encoder m) Source # | |
Defined in ToySolver.SAT.Encoder.PB Methods addPBAtLeast :: Encoder m -> PBLinSum -> Integer -> m () Source # addPBAtMost :: Encoder m -> PBLinSum -> Integer -> m () Source # addPBExactly :: Encoder m -> PBLinSum -> Integer -> m () Source # addPBAtLeastSoft :: Encoder m -> Lit -> PBLinSum -> Integer -> m () Source # addPBAtMostSoft :: Encoder m -> Lit -> PBLinSum -> Integer -> m () Source # addPBExactlySoft :: Encoder m -> Lit -> PBLinSum -> Integer -> m () Source # | |
| Monad m => NewVar m (Encoder m) Source # | |
encodePBLinAtLeast :: forall m. PrimMonad m => Encoder m -> PBLinAtLeast -> m Lit Source #
encodePBLinAtLeastWithPolarity :: forall m. PrimMonad m => Encoder m -> Polarity -> PBLinAtLeast -> m Lit Source #
Configulation
Instances
| Bounded Strategy Source # | |
| Enum Strategy Source # | |
Defined in ToySolver.SAT.Encoder.PB | |
| Show Strategy Source # | |
| Default Strategy Source # | |
Defined in ToySolver.SAT.Encoder.PB | |
| Eq Strategy Source # | |
| Ord Strategy Source # | |
Defined in ToySolver.SAT.Encoder.PB | |
showStrategy :: Strategy -> String Source #
Polarity
negatePolarity :: Polarity -> Polarity Source #