logic-classes-1.5.2: Framework for propositional and first order logic, theorem proving

Safe HaskellSafe-Inferred
LanguageHaskell98

Data.Logic.Classes.Formula

Documentation

class Formula formula atom | formula -> atom where Source

Methods

atomic :: atom -> formula Source

foldAtoms :: Formula formula atom => (r -> atom -> r) -> r -> formula -> r Source

mapAtoms :: Formula formula atom => (atom -> formula) -> formula -> formula Source

Instances

(Pretty a, HasFixity a, Ord a) => Formula (PropForm a) a 
(Pretty atom, HasFixity atom, Ord atom) => Formula (Formula atom) atom 
(Constants a, Pretty a, HasFixity a) => Formula (Formula a) a 
(Pretty atom, HasFixity atom, Ord atom) => Formula (Formula atom) atom 
(Predicate p, Function f v) => Formula (Formula v p f) (Predicate p (PTerm v f)) 
(Predicate p, Function f v) => Formula (Formula v p f) (Predicate p (PTerm v f)) 
(Predicate p, Function f v, Combinable (NormalSentence v p f)) => Formula (NormalSentence v p f) (NormalSentence v p f) 
(Predicate p, Function f v) => Formula (Sentence v p f) (Sentence v p f)