ersatz-0.4.2: A monad for expressing SAT or QSAT problems using observable sharing.

Copyright© Edward Kmett 2010-2014 Johan Kiviniemi 2013
LicenseBSD3
MaintainerEdward Kmett <ekmett@gmail.com>
Stabilityexperimental
Portabilitynon-portable
Safe HaskellSafe
LanguageHaskell2010

Ersatz.Variable

Description

 

Synopsis

Documentation

class Variable t where Source #

Instances for this class for product-like types can be automatically derived for any type that is an instance of Generic.

Methods

literally :: (HasSAT s, MonadState s m) => m Literal -> m t Source #

literally :: (HasSAT s, MonadState s m, Generic t, GVariable (Rep t)) => m Literal -> m t Source #

Instances

Variable Literal Source # 

Methods

literally :: (HasSAT s, MonadState s m) => m Literal -> m Literal Source #

Variable Bit Source # 

Methods

literally :: (HasSAT s, MonadState s m) => m Literal -> m Bit Source #

Variable Bit8 Source # 

Methods

literally :: (HasSAT s, MonadState s m) => m Literal -> m Bit8 Source #

Variable Bit7 Source # 

Methods

literally :: (HasSAT s, MonadState s m) => m Literal -> m Bit7 Source #

Variable Bit6 Source # 

Methods

literally :: (HasSAT s, MonadState s m) => m Literal -> m Bit6 Source #

Variable Bit5 Source # 

Methods

literally :: (HasSAT s, MonadState s m) => m Literal -> m Bit5 Source #

Variable Bit4 Source # 

Methods

literally :: (HasSAT s, MonadState s m) => m Literal -> m Bit4 Source #

Variable Bit3 Source # 

Methods

literally :: (HasSAT s, MonadState s m) => m Literal -> m Bit3 Source #

Variable Bit2 Source # 

Methods

literally :: (HasSAT s, MonadState s m) => m Literal -> m Bit2 Source #

Variable Bit1 Source # 

Methods

literally :: (HasSAT s, MonadState s m) => m Literal -> m Bit1 Source #

Variable BitChar Source # 

Methods

literally :: (HasSAT s, MonadState s m) => m Literal -> m BitChar Source #

(Variable a, Variable b) => Variable (a, b) Source # 

Methods

literally :: (HasSAT s, MonadState s m) => m Literal -> m (a, b) Source #

(Variable a, Variable b, Variable c) => Variable (a, b, c) Source # 

Methods

literally :: (HasSAT s, MonadState s m) => m Literal -> m (a, b, c) Source #

(Variable a, Variable b, Variable c, Variable d) => Variable (a, b, c, d) Source # 

Methods

literally :: (HasSAT s, MonadState s m) => m Literal -> m (a, b, c, d) Source #

(Variable a, Variable b, Variable c, Variable d, Variable e) => Variable (a, b, c, d, e) Source # 

Methods

literally :: (HasSAT s, MonadState s m) => m Literal -> m (a, b, c, d, e) Source #

(Variable a, Variable b, Variable c, Variable d, Variable e, Variable f) => Variable (a, b, c, d, e, f) Source # 

Methods

literally :: (HasSAT s, MonadState s m) => m Literal -> m (a, b, c, d, e, f) Source #

(Variable a, Variable b, Variable c, Variable d, Variable e, Variable f, Variable g) => Variable (a, b, c, d, e, f, g) Source # 

Methods

literally :: (HasSAT s, MonadState s m) => m Literal -> m (a, b, c, d, e, f, g) Source #

forall :: (Variable a, MonadState s m, HasQSAT s) => m a Source #

exists :: (Variable a, MonadState s m, HasSAT s) => m a Source #

class GVariable f where Source #

Minimal complete definition

gliterally

Methods

gliterally :: (MonadState s m, HasSAT s) => m Literal -> m (f a) Source #

Instances

GVariable (U1 *) Source # 

Methods

gliterally :: (MonadState s m, HasSAT s) => m Literal -> m (U1 * a) Source #

Variable a => GVariable (K1 * i a) Source # 

Methods

gliterally :: (MonadState s m, HasSAT s) => m Literal -> m (K1 * i a a) Source #

(GVariable f, GVariable g) => GVariable ((:*:) * f g) Source # 

Methods

gliterally :: (MonadState s m, HasSAT s) => m Literal -> m ((* :*: f) g a) Source #

GVariable f => GVariable (M1 * i c f) Source # 

Methods

gliterally :: (MonadState s m, HasSAT s) => m Literal -> m (M1 * i c f a) Source #