atp-haskell-1.14: Translation from Ocaml to Haskell of John Harrison's ATP code

Safe HaskellNone
LanguageHaskell98

Data.Logic.ATP.LitWrapper

Synopsis

Documentation

data JL a Source #

Wrapper type to make an IsLiteral value that happens to also be JustLiteral. The JL constructor is not exported, JL values can be built using convertToLiteral.

Instances

Pretty a => Pretty (JL a) Source # 

Methods

pPrintPrec :: PrettyLevel -> Rational -> JL a -> Doc #

pPrint :: JL a -> Doc #

pPrintList :: PrettyLevel -> [JL a] -> Doc #

HasFixity a => HasFixity (JL a) Source # 
IsLiteral a => IsFormula (JL a) Source # 

Associated Types

type AtomOf (JL a) :: * Source #

Methods

true :: JL a Source #

false :: JL a Source #

asBool :: JL a -> Maybe Bool Source #

atomic :: AtomOf (JL a) -> JL a Source #

overatoms :: (AtomOf (JL a) -> r -> r) -> JL a -> r -> r Source #

onatoms :: (AtomOf (JL a) -> AtomOf (JL a)) -> JL a -> JL a Source #

(IsFormula (JL a), IsLiteral a) => JustLiteral (JL a) Source # 
(IsFormula (JL a), IsLiteral a) => IsLiteral (JL a) Source # 

Methods

naiveNegate :: JL a -> JL a Source #

foldNegation :: (JL a -> r) -> (JL a -> r) -> JL a -> r Source #

foldLiteral' :: (JL a -> r) -> (JL a -> r) -> (Bool -> r) -> (AtomOf (JL a) -> r) -> JL a -> r Source #

type AtomOf (JL a) Source # 
type AtomOf (JL a) = AtomOf a