module PureSAT.LBool (
    LBool (..),
) where

-------------------------------------------------------------------------------
-- LBool
-------------------------------------------------------------------------------

data LBool = LFalse | LTrue | LUndef
  deriving (LBool -> LBool -> Bool
(LBool -> LBool -> Bool) -> (LBool -> LBool -> Bool) -> Eq LBool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: LBool -> LBool -> Bool
== :: LBool -> LBool -> Bool
$c/= :: LBool -> LBool -> Bool
/= :: LBool -> LBool -> Bool
Eq, Eq LBool
Eq LBool =>
(LBool -> LBool -> Ordering)
-> (LBool -> LBool -> Bool)
-> (LBool -> LBool -> Bool)
-> (LBool -> LBool -> Bool)
-> (LBool -> LBool -> Bool)
-> (LBool -> LBool -> LBool)
-> (LBool -> LBool -> LBool)
-> Ord LBool
LBool -> LBool -> Bool
LBool -> LBool -> Ordering
LBool -> LBool -> LBool
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: LBool -> LBool -> Ordering
compare :: LBool -> LBool -> Ordering
$c< :: LBool -> LBool -> Bool
< :: LBool -> LBool -> Bool
$c<= :: LBool -> LBool -> Bool
<= :: LBool -> LBool -> Bool
$c> :: LBool -> LBool -> Bool
> :: LBool -> LBool -> Bool
$c>= :: LBool -> LBool -> Bool
>= :: LBool -> LBool -> Bool
$cmax :: LBool -> LBool -> LBool
max :: LBool -> LBool -> LBool
$cmin :: LBool -> LBool -> LBool
min :: LBool -> LBool -> LBool
Ord, Int -> LBool -> ShowS
[LBool] -> ShowS
LBool -> String
(Int -> LBool -> ShowS)
-> (LBool -> String) -> ([LBool] -> ShowS) -> Show LBool
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> LBool -> ShowS
showsPrec :: Int -> LBool -> ShowS
$cshow :: LBool -> String
show :: LBool -> String
$cshowList :: [LBool] -> ShowS
showList :: [LBool] -> ShowS
Show)