Safe Haskell | Safe-Inferred |
---|

- class Negatable formula where
- negatePrivate :: formula -> formula
- foldNegation :: (formula -> r) -> (formula -> r) -> formula -> r

- negated :: Negatable formula => formula -> Bool
- (.~.) :: Negatable formula => formula -> formula
- (¬) :: Negatable formula => formula -> formula
- negative :: Negatable formula => formula -> Bool
- positive :: Negatable formula => formula -> Bool

# Documentation

class Negatable formula whereSource

The class of formulas that can be negated. There are some types
that can be negated but do not support the other Boolean Logic
operators, such as the `Literal`

class.

negatePrivate :: formula -> formulaSource

Negate a formula in a naive fashion, the operators below prevent double negation.

:: (formula -> r) | called for normal formulas |

-> (formula -> r) | called for negated formulas |

-> formula | |

-> r |

Test whether a formula is negated or normal