Safe Haskell | None |
---|
- class (Negatable lit, Constants lit, HasFixity atom, Formula lit atom, Ord lit) => Literal lit atom | lit -> atom where
- foldLiteral :: (lit -> r) -> (Bool -> r) -> (atom -> r) -> lit -> r
- zipLiterals :: Literal lit atom => (lit -> lit -> Maybe r) -> (Bool -> Bool -> Maybe r) -> (atom -> atom -> Maybe r) -> lit -> lit -> Maybe r
- toPropositional :: forall lit atom pf atom2. (Literal lit atom, PropositionalFormula pf atom2) => (atom -> atom2) -> lit -> pf
- prettyLit :: forall lit atom v. Literal lit atom => (Int -> atom -> Doc) -> (v -> Doc) -> Int -> lit -> Doc
- foldAtomsLiteral :: Literal lit atom => (r -> atom -> r) -> r -> lit -> r
Documentation
class (Negatable lit, Constants lit, HasFixity atom, Formula lit atom, Ord lit) => Literal lit atom | lit -> atom whereSource
Literals are the building blocks of the clause and implicative normal |forms. They support negation and must include True and False elements.
foldLiteral :: (lit -> r) -> (Bool -> r) -> (atom -> r) -> lit -> rSource
(Pretty atom, HasFixity atom, Ord atom) => Literal (Formula atom) atom | |
(HasFixity atom, Pretty atom, Ord atom) => Literal (Formula atom) atom | |
Formula (Formula FOLEQ) FOLEQ => Literal (Formula FOLEQ) FOLEQ | |
(Constants p, Ord v, Ord p, Ord f, Constants (Predicate p (PTerm v f)), Formula (Formula v p f) (Predicate p (PTerm v f))) => Literal (Formula v p f) (Predicate p (PTerm v f)) |
zipLiterals :: Literal lit atom => (lit -> lit -> Maybe r) -> (Bool -> Bool -> Maybe r) -> (atom -> atom -> Maybe r) -> lit -> lit -> Maybe rSource
toPropositional :: forall lit atom pf atom2. (Literal lit atom, PropositionalFormula pf atom2) => (atom -> atom2) -> lit -> pfSource
prettyLit :: forall lit atom v. Literal lit atom => (Int -> atom -> Doc) -> (v -> Doc) -> Int -> lit -> DocSource
foldAtomsLiteral :: Literal lit atom => (r -> atom -> r) -> r -> lit -> rSource