jukebox-0.2.3: A first-order reasoning toolbox
Jukebox.HighSat
newtype Sat1 a b Source
Constructors
Fields
Instances
newtype Sat a b c Source
data SatState a Source
type Watch a = a -> Sat1 a () Source
data Form a Source
nt :: Form a -> Form a Source
true :: Form a Source
false :: Form a Source
unique :: [Form a] -> Form a Source
runSat :: Ord b => Watch a -> [b] -> Sat a b c -> IO c Source
runSat1 :: Ord a => Watch a -> Sat1 a b -> IO b Source
atIndex :: (Ord a, Ord b) => b -> Sat1 a c -> Sat a b c Source
solve :: Ord a => [Signed a] -> Sat1 a Bool Source
model :: Ord a => Sat1 a (a -> Bool) Source
modelValue :: Ord a => a -> Sat1 a Bool Source
addForm :: Ord a => Form a -> Sat1 a () Source
flatten :: Ord a => Form a -> Sat1 a [[Lit]] Source
lit :: Ord a => Signed a -> Sat1 a Lit Source
var :: Ord a => a -> Sat1 a Lit Source