picologic-0.1.2: Utilities for symbolic predicate logic expressions

Safe HaskellSafe
LanguageHaskell2010

Picologic.AST

Synopsis

Documentation

data Expr Source

Constructors

Var Ident

Variable

Neg Expr

Logical negation

Conj Expr Expr

Logical conjunction

Disj Expr Expr

Logical disjunction

Iff Expr Expr

Logical biconditional

Implies Expr Expr

Material implication

newtype Solutions Source

Constructors

Solutions [[Expr]] 

variables :: Expr -> [Ident] Source

Variables in expression

eval :: Ctx -> Expr -> Bool Source

Evaluate expression.

cnf :: Expr -> Expr Source

Conjunctive normal form. (May result in exponential growth)

nnf :: Expr -> Expr Source

Negation normal form. (May result in exponential growth)

simp :: Expr -> Expr Source

Remove tautologies.