Function Simplify-Boolean-Form
(
simplify-boolean-form < form > )
Makes the following simplifications on form:
(not false) -> true
(not true) -> false
(not (not x)) -> x
(or) -> false
(or x) -> x
(or x... false y...) -> (or x... y...)
(or x... true y...) -> true
(or x... (or y...) z...) -> (or x... y... z...)
(and) -> true
(and x) -> x
(and x... true y...) -> (and x... y...)
(and x... false y...) -> false
(and x... (and y...) z...) -> (and x... y... z...)
where x, y and z are arbitrary objects and '...' means zero or more occurence,
and false/true means a generalized boolean literal.