This module defines some operation to support the construction of Boolean formulas.
Author: Sven Hueser
Version: July 2021
va
:: Int -> Boolean A Boolean variable with an index. |
no
:: Boolean -> Boolean Boolean negation. |
nv
:: Int -> Boolean Negated variable with an index. |
(./\)
:: Boolean -> Boolean -> Boolean Conjunction. |
(.\/)
:: Boolean -> Boolean -> Boolean Disjunction. |
xor
:: Boolean -> Boolean -> Boolean Exclusive or. |
nnf
:: Boolean -> Boolean |
cnf
:: Boolean -> Boolean |
dist
:: Boolean -> Boolean -> Boolean |
flatten
:: Boolean -> Boolean |
flattenAnd
:: [Boolean] -> [Boolean] |
flattenOr
:: [Boolean] -> [Boolean] |
nubB
:: Boolean -> Boolean |
toCNF
:: Boolean -> Boolean |
filterTauts
:: Boolean -> Boolean |
isTaut
:: Boolean -> Bool |
A Boolean variable with an index. Note that the index should be a positive number.
|
Boolean negation.
|
Negated variable with an index. Note that the index should be a positive number. |
Conjunction.
|
Disjunction.
|
|
|