ersatz-0.2.6.1: 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-Inferred
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.

Minimal complete definition

Nothing

Methods

exists :: (MonadState s m, HasSAT s) => m t Source

forall :: (MonadState s m, HasQSAT s) => m t Source

Instances

Variable Literal 
Variable Bit 
Variable Bit8 
Variable Bit7 
Variable Bit6 
Variable Bit5 
Variable Bit4 
Variable Bit3 
Variable Bit2 
Variable Bit1 
(Variable a, Variable b) => Variable (a, b) 
(Variable a, Variable b, Variable c) => Variable (a, b, c) 
(Variable a, Variable b, Variable c, Variable d) => Variable (a, b, c, d) 
(Variable a, Variable b, Variable c, Variable d, Variable e) => Variable (a, b, c, d, e) 
(Variable a, Variable b, Variable c, Variable d, Variable e, Variable f) => Variable (a, b, c, d, e, f) 
(Variable a, Variable b, Variable c, Variable d, Variable e, Variable f, Variable g) => Variable (a, b, c, d, e, f, g) 

class GVariable f where Source

Methods

gexists :: (MonadState s m, HasSAT s) => m (f a) Source

gforall :: (MonadState s m, HasQSAT s) => m (f a) Source

Instances

GVariable U1 
Variable a => GVariable (K1 i a) 
(GVariable f, GVariable g) => GVariable ((:*:) f g) 
GVariable f => GVariable (M1 i c f)