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

Safe HaskellSafe
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 atom, HasFixity atom, Ord atom) => Formula (Formula atom) atom Source 
(Constants a, Pretty a, HasFixity a) => Formula (Formula a) a Source 
(Pretty atom, HasFixity atom, Ord atom) => Formula (Formula atom) atom Source 
(Predicate p, Function f v) => Formula (Formula v p f) (Predicate p (PTerm v f)) Source 
(Predicate p, Function f v) => Formula (Formula v p f) (Predicate p (PTerm v f)) Source 
(Predicate p, Function f v, Combinable (NormalSentence v p f)) => Formula (NormalSentence v p f) (NormalSentence v p f) Source 
(Predicate p, Function f v) => Formula (Sentence v p f) (Sentence v p f) Source