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.
|
|
|