module PPOL.Sat.Tools
(
	solveAllSolutions
, 
)
where

import qualified Data.List  as List
import qualified Data.Map   as Map
import qualified Data.Maybe as Maybe

import qualified PPOL.Sat.Formula  as F
import qualified PPOL.Sat.Clause   as C
import qualified PPOL.Sat.Literal  as L
import qualified PPOL.Sat.Variable as V

:: [V.Variable a] -> Map.Map (V.Variable a) -> [Map.Map (V.Variable a)]

assignementToClause :: Map.Map (V.Variable a) -> Bool

solveAllSolutions :: (Ord a) => Formula a -> [Map.Map (V.Variable a) Bool]