atp-haskell-1.14.3: Translation from Ocaml to Haskell of John Harrison's ATP code
Safe HaskellSafe-Inferred
LanguageHaskell2010

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

Instances details
IsLiteral a => IsFormula (JL a) Source # 
Instance details

Defined in Data.Logic.ATP.LitWrapper

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) => IsLiteral (JL a) Source # 
Instance details

Defined in Data.Logic.ATP.LitWrapper

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 #

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

Defined in Data.Logic.ATP.LitWrapper

HasFixity a => HasFixity (JL a) Source # 
Instance details

Defined in Data.Logic.ATP.LitWrapper

Pretty a => Pretty (JL a) Source # 
Instance details

Defined in Data.Logic.ATP.LitWrapper

Methods

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

pPrint :: JL a -> Doc #

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

type AtomOf (JL a) Source # 
Instance details

Defined in Data.Logic.ATP.LitWrapper

type AtomOf (JL a) = AtomOf a